SSL on TELIT modules
SSL implementation status SSL in TELIT modules: Is based developing SSL protocol on existing Telit protocol stack Available from SW version 10.00.x05 A new set of AT commands to support SSL connections has been introduced ONLINE mode and COMMAND mode are supported Only one SSL socket is supported For protocol details refer to [RFC 2246; The TLS Protocol Version 1]. 2
SSL implementation status 3
SSL Client Client SSL features: Security data storage for authentication (Maximum size 1535 bytes): to remote server (Server CA certificate) to be authenticated from remote server (Client private key, Client certificate) Security level supported: no authentication authentication from remote server authentication of remote server authentication of client and remote server Connection to remote server using supported cipher suites or following request coming from server. Cipher suite: SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_RC4_128_SHA TLS_RSA_WITH_AES_256_CBC_SHA 4
SSL socket preliminary settings Common GPRS preliminary operations: Configuring and Activating the context AT+CGDCONT=<cid>,IP,<APN>,… AT#SGACT= <Cntx Id>,<Status>, [<Username>],[<Password>] Specific SSL settings: Enabling a SSL channel AT#SSLEN= <SSId>,<Enable> Configuring SSL security AT#SSLSECCFG= <SSId>,<cipher_suite>,<auth_mode> Storing security data AT#SSLSECDATA=<SSId>,<Action=1>,<DataType> Performing the general configuration AT#SSLCFG=<SSId>,<cid>,<pktSize>,<maxTo>,<defTo>,<txTo> 5
Working with SSL sockets (1/6) Open a secure socket: AT#SSLD= <SSId>,<remotePort>,<remoteHost>,<closureType>, <mode>,<timeout> Exchange data in ONLINE mode (<mode> = 0) After the CONNECT message, the user can send data to the AT port which will be encrypted and sent to the server through the secure socket. It is possible to suspend the connection (without closing it) by sending the escape sequence (+++). Data mode can be restored at any time by sending the AT#SSLO command. AT#SSLO=<SSId> 6
Working with SSL sockets (2/6) Exchange data in COMMAND mode (<mode> = 1) Data can be exchanged in command mode through a SSL socket by means of the commands AT#SSLSEND and AT#SSLRECV. Send data: AT#SSLSEND=<SSId>,<Timeout> The data to be sent can be written to the AT port after the ‘>’ prompt; the user can confirm by writing the 0x1A character (CTRL+Z) and the data will be forwarded through the secure socket. Receive data: AT#SSLRECV=<SSId>,<MaxNumByte>,<Timeout> On success, the data is printed in the following format: #SSLRECV: <numBytesRead> <DATA> OK 7
Working with SSL sockets (3/6) Close a secure socket: AT#SSLH=<SSId>,<closureType> Perform a fast dial: SSL protocol allows to restore the previous session; this makes possible to avoid full handshake and perform a fast dial. In Telit Module this is done using AT#SSLFASTD that can be sent if #SSLD or #SSLH command have been executed setting <closureType>=1. AT#SSLFASTD=<SSId>,<connMode>,<Timeout> 8
Working with SSL sockets (4/6) Example of ONLINE mode communication: AT#SSLD=1,443,123.124.125.126,0,0 CONNECT …[bidirectional data exchange] [send +++] OK AT#SSLS=1 Query status #SSLS: 1,2,<cipher_suite> AT#SSLO=1 … [more bidirectional data exchange] AT#SSLH=1 9
Working with SSL sockets (5/6) Example of COMMAND mode communication: AT#SSLD=1,443,123.124.125.126,0,1 OK AT#SSLS=1 Query status #SSLS: 1,2,<cipher_suite> Send data: AT#SSLSEND=1 >Send this string to the SSL server<CTRL+Z> 10
Working with SSL sockets (6/6) Receive data: AT#SSLRECV=1,15 #SSLRECV: 0 TIMEOUT The server has not sent a response within the timeout OK #SSLRECV: 15 Response of the #SSLRECV: 6 server AT#SSLH=1 DISCONNECTED 11
Contact us >> www.telit.com EMEA Telit Communications S.p.A. Via Stazione di Prosecco, 5/B, 34010 Sgonico (Trieste), Italy Phone: +39 040 4192 200 Email: EMEA@telit.com North America Telit Wireless Solutions Inc. 3131 RDU Center Drive, Suite 135, Morrisville, NC 27560, USA Phone: +1 888 846 9773 Email: NORTHAMERICA@telit.com APAC Telit Wireless Solutions Co. Ltd., APAC 12th floor, Shinyoung Securities Building, 34-12, Yeouido-dong, Yeongdeungpo-gu Seoul, 150-884, Korea Phone: +82 2 368 4600 Email: APAC@telit.com Latin America Telit Wireless Solutions Inc. Rua Cunha Gago, 700 – cj 81, Pinheiros, São Paulo – SP, 05421001, Brazil Phone: +55 11 2679 4654 Email: LATINAMERICA@telit.com >> www.telit.com