Waspmote Technical Guide
Development website
  • Initial page
  • Introduction
  • Waspmote kit
  • Waspmote Plug & Sense! - Encapsulated line
  • Hardware
  • Architecture and system
  • Interruptions
  • Energy system
  • Sensors
  • 802.15.4/ZigBee/RF modules
  • LoRaWAN modules
  • LoRa module
  • Sigfox modules
  • WiFi PRO module
  • WiFi PRO V3 module
  • Bluetooth Pro module
  • Bluetooth Low Energy module
  • 4G module
  • NB-IoT / Cat-M module
  • RFID/NFC module
  • Industrial Protocols
  • Expansion Radio Board
  • Over the Air Programming (OTA)
  • Encryption libraries
  • GPS
  • SD memory card
  • Energy Consumption
  • Power supplies
  • Working environment
  • Interacting with Waspmote
  • Meshlium - The IoT Gateway
  • Certifications
  • Maintenance
  • Disposal and recycling
  • Documentation changelog
Powered by GitBook
On this page

Was this helpful?

Encryption libraries

PreviousOver the Air Programming (OTA)NextGPS

Last updated 4 years ago

Was this helpful?

The Encryption Libraries are designed to add to the Waspmote sensor platform the capabilities necessary to protect the information gathered by the sensors. To do so, 2 cryptography layers are defined:

  • Link Layer: In the first one all the nodes of the network share a common preshared key which is used to encrypt the information using AES 128. This process is carried out by specific hardware integrated in the same 802.15.4/ZigBee radio, allowing the maximum efficiency of the sensor nodes energy consumption. This first security layer ensures no third party devices will be able to even connect to the network (access control).

  • Secure Web Server Connection: The second security technique is carried out in Meshlium -the Gateway- where HTTPS and SSH connections are used to send the information to the Cloud server located on the Internet.

A third optional encryption layer allows each node to encrypt the information using the Public key of the Cloud server. Thus, the information will be kept confidentially all the way from the sensor device to the web or data base server on the Internet.

Transmission of sensor data: Information is encrypted in the application layer via software with AES 256 using the key shared exclusively between the origin and the destination. Then the packet is encrypted again in the link layer via hardware with AES 128 so that only trusted packets be forwarded, ensuring access control and improving the usage of resources of the network.

Related API libraries:

  • WaspAES.h, WaspAES.cpp

  • WaspRSA.h, WaspRSA.cpp

  • WaspHash.h, WaspHash.cpp

All information about their programming and operation can be found in the .

All the documentation is located in the in the Libelium website.

Encryption Programming Guide
Development section
Figure: Communication diagram