Micro security architecture for small gadgets

Student name : Nguyen Thanh Hoa

Supervisor : Prof. Yoshiyasu Takefuji

Student ID : 80825511

Email : hoant@sfc.keio.ac.jp


Abstract

Conventional researchers have focused mainly on creating small sensor systems and Micro Servers that has multi-functions with low cost and small memory size, but without much security considerations. There are some proposed security architectures for ubiquitous sensor network but they are either insecure or too heavy-weight for use in sensor networks. Security implementation for sensors and Micro Servers which have very limited size of memory with a small processor is very difficult and challenging task.

I have analyzed the performance of SSSL, compared with the current security protocols and proved that SSSL can secure the connection between sensors, Micro Server and the Internet. I also apply SSSL in sensor system to secure the connection between LED sensor and PC through the Internet. Furthermore, the cost of SSSL is also attractive and SSSLfs security is strong enough. Its implementation is easy and fast because of the code optimization for 8 bit microcontroller.

In conclusion, I propose the simple security layers are better fit for small memory and limited processing devices. These security layers are good small security protocols that can protect the connections between small constraint devices and the Internet.

Keywords- SSSL, SSL, IPSec, 5$ Micro Server, 8-bit microcontroller.

     I.          Introduction

Nowadays, with the development of technology and science, we can make small sensors and Micro Servers very easily. These small, cheap sensors and Micro Server are deployed in many useful and low cost applications. Security is an important issue when these devices are used in health care applications, home appliances and many others. However, researchers design sensors and Micro Server in the aim of smaller in size, lower cost rather than strengthen the security. Security for Micro Server is a challenging task because of very small processor and very limited memory [2].

There are some security schemes and protocols that have been proposed for the security issues in sensor networks. Most of current approaches are either insecure or too heavy-weight for use in limited systems.

Besides, cryptography is the art of secret writing and is the good security method. Cryptography guarantee security properties such as authentication or secrecy in the information exchange between users and server. Using cryptography can prevent many forms of attacks. In such conditions, many cryptographic protocols have very strong security but they are not designed for constrained devices.

These problems motivate me to propose the new tiny security protocols that have more advantages than other conventional security protocols in constrained devices systems.

    II.         Background

A.    Micro Server & LED sensor

    I made a Micro Server gadget (included LED sensor) that followed the Prof. Takefujifs design shown in Figure 1. This Micro Serverfs price is only 5 US Dollars. The Micro Server uses 8bit microcontroller Atmega168 with 16 Kbytes flash memory. Adam Dunkels is the author of the simple TCP/IP stack that embedded inside Micro Server with size of flash memory is about 8466 bytes [3].

The limitations of the Micro Server are the very small memory (only left 7 Kbytes for security function) and limited processing. I used this Micro server to test the implementation of SSSL which I will describe in the following sections. In this Micro Server, I use only one bi-directional LED to receive and emit the light as a sensor.

<!--[endif]-->

Figure 1: Micro Server

A.    The existing Tiny Security Architectures for Sensor Network

Researchers have proposed some security architectures for sensor network. However, they are still complex and need much memory computing space. For example, TinySec (a link layer Security Architecture for Wireless Sensor Networks) [4], LEAP+ (Localized Encryption and Authentication Protocol) [5], SPINS (Security Protocols for Sensor Networks) [6], Security in Zigbee [7], and so on. I analyze some main current small security architectures for sensor network as the following sections.

B.    The cryptographic protocols

There are many cryptographic protocols so I will analyze 3 main cryptographic protocols: IPSec, SSH and SSL as follows.

1)       IPSec protocol

IPSec is an IP layer protocol that enables sending and receiving of cryptographically protected packets of any kind (TCP, UDP, ICMP, etc) without any modification. We can see the complexity of IPSec protocol: processing key exchange; processing Security Policy, Security Association, two protocols AH (Authentication Header) and ESP (Encapsulating Security Payload).

2)       SSH - Secure Shell protocol

To secure application layer we can establish SSH (Secure Shell) protocol by using 3DES for encryption and RSA for authentication.

