SlideShare a Scribd company logo
Java Sun SPOTs – A White Paper by Vertoda




Copyright © Sykoinia Limited 2009         1
Java Sun SPOTs – A White Paper by Vertoda

                    Please Read before reading this White Paper
This white paper is not distributed under a GPL license. Use of this white paper is subject to the
following terms:

         This white paper is copyrighted by Sykoinia Limited. Copyright © Sykoinia Limited
          2009. All Rights Reserved.
         You may create a printed copy of this white paper solely for your own personal use.
         Conversion to other formats is allowed as long as the actual content is not altered or
          edited in any way.
         You shall not publish or distribute this white paper in any form or on any media, except
          if you distribute the white paper in a manner similar to how Sykoinia Limited and
          Vertoda disseminates it (that is, electronically for download on a Web site with the
          software) or on a CD-ROM or similar medium, provided however that the white paper is
          disseminated together with the software on the same medium.
         Any other use, such as any dissemination of printed copies or use of this white paper, in
          whole or in part, in another publication, requires the prior written consent from an
          authorised representative of Sykoinia Limited.
         Sykoinia Limited reserves any and all rights to this white paper not expressly granted
          above.

For more information on the terms of this license or if you are interested in doing a translation,
please contact us at info@vertoda.com.

If you find a typographical error in this white paper or if you have thought of a way to make this
white paper better please contact us at info@vertoda.com.

 Please note that this white paper is for informational purposes. Sykoinia Limited accepts no
responsibility for any loss due to the use of this white paper.

If you have any comments please email us at info@vertoda.com with your feedback.




Copyright © Sykoinia Limited 2009                 2
Java Sun SPOTs – A White Paper by Vertoda




Copyright © Sykoinia Limited 2009         3
Java Sun SPOTs – A White Paper by Vertoda


                                              Abstract

This white paper presents an evaluation of Java Sun SPOTs. The feasibility of encrypting or signing
data for transmission from Java Sun SPOT Sensors using Elliptic Curve Cryptography or Identity Based
Encryption is also assessed.




Copyright © Sykoinia Limited 2009                4
Java Sun SPOTs – A White Paper by Vertoda



Table of Contents

Table of Figures....................................................................................................................................... 6
Glossary................................................................................................................................................... 7
1.     Wireless Sensor Networks: An Overview........................................................................................ 8
2.     Java Sun SPOTs: An Overview .........................................................................................................9
3.     Encryption & Java Sun SPOTs........................................................................................................13
4.     Conclusion.....................................................................................................................................14
References ............................................................................................................................................15




Copyright © Sykoinia Limited 2009                                            5
Java Sun SPOTs – A White Paper by Vertoda



Table of Figures



Figure 1: Sun SPOT Manager.................................................................................................................10

Figure 2: Solarium Experimental Framework .......................................................................................11

Figure 3: Netbeans New Project Dialog ................................................................................................12




Copyright © Sykoinia Limited 2009                                    6
Java Sun SPOTs – A White Paper by Vertoda



Glossary

API                                           Application Programming Interface
CD                                            Compact Disc
ECC                                           Elliptic Curve Cryptography
HTTP                                          Hypertext Transfer Protocol
IBE                                           Identity Based Encryption
IDE                                           Integrated Development Environment
ID                                            Identity/Identification
J2ME                                          Java Micro Edition
Jar                                           Java Archive
OS                                            Operating System
SDK                                           Software Development Kit
SPOT                                          Small Programmable Object Technology
SSL                                           Secure Sockets Layer
UI                                            User Interface
USB                                           Universal Serial Bus
VM                                            Virtual Machine
WPAN                                          Wireless Personal Area Network
WSN                                           Wireless Sensor Network




Copyright © Sykoinia Limited 2009         7
Java Sun SPOTs – A White Paper by Vertoda

      1. Wireless Sensor Networks: An Overview


A Wireless Sensor Network (WSN) is a network that consists of small sensors that monitor and
record the physical conditions of an environment. Measurements include temperature, light,
pressure and the detection of pollutants. Possible commercial applications include environmental
monitoring, building management, equipment health monitoring and supply chain management.

