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.
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.
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
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.
There are many cryptographic protocols so I will analyze 3 main
cryptographic protocols: IPSec, SSH and SSL as follows.
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).
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].
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.
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.
In this paper,
I propose
simplified secure
socket layer with memory size is about 1.3 Kbytes and some advantages.
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
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.
After
finishing handshake processing, both host and Micro Server use the secret key to
encrypt and decrypt data by AES – Advanced Encryption Standard Algorithm.
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.
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.
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.
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.
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.
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.
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:
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.
[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.