RSA is well-known algorithm and is used in many of the public key systems. However, the significant parameters (the speed of execution, the difficulty of key generation, establishment of system parameters and the size of data to be stored) make RSA not suitable for securing small sensors and Micro Server [8].

3)       SSL – Secure Socket Layer

SSL (Secure Socket Layer) is a cryptographic protocol that provides security and data integrity for communications over networks. SSL is composed of the protocols: Handshake protocol, Change Cipher Spec protocol, and Alert protocol and Application Data protocol.

Basically, SSL consists of two phases: handshake and data transfer. Handshake processing takes the most computing power, followed by data encryption and decryption. Handshake processing breaks down into several distinct categories: message exchange, public-key computations, random-number generation and handshake authentication. During the data transfer phase, both client and server use the secret key to encrypt and decrypt data. For every SSL data record transmitted, the sender must calculate and add MAC. For every SSL data record received, the recipient must verify the MAC.

As I mentioned above, IPSec protocol is complex and need more memory in Micro Server. SSH is not suitable because of the difficulty of RSA algorithm. SSSL is a complex protocol with complicated handshake processing and many encryption algorithms. I will propose the Simplified Secure Socket Layer (SSSL) that base on SSL idea with simple handshake processing and simple encryption. The simple handshake processing is based on RSA Digital Signature so I will explain about it in the following section.

C.    Comparing the Current Security Protocols

Conventional researchers have proposed some security architectures for sensor network. However, they are still complex and need much memory computing space.

   Table I shows the differences between three main tiny security protocols. It is obvious that there are not any current tiny security protocols can be implemented in 5$ Micro Server.

 Besides, cryptographic protocols such as IPSec, SSL, and SSH secure strongly Internet communications. However, these protocols are too heavy-weight for use in sensor networks. Their packet formats add many bytes of overhead, and they were not designed to run on computationally-constrained devices.

TABLE I.             Tiny Security Protocol

Security Protocols

Platform

Code size

TinySec

TinyOS

7.1 Kbytes

LEAP+

TinyOS

17.9 Kbytes

ZigBee

ZigBee

4Kbytes to 32 Kbytes

We can see the comparison between IPSec and SSL as Table II [9]. IPSec is more complicate than SSL.

TABLE II.           IPSec vs SSL

Function

IPSec

SSL

Configuration

hard

easy

Client Authentication

must

option

Pre-Shared Key

yes

no

Interoperability Problem

yes

no

TCP Application Support

all

some

UDP Support

yes

no

Throughput Rate

high

high

Compression Support

yes

OpenSSL

Handshake Time

slow

fast

The existing security architectures for sensor network still have some limitations and they need to make simpler or propose new tiny security architecture with strong security enough. I propose the new security protocol base on those ideas with much smaller code size and still strong security in the next section.

   III.        The Proposed Simplified Secure Socket Layer For Micro Servers

In this paper, I propose simplified secure socket layer with memory size is about 1.3 Kbytes and some advantages.

A.    Architecture of Simplified Secure Socket Layer

   SSSL layer operates above TCP layer and below Application layer. This secure layer will protect the data of Application layer. We can see the SSSL architecture in Figure 2. SSSL has two phases: Simple Handshake Processing and Data Encryption by AES algorithm.

<!--[endif]-->

Figure 2: The Architecture of SSSL

B.    Simple Handshake Processing

SSL has a complex handshake processing with high computing power because of public-key computations and random-number generation for public-key encryption [10]. This reason motivates us to propose a simple handshake processing with high security by RSA digital signature.

As a connection manager (a third party), I establish a program to create RSA digital signature to have agreement between hosts and Micro server. Besides, to avoid the attack from hackers who want to capture the packets and send the same command to the Micro server, I will authenticate by eligible client by IP address or MAC address. Before each connection, Client and Micro Server compromise random RSA Digital Signature by connection manager and their IP address. The simple handshake processing will allow which host can access and what tasks these hosts can do by only Digital Signature. This authentication method make Micro server can authenticate the connection easily and fast.

