SharkSSL

SharkSSL
Developer(s) Real Time Logic LLC
Initial release Version 1 November 2006
Stable release Version 3839 March 2016
Written in C and Assembly
Operating system Multi-platform
Available in English, Source Code
Type Security library
License Commercial
Website https://realtimelogic.com/products/sharkssl/

SharkSSL is an SSL v3.0 TLS v1.0/1.1/1.2 implementation of the TLS and SSL protocol standard.[1][2][3] With its array of compile-time options and Raycrypto proprietary cryptographic algorithms, SharkSSL can be fine-tuned to a footprint that occupies less than 20 kB, while maintaining full x.509 authentication. COSIC Cryptography Researchers acknowledge SharkSSL for delivering the fastest, and smallest known implementation for Cortex-M processors.[4]

Library

SharkSSL: Block Diagram

The core SSL library is written in the C programming language and implements the SSL module, the basic cryptographic functions and provides various optional utility functions. Unlike OpenSSL and other implementations of TLS, SharkSSL is designed to fit on small embedded devices, with the minimum complete TLS stack capable of requiring a footprint of less than 20 kB with dependence on variable encryption selections. The library is modular, allowing each component, such as a cryptographic function, to be used in independence from the rest of the framework. Because the library is written in C format, without external dependencies, it maintains the ability to work with almost any industry standard operating system and platform architecture.

Design priorities

The SharkSSL concept is focused on code readability, documentation, and a loosely coupled design to maintain portability. It is designed with hardware crypto engines in mind, using ANSI C and Assembly-optimized big-integer libraries to allow use in embedded devices associated with the Internet of Things (IoT).[5] It uses a simple directory structure with fewer than 10,000 lines of code in the SSL client and server code portions. It provides support for all industry leading processors and may be used with or without hardware-assisted encryption. Unlike Open-source software security projects, where coding standards are unable to be enforced[6] SharkSSL uses a strict programming style to ensure consistent design principles and coding standard.[5]

Transport Agnostic API

SELIB Example Library: Illustrated use concept for other protocol transports

SharkSSL provides a transport agnostic API that may be directly used with any network API, allowing it to be used with any other transport protocol, such as TCP or more lightweight protocols that an embedded system or sensor network may employ. These may include proprietary transport, ZigBee, Bluetooth or use for common applications, such as email, web encryption, file transfer, VoIP and wireless security authentication.[3]

Vulnerability Record

SharkSSL has never experienced a documented remote exploit attack, data bleed vulnerability, security bypass attack, signature verification or common name issue, or pointer violation error. SharkSSL is licensed as source code provided to verifiable legal entities.

Industry Use

SharkSSL has been used for securing cross-industry embedded devices since 2006 and may be found in applications such as: Industrial Automation, Programmable logic controllers, Medical devices, Glucose meters, Electricity meters, HVAC, Consumer electronics, Access Controls, Elevators and has been known to have been adopted by the following IoT alliance associations:

Features

See also

External links

References

This article is issued from Wikipedia - version of the Monday, March 14, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.