RECENT BLOG NEWS
FIPS 140-3 Announcement to the world
wolfSSL Inc. is very pleased to announce our wolf pack has successfully hunted down and captured the ever elusive FIPS 140-3 certificate! The world’s first automated submission (SP800-140Br1) FIPS 140-3 validated certificate #4718 posted to the NIST website on July 11th 2024, valid through July 10th, 2029!
“wolfSSL remains focused on enhancing our technologies and expanding capabilities. We are dedicated to continuous innovation in security. The advancements in our FIPS 140-3 module highlight our commitment to delivering state-of-the-art cryptographic solutions that meet the rigorous demands of today’s cybersecurity landscape.” Stated wolfSSL CTO, Todd Ouska.
We are thrilled to work with ÆGISOLVE, INC. on this journey. The wolfSSL team is grateful for the ÆGISOLVE staff’s hard-work and dedication in realizing the very first SP800-140Br1 140-3 certificate in the world! A note from the ÆGISOLVE team:
“‘AEGISOLVE is pleased to announce the world’s first SP800-140Br1 compliant FIPS 140-3 Validation Certificate for wolfSSL’s wolfCrypt module’ reported Travis Spann, Founder and President of AEGISOLVE (NVLAP Lab Code: 200802-0).
‘As a first of its kind, this is a tremendous achievement and a huge step forward for the next generation of FIPS 140-3 Validated Cryptographic Modules. Congratulations, wolfSSL!
Highlights
- Boot Times
- wolfCrypt FIPS 140-2, power-on times could be slower due to mandatory self-tests
- wolfCrypt FIPS 140-3 requires self-tests only at the first algorithm use or during a slower event cycle
- faster boot times
- optimal power and resource consumption with careful planning!
- Design
- The wolfCrypt FIPS 140-3 validated module is the only commercial FIPS solution tailored for embedded
- Emphasis on a minimal footprint, low resource use, reduced power consumption, and high performance for standard and real time systems
- Design leads to superior scalability across devices, from mobile to server
- 10 times more connections per device at 15-20% better performance than competing solutions.
- The wolfCrypt FIPS 140-3 validated module is the only commercial FIPS solution tailored for embedded
- OpenSSL Replacement
- Embeddability
- Embedded Systems (Medical, networking, sensors, security systems, etc.)
- Extended Battery life and high performance
- Hardware Encryption Support
- Assembly Acceleration
Changes from the historic wolfCrypt FIPS 140-2 cert #3389 to the active wolfCrypt FIPS 140-3 cert #4718:
- CAST (conditional algo self tests)
- KDF-TLS, TLS v1.2 KDF and TLSv1.3 KDF
- SSH KDF
- AES-OFB mode
- RSA 3072, 4096 and PSS
- New Degraded mode of operation in the event of a CAST failure other algorithm services will remain available.
For more about what FIPS is please checkout these blogs:
- What is FIPS (long version)
- What is FIPS (short version)
- Webinar: Everything You Need To Know About FIPS 140-3
For information on transitioning from 140-2 to 140-3 please checkout our blog: What is the difference between FIPS 140-2 and FIPS 140-3?
Algo cert Link
Security Policy Link
Ref: Section 2.5 Algorithms
Ref: Section 2.2 Table 6 “Tested Operational Environments – Software, Firmware, Hybrid”
Cert #4718 Link
For questions, comments or feedback please contact the wolfSSL team anytime at fips@wolfssl.com.
Download wolfSSL Now
wolfTPM release: v3.6.0
We are proud to announce the next release of wolfTPM that includes minor bug fixes and some exciting new features. The v3.6.0 release is incremental and part of our quarterly release schedule. Each release goes through additional testing including tests on actual TPM 2.0 hardware.
This release includes minor bug fixes and new features such as:
- Provisioning the initial device (IDevID) and initial attestation (IAK)
- New key templates and examples
- New build option –enable-provisioning or WOLFTPM_PROVISIONING
- Improved support for parsing for all TPM2_GetCapability capabilities
- Improved the TPM TLS examples for use with WOLFTPM_MFG_IDENTITY
- New TPM2_Certify example
- New wolfTPM2_CreatePrimaryKey_ex API for creation ticket
- Tested support with Nations NS350 TPM
The minor issues fixed are:
- Issue with TPM2_GetRCString and RC_WARN error codes (broken in v3.4.0)
- Issue with TPM2_SetupPCRSel on some PCR selection edge cases
- Improved building without ECC or RSA or file system
The new v3.6.0 release can be downloaded on our website or on GitHub.com/wolfssl/woltpm
If you have questions about ay of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
Java JSSE Support for DTLS 1.3
wolfSSL is exploring adding DTLS support, up to the current DTLS 1.3 level, to our Java JSSE provider, wolfJSSE. Are you interested in using DTLS 1.3 from Java? If so, we would like to hear more about your desired use case!
DTLS 1.3 is the latest version of the Datagram TLS (DTLS) standard, which builds upon the progressive changes of TLS 1.3. The native C implementation of the wolfSSL SSL/TLS library has supported DTLS 1.3 since June 2022 with the 5.4.0 release. Native wolfSSL supports DTLS 1.0, 1.2, and 1.3.
If you’re just learning about DTLS, a few helpful resources include our blog about What’s new in DTLS 1.3, DTLS 1.3 Benchmarks, and DTLS 1.3 Examples and Use Cases. We also have a nice webinar on “DTLS 1.3 Training” up on our YouTube channel.
If you’re interested in using DTLS from Java, reach out and let us know your preferred use case, JDK implementation, and platform at facts@wolfSSL.com.
If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
Do you need post quantum versions of Apache, NGINX, Lighttpd, cURL, or stunnel?
Our wolfSSL library has several post-quantum algorithms built in, but on their own, they aren’t always useful. How else can the PQC algorithms be used in production? Well, one of our areas of expertise is getting other open-source projects working with wolfSSL and then getting those integrations using post-quantum algorithms. We have post-quantum integrations with multiple web servers, a web client, and a secure tunneling solution. Read on to learn more!
For a more heavy-duty and reliable web server with professional production-ready code, we have a post-quantum integration with Apache.
For a lighter-weight yet fully featured and dependable alternative, you can turn to our post-quantum enabled Nginx integration.
Our wolfSSL library excels in constrained environments as does Lighttpd. For the most bare bones environments, our lighttpd post-quantum integration is likely the right choice.
And for the client side, we have also made the cURL web client quantum-safe! See this video for instructions on how to build.
If you’ve got an application where making changes is difficult due to legacy software, we’ve got our post-quantum integration with stunnel to make your migration a breeze.
Go ahead and try out these open source integrations! We are eager for your feedback, and happy to support your efforts Whether it be as part of a hackathon or as an experiment to understand feasibility or to gather benchmarking data, trying out these integrations is a great step in your plan for migration to post-quantum algorithms.
If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
wolfBoot release: v.2.3.0
wolfBoot 2.3.0 has finally been released! The universal secure bootloader extends its support to new platforms, improves existing ports, and introduces new groundbreaking features that set the pace to defining secure-boot for the next generation of embedded systems.
A New Era of Secure Boot with ML-DSA and Hybrid Authentication
The introduction of quantum resistant algorithms in the latest releases of wolfSSL has accelerated the integration of asymmetric cryptography in our secure boot solution. In 2023, wolfBoot v2.0.0 expanded its signature verification algorithms to include the hash-based stateful signatures LMS (+HSS) and XMSS (^MT). wolfBoot v2.3.0 further extends these options by introducing ML-DSA, as specified in FIPS-204, for verifying the authenticity of firmware and other critical components. Support for ML-DSA in wolfBoot is currently available in three variants: ML-DSA-44, ML-DSA-65 and ML-DSA-87, corresponding to NIST security category 2, 3 and 5, respectively.
Hybrid Authentication: Post-Quantum Meets Classic Cryptography
One of the most anticipated features in WolfBoot 2.3.0 is its support for hybrid authentication, a method that combines Post-Quantum Cryptography (PQC) algorithms with traditional cryptographic techniques like ECC and RSA. This hybrid approach strengthens security by combining the resilience of PQC, which resists quantum attacks, with the well-established reliability of classic algorithms. Pairing PQC algorithms with ECC521 offers a path toward CNSA 2.0 compliance, a set of guidelines for systems demanding the highest levels of security.
Hybrid authentication in WolfBoot secures the boot process by signing and validating boot images with a combination of PQC and traditional cryptography. This dual-layer protection approach ensures that even if one algorithm becomes vulnerable, the other remains resilient, offering a future-proof strategy for embedded systems as quantum computing capabilities grow.
Boot time optimization and performance monitoring
Thanks to the newly introduced assembly optimization for ARM in wolfCrypt, image verification times have been dramatically reduced. These ARM optimizations are now enabled by default on all Cortex-M devices.
New benchmark tools have been added to our continuous integration environment, to ensure that we can constantly monitor boot time, footprint size, runtime memory usage and other performance indicators.
Improved keystore and keyvault management
Starting with wolfBoot 2.3.0, it is now possible to store public keys of different sizes in the same trust anchor. This is a crucial feature to allow double signature verification in hybrid mode, or when integrating heterogeneous components in the boot chain, involving more than one cipher at a time.
PKCS11 key vault storage drivers have also been improved, and can now reliably store keys in non-volatile memories, ensuring compatibility with wolfPKCS11.
Hardware support
In this version, the following new targets have been added to the list of hardware platforms we support:
- Infineon AURIX TriCore TC3xx
- Microchip AT-SAMA5D3
- Nordic nRF5340
Moreover, the support for some of the existing ports has been improved and stabilized. During the development of wolfBoot v. 2.3.0 we mostly worked on the following targets:
- NXP i.MX-RT family: the capabilities have been extended, including the support for built-in High-Assurance Boot (HAB) mechanism, provided by the manufacturer. Flash interaction has improved, and DCACHE invalidation has been fine-tuned to increase performance
- Renesas RX: improvements introduced for this family of microcontrollers include the introduction of a full-flash erase operation, a more efficient flash management and support for boot-time IRQ.
- Raspberry Pi: added UART driver
Find out more about wolfBoot
Join our webinar “What’s new in wolfBoot” on November 21, 2024 to discover more details about wolfBoot 2.3.0 and our real-life scenarios for post-quantum cryptography adoption.
If you want to share your secure-boot experience with us or ask us anything on this topic, reach out via email at facts@wolfSSL.com or call us at +1 425 245 8247.
Download wolfSSL Now
What’s New in wolfSSH 1.4.19
The latest version of wolfSSH, 1.4.19, brings improvements, stability fixes and an additional feature! DH Group 14 with SHA-256 Key Exchange (KEX) support was added in with this release.
Along with this new feature some of the improvements that were added are: CI testing, macro guards around TTY modes, use of wolfSSL kyber implementation, and an update to the Espressif example. Among the fixes there were additions for gracefully handling non-existent directories with SFTP and handling of re-key/window full cases with wolfSSHd. For a full list of changes see the bundled ChangeLog.md
Contact facts@wolfSSL.com for more information regarding wolfSSL and wolfSSH.
If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
Live Webinar: Ensuring Security in Avionics with DO-178C Conformance
Learn about the critical role of DO-178C in ensuring the safety and security of avionics systems in our upcoming webinar! As the aviation industry continues to evolve, compliance with rigorous safety standards such as DO-178C becomes essential for avionics software development. wolfSSL Software Engineer Tesfa Meal will delve into how DO-178C conformance helps organizations meet stringent requirements and maintain the highest levels of security in their avionics software systems.
Register Now: Ensuring Security in Avionics with DO-178C Conformance
Date: November 6th | 10 AM PT
Discover the key components of DO-178C and its significance in avionics certification. We will explore the guidelines and objectives of DO-178C, focusing on how they ensure software reliability and safety in critical aviation applications. Additionally, attendees will gain insights into the features and benefits of wolfSSL’s DO-178C product certification, emphasizing its role in supporting secure avionics systems. A detailed customer use case will further illustrate how organizations can effectively implement DO-178C practices to enhance their avionics software security and compliance.
This webinar will cover:
- Overview of wolfSSL and its certifications
- Introduction to DO-178C standards and guidelines
- wolfSSL’s DO-178C Product Certification process
- Real-world DO-178C Customer Use Case and implementation strategies
Register now to secure your spot! Don’t miss this chance to deepen your understanding of DO-178C and its importance in the avionics industry. Take the first step towards ensuring security in your avionics systems and staying compliant with the latest safety standards.
As always, our webinars will include Q&A sessions throughout. If you have questions on any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
MAX32666 and MAX32665 Hardware Acceleration added to wolfSSL
wolfSSL now supports using the Trust Protection Unit (TPU), Modular Arithmetic Accelerator (MAA), and TRNG provided by Analog Devices MAX32666 and MAX32665 microcontrollers.
The implementation can be seen in PR #7777 to wolfSSL, and is in wolfSSL starting at 5.7.4!
The port offers various usage options: fully leveraging all hardware features, selectively enabling specific hardware acceleration like SHA acceleration, or utilizing Crypto Callbacks for mixed usage between hardware and software. For a guide on setting up the port please refer to the README.
Currently wolfSSL supports offloading the following algorithms and operations to the respective hardware:
TRNG:
- RNG
TPU:
- AES-CBC – 128/192/256
- AES-GCM – 128/192/256
- AES-ECB – 128/192/256
- SHA-1
- SHA-2 – 224/256/384/512
MAA (HW Accelerated Math Operations up to 2048 bits):
- Modulate (mod)
- Modular Addition (addmod)
- Modular Subtraction (submod)
- Modular Multiplication (mulmod)
- Modular Exponentiation (expmod)
- Modular Squaring (sqrmod)
Benchmarks:
These benchmarks were collected using a Cortex-M4 clocked at 96 Mhz included on the MAX32666 FTHR dev kit, and a bare metal implementation of our benchmark. The timer used for these benchmarks can be enabled with the addition of MAX3266X_RTC to user_settings.h for reproduction.
AES ECB/CBC/GCM:
AES-CBC and AES-ECB Hardware Acceleration provides a hefty 2x uplift in performance when compared to our Arm assembly acceleration and normal software implementations.
AES-GCM does not provide the same uplift due to the hardware not supporting GCM explicitly, but we take advantage of the ECB support of the hardware to still provide a speedup when compared to our standard software implementation.
You can enable this kind of speed up for other AES modes by adding HAVE_AES_ECB to user_settings.h.
All algorithms of SHA provide a consistent boost to performance. With our benchmark tool we see up to a 7x performance for SHA-384/512 when compared to our software implementations. As the algorithm gets simpler we see less of a performance increase, however the consistent throughput is still impressive.
Math Acceleration (RSA 2048 and ECDSA p256):
Using the Math Acceleration hardware we do see a decrease in performance for RSA 2048 and ECDSA p256 when compared to our software implementations. This is likely due to the setup and preprocessing that needs to happen before sending the operands down to the hardware.
Download:
For our official release please checkout our download page!
Questions?
For information about using MAX32666 or MAX32665 hardware acceleration in your project, or any general inquiries about supporting your project’s hardware, reach out to our support team at support@wolfSSL.com
If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
X509 Attribute Certificate support
wolfSSL is adding support for X509 Attribute Certificates (ACERTs, for short), enabled with --enable-acert
. This initial support includes reading, printing, and verifying. Furthermore, it uses our new ASN.1 template implementation, and supports RSA-PSS as well.
But what is an X509 Attribute Certificate, and how does it differ from the more commonly encountered X509 Public Key Certificate? Defined in RFC 5755, an Attribute Certificate is a digitally signed binding between an identity and authorization attributes. In contrast to X509 Public Key Certs, an X509 Attribute Cert does not contain a public key. However, the public key used to verify an Attribute Cert could be found in an X509 Pub Key Cert.
If you’re curious and want to learn more, check out the X509 ACERT pull request and our recently added ACERT example. The latter shows an example of using ACERT support with our openssl compatibility layer.
If you are interested in X509 Attribute Certificates support or have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
LMS in PKCS11
Most people know that wolfSSL supports being a PKCS11 consumer. It is easy to enable this with the --enable-pkcs11
configure time flag and then trying out the examples. Now, what most people don’t realize is that we also have the ability to be a PKCS11 provider!! This is via our library called wolfPKCS11. Check out the source repo on github.
The most interesting thing about PKCS11 is that the post-quantum stateful hash-based signature scheme LMS/HSS has already been added to the PKCS11 standard. If you look at the latest specification, you can already find an example template definition for a private key:
CK_OBJECT_CLASS keyClass = CKO_PRIVATE_KEY; CK_KEY_TYPE keyType = CKK_HSS; CK_UTF8CHAR label[] = “An HSS private key object”; CK_ULONG hssLevels = 123; CK_ULONG lmsTypes[] = {123,...}; CK_ULONG lmotsTypes[] = {123,...}; CK_BYTE value[] = {...}; CK_BBOOL true = CK_TRUE; CK_BBOOL false = CK_FALSE; CK_ATTRIBUTE template[] = { {CKA_CLASS, &keyClass, sizeof(keyClass)}, {CKA_KEY_TYPE, &keyType, sizeof(keyType)}, {CKA_TOKEN, &true, sizeof(true)}, {CKA_LABEL, label, sizeof(label)-1}, {CKA_SENSITIVE, &true, sizeof(true)}, {CKA_EXTRACTABLE, &false, sizeof(true)}, {CKA_HSS_LEVELS, &hssLevels, sizeof(hssLevels)}, {CKA_HSS_LMS_TYPES, lmsTypes, sizeof(lmsTypes)}, {CKA_HSS_LMOTS_TYPES, lmotsTypes, sizeof(lmotsTypes)}, {CKA_VALUE, value, sizeof(value)}, {CKA_SIGN, &true, sizeof(true)} };
Are you looking to use wolfSSL to consume LMS/HSS? Our wolfCrypt library already has support for LMS/HSS; want to consume it via a PKCS11 interface? Want to get ahead of the curve and start prototyping ML-KEM (FIPS 203) or ML-DSA (FIPS 204) in PKCS11? Send a message to facts@wolfSSL.com to let us know which of these you want accelerated.
If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
Repurposing ESP32 Devices for Enhanced Security: Insights from wolfSSL at Hackaday 2024
We’re excited to announce that wolfSSL will be attending the 2024 Hackaday Superconference from November 1st to 3rd in sunny Pasadena, California, as a featured speaker! Don’t miss our insightful talk, “Repurposing ESP32 Based Commercial Products,” where you’ll learn how to secure ESP32 devices and turn them into HomeKit compatible tools by flashing custom software onto existing products.
In this talk, we’ll dive into effective reverse engineering techniques, such as finding JTAG pins, and explore development and debugging using open-source Tigard JTAG hardware with VisualGDB in Visual Studio. We’ll also highlight how to implement secure cryptographic functions—like post-quantum TLS 1.3—using wolfSSL’s commercial-grade solutions. Additionally, we’ll discuss the risks associated with modifying high-voltage devices.
Conference Program Details:
Title: Repurposing ESP32 Based Commercial Products
Date and Time: November 2nd | 1:00 – 1:40 PM PT
Room: DesignLab
This is a fantastic opportunity to deepen your understanding of IoT security and cryptography, and see firsthand how wolfSSL is leading the way in secure solutions. Whether you’re looking to enhance your home automation setup or strengthen the security of your projects, this talk has something for everyone.
wolfSSL will also be available at the conference to answer your questions and discuss the future of cryptographic solutions. Don’t miss this chance to connect with us and learn more about how wolfSSL is shaping the future of security.
If you have questions about any of the above, please contact us at facts@wolfSSL.com or +1 425 245 8247.
Download wolfSSL Now
Weekly updates
Archives
- November 2024 (7)
- 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)