wolfSSL and TomatoUSB


The TomatoUSB community has integrated wolfSSL into the TomatoUSB Firmware as of release 53. wolfSSL is being used in non-VPN editions of the firmware to provide SSL support for httdp and dyndns. They have upgraded to TLS 1.0 from SSL v 2/3 which was previously being used.

TomatoUSB is an alternative linux-based firmware for powering Broadcom-based ethernet routers. It is a modification of the famous Tomato firmware. Some of the added enhancements include support for USB port, wireless-N mode support, and support for several newer router models.

We always like to support community projects which use our products. If you have an open source project and are using wolfSSL or one of our other products, let us know and we’ll gladly support you. If you have questions or would like more information, please contact us at info@yassl.com.

For more information about the TomatoUSB project, visit their website: http://tomatousb.org/

yaSSL Annual Report

yaSSL made dramatic progress this year on a number of fronts, notably in open source community usage, embedded systems adoption, and technology improvements!  Here’s what we’ve done this year, with an outline of our plans for the year to come in a blog post to follow:

1.  Participated in 4 industry events, including OSCON, Embedded Live, Embedded Systems Computing, and ARM TechCon.

  1. 2. We launched a new and improved web site including new product support forums.

3.  We’ve made significant incremental improvements to our documentation.

4.  New partners!  We’ll announce two new resale partners next week!

5.  New technology partners: Canonical, Red Hat, Novell, Freescale and Express Logic.

6.  Added a new Competitive Upgrade Program for CyaSSL.  More details can be found at our Consulting Services page, under “Rip and Replace Competitive Upgrade

Our long list of technology improvements includes:

1.  ThreadX port.  CyaSSL now supports building and running on ThreadX “out of the box”.

2.  GoAhead Web Server port.  CyaSSL now builds and runs with the GoAhead Web Server through the CyaSSL OpenSSL compatibility layer.

3.  Sniffer.  CyaSSL now has the ability to sniff an SSL session with the server’s private key and decode the application data.

4.  Swig.  CyaSSL has a swig interface file to allow multiple language access.

5.  Python.  CyaSSL now has some python bindings for CTaoCrypt.

6.  AES-NI.  CyaSSL now has AES-NI assembly optimizations for supported Intel hardware “Westmere”.

7.  ARM.  CyaSSL now has assembly optimizations for fastmath Public Key operations.

8.  Mongoose.  CyaSSL now builds and runs with the Mongoose Web Server with the CyaSSL OpenSSL compatibility layer.

9.  JSSE.  CyaSSL can now be a plug-in for system Java SSL Providers on OS X and Linux.

10.  Android.  CyaSSL is now ported to Android.

11.  SHA-512.  CyaSSL now supports the SHA-512 hash on systems with support for 64 bit types.

12.  RIPEMD-160.  CyaSSL now supports RIPEMD-160 as a hashing algorithm.

13.  Key generation.  CyaSSL now supports key generation.

14.  Certificate generation.  CyaSSL now supports certificate generation.

15.  yaSSL Embedded Web Server.  Our “own” web server with CyaSSL for security.

16.  Low static memory.  CyaSSL went from a default of 48kB static memory per SSL session to 4kB. (alpha)

17.  Low dynamic memory.  CyaSSL decreased runtime dynamic memory use. (alpha)

18.  Porting.  Increased the portability/flexibility of using CyaSSL on non-standard build environments with an OS header with defines that control the build.

19.  No stdlib.  CyaSSL can now be built without any C standard library headers, developers can now use their own “standard” library plug-in. (alpha)

20.  Secure memcache.  CyaSSL can now be used to secure memcache network communication including client/patient sensitive data/health records from internal and external snoopers locally and in the cloud. (beta)

21.  Mbed.  CyaSSL can be built and run on the Mbed microcontroller. (alpha)

We’re happy with our progress this year, and look forward to making even more improvements next year!  We’ll be going into 2011 with greater resources and plan to move this project and business forward at an even faster rate.

Initial Results of wolfSSL on mbed

