SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Ähnlich wie Java Sun SPOTs Overview

Sun Spot Talk
Sun Spot TalkSun Spot Talk
Sun Spot Talkvittalp88
 
MicroEJ software solution for IoT and embedded devices
MicroEJ software solution for IoT and embedded devicesMicroEJ software solution for IoT and embedded devices
MicroEJ software solution for IoT and embedded devicesMicroEJ
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Matt Bynum
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Matt Bynum
 
Air Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless NetworksAir Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless Networksijsrd.com
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environmentdeepers
 
Sunspot Final
Sunspot FinalSunspot Final
Sunspot Finalpauldeng
 
Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignAbhishek Mishra
 
Kahuna Corporate Profile
Kahuna Corporate ProfileKahuna Corporate Profile
Kahuna Corporate Profilekahunasystems
 
Bezirk developer website design process
Bezirk developer website design processBezirk developer website design process
Bezirk developer website design processYing Wang
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOTpauldeng
 
Mobile application platforms - Introduction
Mobile application platforms - IntroductionMobile application platforms - Introduction
Mobile application platforms - IntroductionMobileMonday Switzerland
 
Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Oscar Eduardo
 
Introduction to Java ME Mobile Development
Introduction to Java ME Mobile DevelopmentIntroduction to Java ME Mobile Development
Introduction to Java ME Mobile DevelopmentProf. Erwin Globio
 
Introduction to Java by Java homework experts
Introduction to Java by Java homework expertsIntroduction to Java by Java homework experts
Introduction to Java by Java homework expertsMitchell Lee
 

Ähnlich wie Java Sun SPOTs Overview (20)

JAVA CORE
JAVA COREJAVA CORE
JAVA CORE
 
Sun Spot Talk
Sun Spot TalkSun Spot Talk
Sun Spot Talk
 
Symbian OS
Symbian  OS Symbian  OS
Symbian OS
 
MicroEJ software solution for IoT and embedded devices
MicroEJ software solution for IoT and embedded devicesMicroEJ software solution for IoT and embedded devices
MicroEJ software solution for IoT and embedded devices
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)
 
Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)Demystifying Software Defined Networking (SDN)
Demystifying Software Defined Networking (SDN)
 
Air Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless NetworksAir Programming on Sunspot with use of Wireless Networks
Air Programming on Sunspot with use of Wireless Networks
 
SynapseIndia mobile build apps management
SynapseIndia mobile build apps managementSynapseIndia mobile build apps management
SynapseIndia mobile build apps management
 
Mobile Java
Mobile JavaMobile Java
Mobile Java
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environment
 
Sunspot Final
Sunspot FinalSunspot Final
Sunspot Final
 
Project SpaceLock - Architecture & Design
Project SpaceLock - Architecture & DesignProject SpaceLock - Architecture & Design
Project SpaceLock - Architecture & Design
 
Kahuna Corporate Profile
Kahuna Corporate ProfileKahuna Corporate Profile
Kahuna Corporate Profile
 
Bezirk developer website design process
Bezirk developer website design processBezirk developer website design process
Bezirk developer website design process
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
 
Mobile application platforms - Introduction
Mobile application platforms - IntroductionMobile application platforms - Introduction
Mobile application platforms - Introduction
 
Intro to silverlight_20110602
Intro to silverlight_20110602Intro to silverlight_20110602
Intro to silverlight_20110602
 
Javame sdk-datasheet-167819
Javame sdk-datasheet-167819Javame sdk-datasheet-167819
Javame sdk-datasheet-167819
 
Introduction to Java ME Mobile Development
Introduction to Java ME Mobile DevelopmentIntroduction to Java ME Mobile Development
Introduction to Java ME Mobile Development
 
Introduction to Java by Java homework experts
Introduction to Java by Java homework expertsIntroduction to Java by Java homework experts
Introduction to Java by Java homework experts
 

Kürzlich hochgeladen

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Kürzlich hochgeladen (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

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