RECENT BLOG NEWS

So, what’s new at wolfSSL? Take a look below to check out the most recent news, or sign up to receive weekly email notifications containing the latest news from wolfSSL. wolfSSL also has a support-specific blog page dedicated to answering some of the more commonly received support questions.

It’s the Final Countdown

wolfSSL is about to make its alpha test debut as a Java based SSL provider on Android.  This project took longer than planned, but we now have a version working internally.  Alpha releases are available on a request basis.  We’ll post more here as we make it available early next week. 
 
In the meantime, for your listening and viewing pleasure:  http://www.youtube.com/watch?v=7_IKcMl_a9A.

What’s the difference between wolfSSL and OpenSSL

We’re often asked what differentiates wolfSSL and OpenSSL.  Here’s our list: 
 
a. wolfSSL builds are 20-40 times smaller than OpenSSL.  Hence it is much more useful in embedded ssl implementations.
b. Standards support:  wolfSSL supports TLS 1.1 and 1.2.  OpenSSL does not support TLS 1.1 or 1.2.
c. wolfSSL was built with securing streaming media in mind.  OpenSSL was built before streaming media was popular on the internet. As such, wolfSSL supports the latest streaming ciphers like Rabbit and HC-128 where OpenSSL does not.
d. License:  wolfSSL is GPLv2 or commercial, with a company behind the commercial license.  OpenSSL does not have a clear license. 
e. We have tried to apply Occam’s razor as the guiding philosophy to our implementation of SSL.  As such, our API focuses on the most critical and necessary functionality in order to simplify the problem.  wolfSSL has 20 or so function calls,  and an additional 230 for our OpenSSL compatibility layer.  OpenSSL has over 3,500.
f. Really old code versus relatively new code:  wolfSSL was written starting in 2004.  OpenSSL started in 1995.  Coding standards and requirements are a lot different now.  OpenSSL has a longer legacy to support and maintain.
g. The OpenSSL legacy code comes from supporting usage profiles and operating systems that are no longer mainstream.  The legacy code makes OpenSSL a easier to break and harder to fix. 
h. OpenSSL was written as the SSL/TLS standards were being defined.  Their code went down a number of blind alleys.  We had the luxury of writing our code once the standards were well settled.
 
Please contact us at info@yassl.com if you have comments!  We’ll be happy to re-factor this list with your input!

Running wolfSSL on a GPU

Hi!  wolfSSL is ported to both the Cuda http://en.wikipedia.org/wiki/CUDA  and OpenCL http://en.wikipedia.org/wiki/OpenCL frameworks.  These frameworks are for writing programs that execute on GPU’s, or Graphical Processing Units.  Generally, GPU’s are used for graphics processing, but due to their high production volumes and low cost, they can be useful for math intensive computing.  Early adopters are building super computers based on GPU’s for various purposes.  For example:  http://hardware.slashdot.org/story/09/12/16/2255259/FASTRA-II-Puts-13-GPUs-In-a-Desktop-Supercomputer.  Search Slashdot for GPU for more examples. 
 
wolfSSL is ported to GPU’s because it is a low cost way to leverage GPU compute power for SSL offload, and can be much more cost effective for building SSL appliances. 
 
Let us know at info@yassl.com if you are interested in running SSL on a GPU.  We’ll be happy to support you!

wolfSSL Java SSL Provider Alpha Released

We have released an Alpha of our SSL Provider for Java.  Currently supporting Mac and Linux operating systems, this provider enables Java developers to use wolfSSL through the javax.net.ssl package.  By using this, Java developers can use familiar syntax and API calls to gain the speed and size advantages that the wolfSSL embedded SSL library provides.

Being in the Alpha stage, this provider currently only offers client functionality.  If you want to give our provider a try, please download it from our additional downloads page here.  Instructions for installation can be found in the README file included with the download.

We look forward to your feedback!

HealthVault applications for iphone and Android using wolfSSL