Each sensor in a WSN consists of a radio transceiver for transmitting recorded data, a small
processor, a mechanism for measuring at least one physical characteristic of an environment and
a battery. Data recorded by a sensor in a WSN is transmitted to a base station. This base station
is typically connected to a computer or mobile device so that data can be displayed for an end
user.

A WSN is a wireless network that can be temporary or permanent in nature i.e. it can be an Ad-
Hoc Network. It is possible that many WSNs could consist of many thousands of sensor nodes.
As an individual node could therefore be quite a distance from a base station, data transmission
is multi hop i.e. data can be forwarded from node to node, towards the base station. This is
known as mesh networking – one protocol used for data transmission in WSNs is Zigbee
(http://www.zigbee.org).

The first sensor nodes used an operating system (OS) called TinyOS (http://www.tinyos.net)
and were programmed in a language called nesC. The principal vendor for these devices is
Crossbow Technologies (http://www.xbow.com). Crossbow uses the mica series of processors
for their sensor nodes (or motes). While the use of these technologies is still very prevalent, Sun
Microsystems also offer the option of using Java-based Sensors. These are known as Sun
SPOTs.




Copyright © Sykoinia Limited 2009                8
Java Sun SPOTs – A White Paper by Vertoda

      2. Java Sun SPOTs: An Overview


Java Sun SPOTs are small Java-based programmable sensor devices. Currently, these are an
experimental technology and only support measurement of light, temperature and acceleration.
The key distinguishing characteristic of Java Sun SPOTs is that the devices don’t have an
underlying OS. Rather, each device runs the Squawk Java Virtual Machine (VM). The VM acts
both as an OS and as a software application platform. Like their TinyOS-based counterparts, Sun
SPOTs are battery operated. However, a key difference for Sun SPOTs is that the battery is a
non-removable part of each device that can be recharged by connecting the device to a computer
with a USB cable. Each Sun SPOT including the Base Station has a unique ID
0014.4F01.XXXX.XXXX. The first 8 digits (0014.4F01) are fixed for each Sun SPOT. The Java
used for Sun SPOTs is based on J2ME.

The Sun SPOT development kit consists of two Sun SPOT sensors and a base station. The
development kit also includes a CD for installing Sun’s SPOT Manager. Figure 1 displays the
Sun SPOT manager tool. The manager consists of a number of tabbed options.

          The “Sun SPOTs” tab provides a facility for accessing the Sun SPOTs and, if necessary,
          upgrading or altering the devices. The base station can be configured and over the air
          transmission of data can be set up.

         The “SDK” tab enables users to install the latest version of the Sun SPOT Software
          Development Kit (SDK).

         The “Solarium” tab enables users to try the experimental Solarium framework for base
          station communication with other Sun SPOTs in the WSN. The Solarium UI displays all
          Sun SPOTs in the network, their ID and the Java program each Sun SPOT is running. A
          user can also create virtual Sun SPOTs using Solarium. Figure 2 shows the Solarium UI.

         The “Tutorial” Tab provides a step by step tutorial on the Sun SPOT Devices, the
          configuration of same and the use of the Sun SPOT Emulator.

         The “Docs” Tab provides documentation including a user manual, a developer’s guide,
          installation instructions and an emulator guide.

         The “Console” Tab provides output on recent actions such as SDK installation, Sun
          SPOT device upgrades etc.

         The “Preferences” Tab enables users to set up checks for SDK updates, edit properties
          files and, if desired, uninstall the SDK.




Copyright © Sykoinia Limited 2009                9
Java Sun SPOTs – A White Paper by Vertoda




Figure 1: Sun SPOT Manager

The Sun SPOT SDK integrates with Netbeans, so that when the SDK is installed the user can
also install the Netbeans IDE. This enables users to view the sample code provided with the
IDE as well as create their own Sun SPOT applications (See Figure 3). Applications can also be
deployed directly from Netbeans to the Sun SPOTs. Thus, the integration is end-to-end.

The main advantage of Sun SPOTs is that they use the Java language. Compared to TinyOS
based motes using nesC as their programming language, Sun SPOT applications are much easier
in terms of programming and deployment. The tutorials, documentation and sample code
provided by Sun is of a very high quality, not just within the SPOT manager but also in the Sun
SPOT website and forums (http://www.sunspotworld.com). Examples are provided for
measuring light, temperature and acceleration and for radio transmission so it is relatively easy
for a Java programmer to get an application up and running quickly.

Another key advantage is that Sun SPOTs can be programmed and deployed using Windows,
LINUX, Solaris or the MAC OS. Other motes are often tied to Windows for configuration and
programming and in particular the use of the Serial Port and its corresponding Java API for
detecting data (which only runs on Windows) means that ancillary programs are often tied to
Windows.

While they are an attractive technology, it should be noted that Sun SPOTs are still an
experimental technology and as such are not recommended for a commercial deployment. As
previously stated, Sun SPOTs are currently limited to temperature, light and acceleration


Copyright © Sykoinia Limited 2009               10
Java Sun SPOTs – A White Paper by Vertoda
measurements. The other current issue is battery life – Sun SPOTs need to be frequently
recharged as their battery life appears to be inferior to their TinyOS counterparts. This is despite
the fact that Sun SPOTs are based on the IEEE 802.15.4 standard for Wireless Personal Area
Networks (WPAN) which endeavours to preserve battery life.




Figure 2: Solarium Experimental Framework




Copyright © Sykoinia Limited 2009                11
Java Sun SPOTs – A White Paper by Vertoda




Figure 3: Netbeans New Project Dialog




Copyright © Sykoinia Limited 2009        12
Java Sun SPOTs – A White Paper by Vertoda

      3. Encryption & Java Sun SPOTs


Sun Research [1] has developed a Java cryptographic library for Sun SPOTs. This cryptographic
library supports key exchange and digital signatures based on Elliptic Curve Cryptography (ECC)
as well as standard algorithms for hashing and bulk encryption. Deployment of Java code to Sun
SPOTs is protected by ECC. Sun SPOTs will only accept code that has been signed by the user.
The Digital Signature is used to seal verified byte code on a desktop. This code is then sent over
the air or via a USB connection to the Sun SPOT. The signature is then verified on the Sun
SPOT before the code is executed.

The above is possible because each user’s SDK has a public/private key-pair. Each SPOT stores
the trusted public-key of the “owner, the “owner” being the first deployer to the Sun SPOT.
The owner has special privileges including the ability to deploy new code or restore the SPOT to
an ownerless state. The use of hash chains means that code can be deployed to all SPOTs in a
WSN.

Secure data communication is also catered for. SPOT applications typically use the
com.sun.spot.io.j2me.radiostream class for data transmission. For secure data transmission
user can use the sradiostream class. Each SPOT uses a certificate created by the SDK to
identify itself in an SSL handshake. Each SPOT trusts its owner SDK to issue certificates. This
facilitates communication between SPOTs belonging to the same owner. According to Sun,
scenarios such as Trusting Web Certification Authorities and SPOTs belonging to other owners
are also supported. In essence, Sun’s ECC Implementation is a small-footprint web server stack
(nicknamed “sizzle”) that includes HTTP and SSL. This facilitates control and monitoring of
secure data from a web application.


Another option for secure transmission over WSNs is Identity Based Encryption (IBE).
Currently, no implementation exists for IBE over Sun SPOTs. As IBE is an attractive encryption
method for small devices it is worth examining for SPOT WSNs.

The principal constraint for IBE implementation on Java Sun SPOTs is that they use J2ME. This
means that the java.math library is unavailable. While verification and decryption could be
performed on the host computer receiving the data, signing and encryption of data using the
SPOT ID would need to be performed on the Sun SPOT. This means that a library would have
to be developed for encrypting or signing data on a Sun SPOT.

While this is a non-trivial task it appears to be possible. There are implementations of the
java.math library for J2ME (for example, see http://www.dclausen.net/projects/microfloat/)
and a Java jar file could be created for use by different Sun SPOT applications.




Copyright © Sykoinia Limited 2009               13
Java Sun SPOTs – A White Paper by Vertoda


      4. Conclusion


With the exception of battery life Sun SPOTs have several advantages over their TinyOS
counterparts. An ECC implementation is provided by Sun for secure data transmission. An IBE
implementation is possible even when the constraint of implementing ID-based encryption or
signing in J2ME is considered.




Copyright © Sykoinia Limited 2009            14
Java Sun SPOTs – A White Paper by Vertoda


References
[1] http://research.sun.com/projects/SecureAdhocComm/security-on-sunspots.pdf




Copyright © Sykoinia Limited 2009            15

More Related Content

PDF
Extending Android with New Devices
PDF
SmartOS
PDF
Koneki @ Eclipse Day Toulouse 2012
PDF
The Bluetooth Protocol
PDF
WSNs & Agriculture
PDF
Vertoda wind farmoperations
PPT
WSNs & the Food Industry
PDF
Bluetooth UDP Performance over Bluetooth
Extending Android with New Devices
SmartOS
Koneki @ Eclipse Day Toulouse 2012
The Bluetooth Protocol
WSNs & Agriculture
Vertoda wind farmoperations
WSNs & the Food Industry
Bluetooth UDP Performance over Bluetooth

Similar to Java Sun SPOTs Overview (20)

PDF
Introducing the Sun SPOTs
PDF
Introduction To SPOT
PDF
Sun Spot Talk
ODP
Sun Spot Talk
PDF
Air Programming on Sunspot with use of Wireless Networks
PDF
Sunspot
PDF
Sunspot
PDF
PDF
Programming The Real World
ODP
Java ME Open Source
PDF
City search documentation
PPTX
youSCADA©, SCADA as a Service: Monitoring and Controlling Devices and Objects...
ODP
Sun SPOT, Wireless Sensors Networks
PDF
Java Everywhere. Descubra la Internet de las Cosas
ODP
Sun SPOT
PDF
Wonderland CHIPS Workshop June 2009
PPTX
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
DOC
City search documentation
PDF
Sunspot Final
PDF
Bug Labs Automotive Web
Introducing the Sun SPOTs
Introduction To SPOT
Sun Spot Talk
Sun Spot Talk
Air Programming on Sunspot with use of Wireless Networks
Sunspot
Sunspot
Programming The Real World
Java ME Open Source
City search documentation
youSCADA©, SCADA as a Service: Monitoring and Controlling Devices and Objects...
Sun SPOT, Wireless Sensors Networks
Java Everywhere. Descubra la Internet de las Cosas
Sun SPOT
Wonderland CHIPS Workshop June 2009
Building a Reliable Remote Communication Device with Java ME8 [CON2285]
City search documentation
Sunspot Final
Bug Labs Automotive Web
Ad

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Programs and apps: productivity, graphics, security and other tools
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Empathic Computing: Creating Shared Understanding
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Machine Learning_overview_presentation.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
sap open course for s4hana steps from ECC to s4
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Reach Out and Touch Someone: Haptics and Empathic Computing
Programs and apps: productivity, graphics, security and other tools
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Empathic Computing: Creating Shared Understanding
A comparative analysis of optical character recognition models for extracting...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation theory and applications.pdf
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Machine Learning_overview_presentation.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
sap open course for s4hana steps from ECC to s4
The AUB Centre for AI in Media Proposal.docx
MIND Revenue Release Quarter 2 2025 Press Release
Ad

Java Sun SPOTs Overview

  • 1. Java Sun SPOTs – A White Paper by Vertoda Copyright © Sykoinia Limited 2009 1
  • 2. Java Sun SPOTs – A White Paper by Vertoda Please Read before reading this White Paper This white paper is not distributed under a GPL license. Use of this white paper is subject to the following terms:  This white paper is copyrighted by Sykoinia Limited. Copyright © Sykoinia Limited 2009. All Rights Reserved.  You may create a printed copy of this white paper solely for your own personal use.  Conversion to other formats is allowed as long as the actual content is not altered or edited in any way.  You shall not publish or distribute this white paper in any form or on any media, except if you distribute the white paper in a manner similar to how Sykoinia Limited and Vertoda disseminates it (that is, electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the white paper is disseminated together with the software on the same medium.  Any other use, such as any dissemination of printed copies or use of this white paper, in whole or in part, in another publication, requires the prior written consent from an authorised representative of Sykoinia Limited.  Sykoinia Limited reserves any and all rights to this white paper not expressly granted above. For more information on the terms of this license or if you are interested in doing a translation, please contact us at info@vertoda.com. If you find a typographical error in this white paper or if you have thought of a way to make this white paper better please contact us at info@vertoda.com. Please note that this white paper is for informational purposes. Sykoinia Limited accepts no responsibility for any loss due to the use of this white paper. If you have any comments please email us at info@vertoda.com with your feedback. Copyright © Sykoinia Limited 2009 2
  • 3. Java Sun SPOTs – A White Paper by Vertoda Copyright © Sykoinia Limited 2009 3
  • 4. Java Sun SPOTs – A White Paper by Vertoda Abstract This white paper presents an evaluation of Java Sun SPOTs. The feasibility of encrypting or signing data for transmission from Java Sun SPOT Sensors using Elliptic Curve Cryptography or Identity Based Encryption is also assessed. Copyright © Sykoinia Limited 2009 4
  • 5. Java Sun SPOTs – A White Paper by Vertoda Table of Contents Table of Figures....................................................................................................................................... 6 Glossary................................................................................................................................................... 7 1. Wireless Sensor Networks: An Overview........................................................................................ 8 2. Java Sun SPOTs: An Overview .........................................................................................................9 3. Encryption & Java Sun SPOTs........................................................................................................13 4. Conclusion.....................................................................................................................................14 References ............................................................................................................................................15 Copyright © Sykoinia Limited 2009 5
  • 6. Java Sun SPOTs – A White Paper by Vertoda Table of Figures Figure 1: Sun SPOT Manager.................................................................................................................10 Figure 2: Solarium Experimental Framework .......................................................................................11 Figure 3: Netbeans New Project Dialog ................................................................................................12 Copyright © Sykoinia Limited 2009 6
  • 7. Java Sun SPOTs – A White Paper by Vertoda Glossary API Application Programming Interface CD Compact Disc ECC Elliptic Curve Cryptography HTTP Hypertext Transfer Protocol IBE Identity Based Encryption IDE Integrated Development Environment ID Identity/Identification J2ME Java Micro Edition Jar Java Archive OS Operating System SDK Software Development Kit SPOT Small Programmable Object Technology SSL Secure Sockets Layer UI User Interface USB Universal Serial Bus VM Virtual Machine WPAN Wireless Personal Area Network WSN Wireless Sensor Network Copyright © Sykoinia Limited 2009 7
  • 8. Java Sun SPOTs – A White Paper by Vertoda 1. Wireless Sensor Networks: An Overview A Wireless Sensor Network (WSN) is a network that consists of small sensors that monitor and record the physical conditions of an environment. Measurements include temperature, light, pressure and the detection of pollutants. Possible commercial applications include environmental monitoring, building management, equipment health monitoring and supply chain management. Each sensor in a WSN consists of a radio transceiver for transmitting recorded data, a small processor, a mechanism for measuring at least one physical characteristic of an environment and a battery. Data recorded by a sensor in a WSN is transmitted to a base station. This base station is typically connected to a computer or mobile device so that data can be displayed for an end user. A WSN is a wireless network that can be temporary or permanent in nature i.e. it can be an Ad- Hoc Network. It is possible that many WSNs could consist of many thousands of sensor nodes. As an individual node could therefore be quite a distance from a base station, data transmission is multi hop i.e. data can be forwarded from node to node, towards the base station. This is known as mesh networking – one protocol used for data transmission in WSNs is Zigbee (http://www.zigbee.org). The first sensor nodes used an operating system (OS) called TinyOS (http://www.tinyos.net) and were programmed in a language called nesC. The principal vendor for these devices is Crossbow Technologies (http://www.xbow.com). Crossbow uses the mica series of processors for their sensor nodes (or motes). While the use of these technologies is still very prevalent, Sun Microsystems also offer the option of using Java-based Sensors. These are known as Sun SPOTs. Copyright © Sykoinia Limited 2009 8
  • 9. Java Sun SPOTs – A White Paper by Vertoda 2. Java Sun SPOTs: An Overview Java Sun SPOTs are small Java-based programmable sensor devices. Currently, these are an experimental technology and only support measurement of light, temperature and acceleration. The key distinguishing characteristic of Java Sun SPOTs is that the devices don’t have an underlying OS. Rather, each device runs the Squawk Java Virtual Machine (VM). The VM acts both as an OS and as a software application platform. Like their TinyOS-based counterparts, Sun SPOTs are battery operated. However, a key difference for Sun SPOTs is that the battery is a non-removable part of each device that can be recharged by connecting the device to a computer with a USB cable. Each Sun SPOT including the Base Station has a unique ID 0014.4F01.XXXX.XXXX. The first 8 digits (0014.4F01) are fixed for each Sun SPOT. The Java used for Sun SPOTs is based on J2ME. The Sun SPOT development kit consists of two Sun SPOT sensors and a base station. The development kit also includes a CD for installing Sun’s SPOT Manager. Figure 1 displays the Sun SPOT manager tool. The manager consists of a number of tabbed options.  The “Sun SPOTs” tab provides a facility for accessing the Sun SPOTs and, if necessary, upgrading or altering the devices. The base station can be configured and over the air transmission of data can be set up.  The “SDK” tab enables users to install the latest version of the Sun SPOT Software Development Kit (SDK).  The “Solarium” tab enables users to try the experimental Solarium framework for base station communication with other Sun SPOTs in the WSN. The Solarium UI displays all Sun SPOTs in the network, their ID and the Java program each Sun SPOT is running. A user can also create virtual Sun SPOTs using Solarium. Figure 2 shows the Solarium UI.  The “Tutorial” Tab provides a step by step tutorial on the Sun SPOT Devices, the configuration of same and the use of the Sun SPOT Emulator.  The “Docs” Tab provides documentation including a user manual, a developer’s guide, installation instructions and an emulator guide.  The “Console” Tab provides output on recent actions such as SDK installation, Sun SPOT device upgrades etc.  The “Preferences” Tab enables users to set up checks for SDK updates, edit properties files and, if desired, uninstall the SDK. Copyright © Sykoinia Limited 2009 9
  • 10. Java Sun SPOTs – A White Paper by Vertoda Figure 1: Sun SPOT Manager The Sun SPOT SDK integrates with Netbeans, so that when the SDK is installed the user can also install the Netbeans IDE. This enables users to view the sample code provided with the IDE as well as create their own Sun SPOT applications (See Figure 3). Applications can also be deployed directly from Netbeans to the Sun SPOTs. Thus, the integration is end-to-end. The main advantage of Sun SPOTs is that they use the Java language. Compared to TinyOS based motes using nesC as their programming language, Sun SPOT applications are much easier in terms of programming and deployment. The tutorials, documentation and sample code provided by Sun is of a very high quality, not just within the SPOT manager but also in the Sun SPOT website and forums (http://www.sunspotworld.com). Examples are provided for measuring light, temperature and acceleration and for radio transmission so it is relatively easy for a Java programmer to get an application up and running quickly. Another key advantage is that Sun SPOTs can be programmed and deployed using Windows, LINUX, Solaris or the MAC OS. Other motes are often tied to Windows for configuration and programming and in particular the use of the Serial Port and its corresponding Java API for detecting data (which only runs on Windows) means that ancillary programs are often tied to Windows. While they are an attractive technology, it should be noted that Sun SPOTs are still an experimental technology and as such are not recommended for a commercial deployment. As previously stated, Sun SPOTs are currently limited to temperature, light and acceleration Copyright © Sykoinia Limited 2009 10
  • 11. Java Sun SPOTs – A White Paper by Vertoda measurements. The other current issue is battery life – Sun SPOTs need to be frequently recharged as their battery life appears to be inferior to their TinyOS counterparts. This is despite the fact that Sun SPOTs are based on the IEEE 802.15.4 standard for Wireless Personal Area Networks (WPAN) which endeavours to preserve battery life. Figure 2: Solarium Experimental Framework Copyright © Sykoinia Limited 2009 11
  • 12. Java Sun SPOTs – A White Paper by Vertoda Figure 3: Netbeans New Project Dialog Copyright © Sykoinia Limited 2009 12
  • 13. Java Sun SPOTs – A White Paper by Vertoda 3. Encryption & Java Sun SPOTs Sun Research [1] has developed a Java cryptographic library for Sun SPOTs. This cryptographic library supports key exchange and digital signatures based on Elliptic Curve Cryptography (ECC) as well as standard algorithms for hashing and bulk encryption. Deployment of Java code to Sun SPOTs is protected by ECC. Sun SPOTs will only accept code that has been signed by the user. The Digital Signature is used to seal verified byte code on a desktop. This code is then sent over the air or via a USB connection to the Sun SPOT. The signature is then verified on the Sun SPOT before the code is executed. The above is possible because each user’s SDK has a public/private key-pair. Each SPOT stores the trusted public-key of the “owner, the “owner” being the first deployer to the Sun SPOT. The owner has special privileges including the ability to deploy new code or restore the SPOT to an ownerless state. The use of hash chains means that code can be deployed to all SPOTs in a WSN. Secure data communication is also catered for. SPOT applications typically use the com.sun.spot.io.j2me.radiostream class for data transmission. For secure data transmission user can use the sradiostream class. Each SPOT uses a certificate created by the SDK to identify itself in an SSL handshake. Each SPOT trusts its owner SDK to issue certificates. This facilitates communication between SPOTs belonging to the same owner. According to Sun, scenarios such as Trusting Web Certification Authorities and SPOTs belonging to other owners are also supported. In essence, Sun’s ECC Implementation is a small-footprint web server stack (nicknamed “sizzle”) that includes HTTP and SSL. This facilitates control and monitoring of secure data from a web application. Another option for secure transmission over WSNs is Identity Based Encryption (IBE). Currently, no implementation exists for IBE over Sun SPOTs. As IBE is an attractive encryption method for small devices it is worth examining for SPOT WSNs. The principal constraint for IBE implementation on Java Sun SPOTs is that they use J2ME. This means that the java.math library is unavailable. While verification and decryption could be performed on the host computer receiving the data, signing and encryption of data using the SPOT ID would need to be performed on the Sun SPOT. This means that a library would have to be developed for encrypting or signing data on a Sun SPOT. While this is a non-trivial task it appears to be possible. There are implementations of the java.math library for J2ME (for example, see http://www.dclausen.net/projects/microfloat/) and a Java jar file could be created for use by different Sun SPOT applications. Copyright © Sykoinia Limited 2009 13
  • 14. Java Sun SPOTs – A White Paper by Vertoda 4. Conclusion With the exception of battery life Sun SPOTs have several advantages over their TinyOS counterparts. An ECC implementation is provided by Sun for secure data transmission. An IBE implementation is possible even when the constraint of implementing ID-based encryption or signing in J2ME is considered. Copyright © Sykoinia Limited 2009 14
  • 15. Java Sun SPOTs – A White Paper by Vertoda References [1] http://research.sun.com/projects/SecureAdhocComm/security-on-sunspots.pdf Copyright © Sykoinia Limited 2009 15