Client sends its RDA Digital Signature to Micro Server to require the access. If it is not eligible then Micro Server will close the connection and donft allow the Client can do anything more. On the other hand, if this RSA Digital Signature is eligible then Micro Server will allow Client can connect to Micro Server and can do the tasks that Micro Server and Client agree through RSA Digital Signature. Micro Server also checks Clientfs IP address to avoid the same commands attacks.

C.    Simple Data Encryption by AES

After finishing handshake processing, both host and Micro Server use the secret key to encrypt and decrypt data by AES – Advanced Encryption Standard Algorithm.  

D.    SSSL implementation

There are 4 steps to implement SSSL as follow:

1. Build a program to create RSA Digital Signature for handshake processing:

- Create RSA key.

- Create Digital signature.

2. Establish SSSL in Micro Server:

- Process simple handshake by Digital Signature and IP address.

- Process encryption by AES.

3. Establish SSSL in the client side:

- Simple handshake processing (implement Tenet client & SSSL layer).

- Encryption by AES.

4. Test the securable connection between client and Micro Server.

I have implemented 4 steps of implementation SSSL and have finished testing the securable connection between client and Micro Server by using packets captures software called Wireshark and try to send same commands from another PC (imitate hacker) to attack Micro Server. More details about implementation code of SSSL are available in my thesis.

I implemented simple SSSL in the client side. This program established telnet client to support client can connect with Micro Server and implemented SSSL for security of Micro Server. In this case, the eligible client has suitable RSA Digital Signature and IP address can connect to the micro server, turn on LED by typing gnh and turn off LED by typing gfh.

E.    Applications of SSSL

SSSL is really necessary for many applications that require tiny memory, small processing, low cost, and real time. When the devices of home appliances or ubiquitous systems use SSSL, it can protect the connection easily and fast. I already applied SSSL for LED sensor system and got experiment result as Figure 3.

<!--[endif]-->

Figure 3: Security the connection between LED sensor and PC by SSSL.

   IV.         SSSL Evaluation

A.    Performance of SSSL

The code size of SSSL is only 1.355 Kbytes. It is very small memory that can be implemented both simple authentication and simple encryption.

The cost is also attractive. We donft need to extend the circuit by other micro controller but only use software on one 8 bit microcontroller.

On the other hand, the performance of this secure layer SSSL is adequate for the bandwidth supported by the current generation of constrained Internet devices or sensors. The time of simple handshake processing is around 10ms. Implementing SSSL is easy and fast.

Those advantages of SSSL make it be a good choice for security constrained devices systems and present that SSSL performance is high. SSSL can protect micro server from some attacks as sniffer attacks, spoofing attacks and replay attacks.

B.    What is New in SSSL

There are some new properties that SSSL can provide when compare with the existing network security architectures as follows:

l  SSSL can be used for the small memory of security (in constrained devices).

l  The cost is also attractive because we donft need to extend the circuit by other micro controllers. We can only use software on one micro controller.

l  The performance is also high.

l  The security of SSSL is strong enough.

l  The implementation is easy and fast as well.

l  Especially, SSSL can be implemented in the very tiny devices and protect them that the conventional security protocols cannot do.

    V.         Comparison Of SSSL And Existing Security Protocols & Discussion

SSSL has 2 phases as SSL: handshake processing and data encryption but SSSL is very simple and much faster than SSL. SSSL has memory size is about 1.3 Kbytes not much as Mbytes as SSL and IPSec protocols. Because SSSL is very small so it doesnft have many functions as SSL but these two main functions can help SSSL is secure layer as I proved in the section V above.

SSSL has code size is much smaller than TinySec (7.1 Kbytes), LEAP+ (17 Kbytes) and ZigBee (4 Kbytes to 32 Kbytes) and so on.

   VI.        Conclusion & Future Work