We`re thinking about implementing the security layer under Java to enable HealthVault applications for iphone and Android using our wolfSSL embedded ssl.  This means we`ll support the proper certificate generation for HealthVault applications that want to allow their users to securely access HealthVault information from iphone and Android devices.  As such, we`re interested in finding HealthVault application providers interested in iphone or Android.  Are you interested in device based HealthVault?  If yes, then please contact us at info@yassl.com.

wolfSSL Embedded SSL for Android

The wolfSSL library for Android is almost ready for alpha testing.  The project has taken us longer than anticipated!  The key benefits to the new technology include:
 
1.       Better performance than Android’s native SSL support through OpenSSL.
2.       Smaller footprint.
3.       Tight, seamless integration with Java as an SSL Provider. 
 
The follow through of the project will also drive release of wolfSSL as a Java based SSL provider on other platforms.  The initial targets are Mac and Linux.  If you are interested in using wolfSSL hosted in Java, then contact us at info@yassl.com.

Mongoose Embedded Web server and wolfSSL Embedded SSL

Hi!  One of our users recently requested that wolfSSL become compatible with Mongoose.  As such, we have recently made changes to the wolfSSL 1.5.4 embedded ssl library to make it build seamlessly with the Mongoose embedded web server.  Essentially this meant that we made minor enhancements to wolfSSL’s openssl compatibility layer to accomplish a clean build.  Everything should build cleanly at this point, but let us know if you face any issues.  If you build with wolfSSL instead of OpenSSL, you will get a smaller resulting build.  You can contact us with any support issues you face at info@yassl.com.

Using AES-NI in the wolfSSL embedded ssl library version 1.5.4

Hi!  Most of our readers will already know that AES is a key encryption standard used by governments worldwide, and that wolfSSL has always supported AES. 
 
Intel has released a new set of instructions that is a faster way to implement AES, and wolfSSL is currently the first ssl library to fully support the new instruction set for production environments. 
 
Essentially, Intel has added AES instructions at the chip level that perform the compute intensive parts of the AES algorithm, boosting performance. 
 
What we’ve done is add the functionality to wolfSSL to allow it to call  the instructions directly from the chip, instead of running the algorithm in software.  This means that when you’re running wolfSSL on a chipset that supports AES-NI, you can run your AES crypto 5-10 times faster! 
 
If you’re doing some benchmarking for your environment, let us know at info@yassl.com we’ll be happy to support you with the effort.  Our current benchmarks are in the lab, and we’d like to work with users that can help us further define real world expectations for speed improvements from AES-NI.
 
References and further reading, ordered from general to specific: 
 
Wikipedia entry on AES:  http://en.wikipedia.org/wiki/Advanced_Encryption_Standard
Wikipedia entry on AES-NI:  http://en.wikipedia.org/wiki/AES_instruction_set
Intel Software Network page on AES-NI:   http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-instructions-aes-ni/
 
See the readme of wolfSSL 1.5.4 for instructions on building with AES-NI.

Using the wolfSSL embedded ssl library for digitally signing and authenticating

wolfSSL is a popular tool for digitally signing applications, libraries or files prior to loading them on embedded devices.  Most desktop and server operating systems allow creation of this type of functionality through system libraries, but stripped down embedded operating systems do not.  The reason that embedded RTOS environments do not include digital signature functionality is because it has historically not been a requirement for most embedded applications.  However, the times they are a changing.  In today’s world of connected devices and heightened security concerns, digitally signing what is loaded onto your embedded or mobile device has become a top priority.  Examples of embedded connected devices where this requirement was not found in years past include set top boxes, DVR’s, POS systems, both VoiP  and mobile phones, and even automobile based computing systems.  Because wolfSSL supports the key embedded and real time operating systems, encryption standards and authentication functionality, it is a natural choice for embedded systems developers to use when adding digital signature functionality.
 
Generally, the process for setting up code and file signing on an embedded device are as follows:
 
1. The embedded systems developer will generate an RSA key pair.
2. A server side script based tool is developed
a. The server side tool will create a hash of the code to be loaded on the device with SHA-256 for example.
b. The hash is then digitally signed, also called a RSA private encrypt.
c. A package is created that contains the code along with the digital signature.
1. The package is loaded on the device along with a way to get the RSA public key.  The hash is re-created on the device then digitally verified (also called RSA public decrypt) against the existing digital signature.
 
Benefits to enabling digital signatures on your device:
 
1. Easily enable a secure method for allowing third parties to load files to your device.
2. Ensure against malicious files finding their way on to your device.
3. Digitally secure firmware updates
4. Ensure against firmware updates from unauthorized parties
 
Do you need help setting up code signing for your embedded device?  Let us know as we can help setting up servers side scripts as well as on the device side.  Contact us at info@yassl.com.
 
More background on code signing:
 
A great article on the topic at embedded.comhttp://embedded.com/design/216500493?printable=true
 
General information on code signing:   http://en.wikipedia.org/wiki/Code_signing

Benchmarking an Embedded SSL Library

Hi!  We’re planning to build a benchmark tool for our users.  We believe that developers like to make an informed choice, and benchmarking is the key to getting informed about tools like wolfSSL.  Size and TPS are usually at the top of the agenda when benchmarking an SSL library, but other considerations can come into play as well.  For example, does the library support TLS version 2, or does it only support SSL 3.0 or TLS version 1?  Does the library support DTLS?  How do the various ciphers perform against each other under different load types?

The first version of our SSL benchmark tool will only benchmark wolfSSL, but we hope to expand its scope over time to compare other open source SSL libraries as well.  Please contact us at info@wolfssl.com if you have input on other parameters that should be benchmarked or if you are interested in participating in the development of the tool.  We’re also thinking of breaking with our traditional yet boring “yet another” naming convention and calling the benchmark tool something else, like “Hungry Wolf” or “SSL Slapper” to spice things up.  As such, email us if you think you have a great name idea for the tool!

Posts navigation

1 2 3 175 176 177 178 179 180 181

Weekly updates

Archives