SixXS

Tunnel Information and Control protocol (TIC)

The Tunnel Information and Control protocol allows programs to retrieve and modify configuration settings in the SixXS system. This allows automatic tunnel client configuration and setup without much user intervention or knowlegde of either IPv6 or tunneling.

AICCU supports and uses this service IANA has allocated port 3874 for this service.

Protocol

This Configuration service uses a client/server protocol somewhat like SMTP using "200" for noting successful commands and "400" for noting unsuccesful commands. We advise that clients make connections to tic.sixxs.net, this has only an IPv4 address, even though the protocol is of course address family independent, this overcomes problems with timeouts when IPv6 seems to be available but really isn't. The protocol is primarily used for configuring hosts to get IPv6 connectivity thus this should not be an issue of any kind.

Commands

The protocol has a number of commands that can be issued.

Global
set prompt enabled|disabledEnable or disable (default) the prompt
get unixtimeGet UnixTime in seconds sincs 1970
helpRequest help about this context
exitExit the current context
Initial
starttlsStart TLS negotation
client <name/version>Client version information
username <nic-hdl>|anonymousSelect the username to use
Challenge
challenge clear|md5|cookieSelect the challenge to use for authentication
Authenticate
authenticate clear|md5|cookie <response>Authenticate using the response based upon the challenge and the method
Logged
tunnel listList tunnels owned by this user
tunnel show <tunnel-id>Show information about this tunnel
tunnel set <tunnel-id> endpoint {<new-ipv4>|current}Set the endpoint of this tunnel
tunnel set <tunnel-id> state {enabled|disabled}Set the userstate of this tunnel
tunnel put <tunnel-id> publickey <key>Put and set a RSA public key for this tunnel
tunnel get <tunnel-id> publickeyGet the RSA public key of this tunnel
pop listList the available PoPs
pop show <pop-name>Show information about a PoP
pop get <pop-name> publickeyGet the RSA publickey of this PoP
route(not implemented yet)

Authentication

The SixXS system doesn't know any cleartext passwords and only has md5sum's of the cleartext passwords of the users, thus to authenticate the following comparison is used:
md5sum(md5sum(clearpass).challenge) == md5sum(storedpass.challenge)
A client sends the first part, while TIC has the second part. Knowing the md5sum of the cleartext password is thus sufficient to authenticate in this case, but that would mean one has access to more of the system and can do other things as well so that is not seen as a threat.

Typical Session

Following is a typical session captured from the line. We can post the challenge response here as there is no way of reversing that part. The only information that should still be hidden is the Password field though.

S200 TIC on noc.sixxs.net ready (http://www.sixxs.net)
Cclient AICCU/2004.08.24 WinNT/5.1.2600-SP2
S200 Client Identity accepted
Chandle JRM1-RIPE
S200 Choose your authentication challenge please
Cchallenge md5
S200 60d11a81a26df3738026b1839644a1ae
Cauthenticate md5 4dc85220692080e76f773f0fbd8c8e31
S200 Succesfully logged in using md5 as JRM1-RIPE (Jeroen Massar) from 195.64.92.136
Ctunnel list
S201 Listing tunnels
ST1396 2001:768:1900:aa::2 heartbeat demun01
S202
Ctunnel show T1396
S201 Showing tunnel information for T1396
STunnelId: 1396
SType: 6in4
SIPv6_Endpoint: 2001:768:1900:aa::2
SIPv6_PoP: 2001:768:1900:aa::1
SIPv6_PrefixLength: 64
SPoP_Name: demun01
SIPv4_Endpoint: heartbeat
SIPv4_PoP: 195.143.155.2
SUserState: enabled
SAdminState: enabled
SPassword: hskt
SHeartbeat_Interval: 60
S202 Done
Cput T1567 publickey
C-----BEGIN RSA PUBLIC KEY-----
CMIGJAoGBANspGTby4SufvCq/JdQVvdF9qJO5zhVfsbqxw8Ojdnmf1MtXOvmB4769
Cikou5JEyn+5h/Frv87uRZdAVJGLtWdo1482foIVAmGl4LDLP+GFS3sqDQEBIzTCQ
C9k343kTrewxEH2KgwbqmoYwD19gV4q6z+oVNCaFoNb5CgzY3C1VhAgMBAAE=
C-----END RSA PUBLIC KEY-----
Cput end
S200 Set and synced the public key
Cget T1567 publickey
S201 Start of Public Key
C-----BEGIN RSA PUBLIC KEY-----
CMIGJAoGBANspGTby4SufvCq/JdQVvdF9qJO5zhVfsbqxw8Ojdnmf1MtXOvmB4769
Cikou5JEyn+5h/Frv87uRZdAVJGLtWdo1482foIVAmGl4LDLP+GFS3sqDQEBIzTCQ
C9k343kTrewxEH2KgwbqmoYwD19gV4q6z+oVNCaFoNb5CgzY3C1VhAgMBAAE=
C-----END RSA PUBLIC KEY-----
S202 End of Public Key
Cexit
S200 Context set to main
Cpop
S200 Context set to pop
Cget nlams01 publickey
S201 Start of Public Key
C-----BEGIN RSA PUBLIC KEY-----
CMIGJAoGBAO0b8sbfgLlWIi3hH5ztdndOriY0FXszE2xXm9iGfEa+MsnMxyd6KEMB
CwO50c8vzjUwWsjBE2Z60dascejr6Y9vxDKtkieqFgmhpLmhtO36gCAtj+9w2kZUj
COxHqqxEGpp1+hIxggvsXIt2MSs6GHAyPWwLVVOYI1XqNqFKyzK29AgMA//8=
C-----END RSA PUBLIC KEY-----
S202 End of Public Key
Cquit
S200 Thank you for using this SixXS Service
Warning  Not logged in
non-SSL IPv4 connection from 38.103.63.17
©2001-2008 SixXS - IPv6 Deployment & Tunnel Broker
Last revision: Thu, 19 Jun 2008 10:29:42 CEST