I analyzed cryptographic protocols and conventional security architectures for sensor network which has many small sensors and micro servers with limited memory and small processor. By this analysis, we can see that IPSec is a good choice for Micro Server and sensor systems security. I proposed Simplified Secure Socket Layer (SSSL) that base on Secure Socket Layerfs idea.

The SSSL has simple handshake processing by using RSA digital signature and data encryption by only AES algorithm with code size of only about 1.322 Kbytes. I used SSSL in sensor system to secure the connection between LED sensor and customers through Internet to simulate the importance of SSSL in sensor network security. Additionally, I discussed about the security of SSSL, evaluated the performance of SSSL and compared with existing security protocols. They show that my proposed security protocols are much smaller and strong enough for the constrained devices. Moreover, SSSL has some advantages, attractive cost, strong enough security, fast speed and small memory. The experimental results indicate that SSSL is a practical and efficient security layer that can be applied for securing sensor network and tiny devices systems.

I will study and propose other ways for authentication to connect Micro Server and client more flexibly.

Publications

1.       Nguyen Thanh Hoa, Kensuke Naoe, Yoshiyasu Takefuji, gSimplified IPSec protocol stack for micro serverh, International Journal of Network Security, vol 11, no.2, pp65-73, 2010. Available at:

http://ijns.femto.com.tw/download_paper.jsp?PaperID=IJNS-2008-10-26-2&PaperName=ijns-v11-n2/ijns-2010-v11-n2-p65-73.pdf

2.       Nguyen Thanh Hoa, Kensuke Naoe, Yoshiyasu Takefuji, gMicro Secure Socket Layer (MSSL) for Micro Serverh, The 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems,  19-20 October, 2009 New Jersey, USA (short paper).

3.       Nguyen Thanh Hoa, Kensuke Naoe and Yoshiyasu Takefuji, gMicro Secure Socket Layer for Micro Serverh, The 2nd International Conference on Future Networks (ICFN 2010), 22-24 January 2010, China.

References

[1] Konrad Lorincz, gSensor Networks for Emergency Response: Challenges and Opportunitiesh, Proceedings of Pervasive Computing, IEEE,2004, vol. 3, pp 16-23.

[2] Adam, gThe open-source uIP TCP/IP stackh. www.dunkels.com/adam/uip

[3] Chris Metz, gMoving Toward an IPv6 Futureh, Cisco System.

[4] Chris Karlof, gTinySec: a link layer security architecture for wireless sensor networksh, Proceedings of the 2nd international conference on Embedded networked sensor systems, pp. 162-175.

[5] Sencun Zhu, Sanjeev Setia, gLEAP+: Efficient Security Mechanisms for Large-Scale Distributed Sensor Networksh, ACM Transaction on Sensor Networks, vol. 2, no. 4, November 2006, pp 500-528.

[6] Adrian Perrig, Robert Szewczyk, gSPINS: Security protocols for sensor networksh. The Seventh Annual International Conference on Mobile Computing and Networking, (MobiCom 2001), 2001, pp. 189-199.

[7] Partrick Kinney, gZigBee Technology: Wireless Control that Simply Worksh, Communications Design Conference, Kinney Consulting LLC, Chair of IEEE 802.15.4 Task Group, pp 1-20.

[8] Konrad Lorincz, David J. Malan, gSensor Networks for Emergency Response: Challenges and Opportunitiesh, Proceedings of Pervasive Computing, IEEE, Oct-Dec, 2004, vol. 3, pp 16-23.

[9] AbdelNasir Alshamsi, gA technical Comparison of IPSec and SSLh, Proceedings of the 19th International Conference on Advanced Information Networking and Applications (AINA 2005), vol. 2, pp 395-398.

[10] Wesley Chou, gInside SSL: The Secure Sockets Layer Protocolh, Proceedings of IT Professional, August 2002, vol. 4, pp. 48-52.

[11] gAnnouncing the Advanced Encryption Standard (AES)h, Federal Information Processing Standards Publication 197, 26thNovember.

[12] Alfred J. Menezes, paul C. van Oorschot, Schott A. Vanstone, Handbook of Applied Cryptography, CRC Press, August 1996.