Recently we’ve been working on porting wolfSSL over to mbed (http://mbed.org/). Now that we have things working, we can report some initial results. wolfSSL takes 2.9 kB of RAM (10% of total) and 63 kB of Flash (13%).  That includes our test driver code which is about 3 kB.

On our test machine, we ran some benchmarks of CTaoCrypt and compared them to the results of running on the mbed. You can see that the results of running on the mbed were much slower, but not bad for a 96 Mhz processor with very limited memory.

On our desktop machine, for fastmath RSA 1024 bit:

public  RSA: 0.06 milliseconds
private RSA: 0.61 milliseconds

On the mbed for fastmath RSA 1024 bit:

public  RSA:  10 milliseconds
private RSA: 165 milliseconds

If you would like more information about these tests or our products, please contact info@yassl.com.

Statistics and Projections on Connected Consumer Devices

The average consumer in the US will “own 5-10 web-enabled devices by 2014” according to In-Stat.  See here for details:  http://www.embeddedinternetdesign.com/showArticle.jhtml?articleID=228300296 (as of 26 March 2018 at 9:20am MDT, this link is broken and has no alternative). By our reckoning, that means about 200 Million devices that need to be enabled with embedded SSL to assure privacy and safety.  We’ll have our work cut out for us at yaSSL.com, which means we need more staff!  We’re hiring, and if you’re reading this, then you’re probably interested in this kind of embedded systems stuff, you like your command line, engage in arguments over code editors (VI vs. Emacs (we’re a VI shop)), and know how to write small, tight, portable code.  Let us how you would like to contribute or send your resume or CV to larry@yassl.com!

A great article that can act as a primer on extracting data from embedded systems, as well as give some  ideas on securing them in the first place. 

From the article:  “During a forensic autopsy an artificial pacemaker was secured for forensic information analysis. An academic hospital was contacted and they had equipment to read the data from this pacemaker via a wireless interface. The extracted information contained around 10 pages of details like name and date of birth of the patient, timestamps of hospital service, technical parameters, and stored measurement details related to the heart function.”
The article is a part of a series of extracts from a useful book called “Handbook of Digital Forensics and Investigation.”
See the excerpts here:  http://www.embeddedinternetdesign.com/showArticle.jhtml?articleID=228300358 (as of 26 March 2018 at 9:18am MDT, this link is broken and has no alternatives).

Initial results in porting wolfSSL to the mbed MCU

As previously stated here, wolfSSL is getting ported to the mbed chip.  We’ve done the initial build and the results were pretty good.  wolfSSL takes 2.9 kB of RAM (10% of total) and 63 kB of Flash (13%).  That includes the test driver code which is about 3 kB.  More information to follow!  If you’re interested in building wolfSSL for mbed (http://mbed.org/), let us know and we’ll be happy to support you.

TLS extension parsing race condition issue affects only OpenSSL, not wolfSSL

Hi!  If you’re wondering, as some are, whether there is any issues with wolfSSL for CVE-2010-3864, the TLS extension parsing race condition, then please note that this issue only affects OpenSSL, not wolfSSL.  CVE-2010-3864 is an issue specific to OpenSSL, which is an entirely different SSL library than wolfSSL.  This issue is not general to the TLS protocol, and has no relation to wolfSSL.

Embedded Web Server for AVR

The yaSSL Embedded Web Server for AVR has some optimizations our users might want to hear about:  Assembly code for the AVR and AVR 32 instruction sets in the SSL cryptography. Assembly code for the AVR 32 instruction set speeds up public key operation during the SSL handshake.  Need to use it?  Already using it?  Let us know if you need any help with further optimizations or find any bugs!

What’s the difference between wolfSSL Embedded SSL and OpenSSL?

Hi!  If you came to our site because you are considering wolfSSL as an alternative to OpenSSL, this blog post is your cheat sheet that details the differences between the two products:
1. Size:  With a 30-40k build size, wolfSSL is 20 times smaller than OpenSSL.  wolfSSL is a better choice for resource constrained environments.
2. Standards Support:  wolfSSL is up to date with the most current standards of TLS 1.2 with DTLS, which OpenSSL has yet to address.
3. Support for streaming media:  wolfSSL is up to date with the best current ciphers and standards for streaming media support.
4. Embedded systems support:  wolfSSL is the leading  SSL library for real time, mobile and embedded systems, by virtue of its breadth of platform support and successful implementations on embedded environments.
5. Commercial licensing available from the source of the code:  wolfSSL is available under proper commercial licenses direct from Montana, or under the GPL, whereas OpenSSL is available only under their unique license from multiple sources.
If you have further questions on how we compare ourselves to OpenSSL, please contact us at info@yassl.com.  

Securing Machine-to-Machine Communication with wolfSSL

Machine-to-machine communication takes place between both wired and wireless systems all around the world every day. As stated here, “M2M uses a device (sensor, meter, etc.) to capture an ‘event` (temperature, inventory level, etc.), which is relayed through a network (wireless, wired or hybrid) to an application (software program), that translates the captured event into meaningful information (e.g., items need to be restocked).”

M2M communication holds a very important part in many business actions and decisions an as such needs to be secured. If your device has a TCP/IP stack in place, SSL, specifically wolfSSL, is an optimal solution for this problem.

wolfSSL is a small and lightweight embedded SSL library, offering your M2M devices a security solution which fits inside your resource constraints. If you have questions or would like more information on how you can use yaSSL products to enhance your M2M communication, please contact info@yassl.com

Posts navigation

1 2 3 173 174 175 176 177 178 179 183 184 185