RECENT BLOG NEWS
What comes next after smartphones?
As participants in securing the mobile internet tsunami, we’ve been keeping a keen eye on the future security needs of the next generation of devices. We view it from both project involvement and product management for our embedded SSL and embedded web server products. This article https://www.eetimes.com/author.asp?section_id=36&doc_id=1265933 at Embedded Internet Design gives a view of what’s coming next in smartphones.
If you’re also guy or a gal out there tinkering with this stuff and testing your ideas with an eye on security, take a look at the beagleboard, pandaboard, and mbed. wolfSSL and the yaSSL Embedded Web server will be there for you!
Book review on ?C/TCP-IP by Christian Legare
We’ve integrated wolfSSL with ?C/TCP-IP and can say it is an excellent implementation well designed for embedded systems. In fact, we can say that the integration process drove us to make some great improvements to our product. For example, our next release will not require the standard C library for even greater flexibility when implementing SSL. But more about that later! Here’s the link to the book review:
https://www.eetimes.com/author.asp?section_id=31&doc_id=1284762
Final excerpt from “Handbook of Digital Forensics and Investigation” now online at EmbeddedInternetDesign.com
This is a great article series. The link can be found here: http://www.embeddedinternetdesign.com/228600068;jsessionid=UJUQFSMN5QD15QE1GHRSKH4ATMY32JVN?pgno=1 (as of 26 March 2018 at 9:21am MDT, this link is broken and has no alternative).
Our SSL Programming Tutorial is Up
We have recently released an SSL programming tutorial which walks through the process of integrating wolfSSL into a simple application. The wolfSSL embedded SSL library is used, along with a simple echoserver and echoclient. The echoserver and echoclient examples have been taken from the popular book titled Unix Network Programming, Volume 1, 3rd Edition by Richard Stevens, Bill Fenner, and Andrew Rudoff.
Some of the topics covered in this SSL coding tutorial include:
– Required libraries
– What headers are needed
– Startup and Shutdown of wolfSSL
– Sending Data over an SSL connection
– Importing and using Certificates
The SSL tutorial can be found here: SSL Tutorial. All of the source code for the examples is available for download and is linked to from the SSL tutorial webpage.
If you have any questions, feel free to post to our support forums (www.yassl.com/forums), or contact us at info@yassl.com.
wolfSSL and TomatoUSB
Hi!
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. 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 wolfSSL. 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. wolfSSL now supports building and running on ThreadX “out of the box”.
2. GoAhead Web Server port. wolfSSL now builds and runs with the GoAhead Web Server through the wolfSSL OpenSSL compatibility layer.
3. Sniffer. wolfSSL now has the ability to sniff an SSL session with the server`s private key and decode the application data.
4. Swig. wolfSSL has a swig interface file to allow multiple language access.
5. Python. wolfSSL now has some python bindings for CTaoCrypt.
6. AES-NI. wolfSSL now has AES-NI assembly optimizations for supported Intel hardware “Westmere”.
7. ARM. wolfSSL now has assembly optimizations for fastmath Public Key operations.
8. Mongoose. wolfSSL now builds and runs with the Mongoose Web Server with the wolfSSL OpenSSL compatibility layer.
9. JSSE. wolfSSL can now be a plug-in for system Java SSL Providers on OS X and Linux.
10. Android. wolfSSL is now ported to Android.
11. SHA-512. wolfSSL now supports the SHA-512 hash on systems with support for 64 bit types.
12. RIPEMD-160. wolfSSL now supports RIPEMD-160 as a hashing algorithm.
13. Key generation. wolfSSL now supports key generation.
14. Certificate generation. wolfSSL now supports certificate generation.
15. yaSSL Embedded Web Server. Our “own” web server with wolfSSL for security.
16. Low static memory. wolfSSL went from a default of 48kB static memory per SSL session to 4kB. (alpha)
17. Low dynamic memory. wolfSSL decreased runtime dynamic memory use. (alpha)
18. Porting. Increased the portability/flexibility of using wolfSSL on non-standard build environments with an OS header with defines that control the build.
19. No stdlib. wolfSSL can now be built without any C standard library headers, developers can now use their own “standard” library plug-in. (alpha)
20. Secure memcache. wolfSSL 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. wolfSSL 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.
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.
-
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).
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
Assembly-Based Performance Optimizations for ARM in wolfSSL
Earlier this week we stated our commitment to ARM by explaining our assembly code optimizations on a number of our math intensive cryptography operations. To give you more information, these optimizations are for Public Key operations with the CTaoCrypt fastmath option. This translates to a speed increase when using RSA, Diffie-Hellman, or DSA.
If you dive into our code, these optimizations can be found in the asm.c source file.
Today, Team yaSSL continues to exhibit at the ARM Technology Conference in Santa Clara, CA. If you are in the area, feel free to stop by our booth to visit or contact us at info@yassl.com with any questions.
The ARM Powered Corvette
The yaSSL booth at ARM TechCon is perfectly situated to check out the QNX based/ARM based Corvette on the show floor. It’s a silver beauty! See the pictures below.
Reminder: if you’re building a QNX based car computer and need to secure it with small embedded SSL solution, then contact us. One of the earliest wolfSSL users did just that, so we have some experience in the domain.
yaSSL lays plans to secure mbed based racing robots
Hi! As you may know from reading our posts here, Team yaSSL is exhibiting at ARM TechCon this week. What you may not know is that we’ve been working with ARM’s mbed.org team to facilitate a port of wolfSSL to mbed. Why? Because hobbyists need security too! And it is fun.
Here at ARM TechCon, mbed has paired with Pololu to create an mbed-based robot. Additionally, these two companies have created a contest for developers to race the robots based on the program they write. We’re going to help ensure a robot does not lose because its communication is subject to an MITM attack!
Weekly updates
Archives
- December 2024 (4)
- November 2024 (29)
- October 2024 (18)
- September 2024 (21)
- August 2024 (24)
- July 2024 (27)
- June 2024 (22)
- May 2024 (28)
- April 2024 (29)
- March 2024 (21)
- February 2024 (18)
- January 2024 (21)
- December 2023 (20)
- November 2023 (20)
- October 2023 (23)
- September 2023 (17)
- August 2023 (25)
- July 2023 (39)
- June 2023 (13)
- May 2023 (11)
- April 2023 (6)
- March 2023 (23)
- February 2023 (7)
- January 2023 (7)
- December 2022 (15)
- November 2022 (11)
- October 2022 (8)
- September 2022 (7)
- August 2022 (12)
- July 2022 (7)
- June 2022 (14)
- May 2022 (10)
- April 2022 (11)
- March 2022 (12)
- February 2022 (22)
- January 2022 (12)
- December 2021 (13)
- November 2021 (27)
- October 2021 (11)
- September 2021 (14)
- August 2021 (10)
- July 2021 (16)
- June 2021 (13)
- May 2021 (9)
- April 2021 (13)
- March 2021 (24)
- February 2021 (22)
- January 2021 (18)
- December 2020 (19)
- November 2020 (11)
- October 2020 (3)
- September 2020 (20)
- August 2020 (11)
- July 2020 (7)
- June 2020 (14)
- May 2020 (13)
- April 2020 (14)
- March 2020 (4)
- February 2020 (21)
- January 2020 (18)
- December 2019 (7)
- November 2019 (16)
- October 2019 (14)
- September 2019 (18)
- August 2019 (16)
- July 2019 (8)
- June 2019 (9)
- May 2019 (28)
- April 2019 (27)
- March 2019 (15)
- February 2019 (10)
- January 2019 (16)
- December 2018 (24)
- November 2018 (9)
- October 2018 (15)
- September 2018 (15)
- August 2018 (5)
- July 2018 (15)
- June 2018 (29)
- May 2018 (12)
- April 2018 (6)
- March 2018 (18)
- February 2018 (6)
- January 2018 (11)
- December 2017 (5)
- November 2017 (12)
- October 2017 (5)
- September 2017 (7)
- August 2017 (6)
- July 2017 (11)
- June 2017 (7)
- May 2017 (9)
- April 2017 (5)
- March 2017 (6)
- January 2017 (8)
- December 2016 (2)
- November 2016 (1)
- October 2016 (15)
- September 2016 (6)
- August 2016 (5)
- July 2016 (4)
- June 2016 (9)
- May 2016 (4)
- April 2016 (4)
- March 2016 (4)
- February 2016 (9)
- January 2016 (6)
- December 2015 (4)
- November 2015 (6)
- October 2015 (5)
- September 2015 (5)
- August 2015 (8)
- July 2015 (7)
- June 2015 (9)
- May 2015 (1)
- April 2015 (4)
- March 2015 (12)
- January 2015 (4)
- December 2014 (6)
- November 2014 (3)
- October 2014 (1)
- September 2014 (11)
- August 2014 (5)
- July 2014 (9)
- June 2014 (10)
- May 2014 (5)
- April 2014 (9)
- February 2014 (3)
- January 2014 (5)
- December 2013 (7)
- November 2013 (4)
- October 2013 (7)
- September 2013 (3)
- August 2013 (9)
- July 2013 (7)
- June 2013 (4)
- May 2013 (7)
- April 2013 (4)
- March 2013 (2)
- February 2013 (3)
- January 2013 (8)
- December 2012 (12)
- November 2012 (5)
- October 2012 (7)
- September 2012 (3)
- August 2012 (6)
- July 2012 (4)
- June 2012 (3)
- May 2012 (4)
- April 2012 (6)
- March 2012 (2)
- February 2012 (5)
- January 2012 (7)
- December 2011 (5)
- November 2011 (7)
- October 2011 (5)
- September 2011 (6)
- August 2011 (5)
- July 2011 (2)
- June 2011 (7)
- May 2011 (11)
- April 2011 (4)
- March 2011 (12)
- February 2011 (7)
- January 2011 (11)
- December 2010 (17)
- November 2010 (12)
- October 2010 (11)
- September 2010 (9)
- August 2010 (20)
- July 2010 (12)
- June 2010 (7)
- May 2010 (1)
- January 2010 (2)
- November 2009 (2)
- October 2009 (1)
- September 2009 (1)
- May 2009 (1)
- February 2009 (1)
- January 2009 (1)
- December 2008 (1)