News

OpenSSL 3.0 will have significant changes in architecture, will include FIPS module and more

2 min read

On 13th February, the OpenSSL team released a blog post outlining the changes that users can expect in the OpenSSL 3.0 architecture and plans for including a new FIPS module.

Architecture changes in OpenSSL 3.0

  1. ‘Providers’ will be introduced in this release which will be a possible replacement for the existing ENGINE interface to enable more flexibility for implementers. There will be three types of Providers: the “default” Provider will implement all of the most commonly used algorithms available in OpenSSL. The “legacy” Provider will implement legacy cryptographic algorithms and the “FIPS” Provider will implement FIPS validated algorithms.
  2. Existing engines will have to be recompiled to work normally and will be made available via both the old ENGINE APIs as well as a Provider compatibility layer.
  3. The architecture will include Core Services that will form the building blocks usable by applications and providers.
  4. Providers in the new architecture will implement cryptographic algorithms and supporting services. It will have implementations of one or more of the following:
  • The cryptographic primitives (encrypt/decrypt/sign/hash etc)  for an algorithm
  • Serialisation for an algorithm
  • Store loader back ends
  1. A Provider may be entirely self-contained or it may use services provided by different providers or the Core Services.
  2. Protocol implementations, for instance TLS, DTLS.
  3. New EVP APIs will be provided in order to find the implementation of an algorithm in the   Core to be used for any given EVP call.
  4.  Implementation agnostic way will be used to pass information between the core library and the providers.
  5.  Legacy APIs that do not go via the EVP layer will be deprecated.
  6. The OpenSSL FIPS Cryptographic Module will be self-contained and implemented as a dynamically loaded provider.
  7. Other interfaces may also be transitioned to use the Core over time
  8.  A majority of existing well-behaved applications will just need to be recompiled. No deprecated APIs will be removed in this release

You can head over to the draft documentation to know more about the features in the upgraded architecture.

FIPS module in OpenSSL 3.0

  1. The updated architecture incorporates the FIPS module into main line OpenSSL. The module is dynamically loadable and will no longer be a separate download and support periods will also be aligned.
  2. He module is a FIPS 140-2 validated cryptographic module that contains FIPS validated/approved cryptographic algorithms only.
  3. The FIPS module version number will be aligned with the main OpenSSL version number.
  4. New APIs will give applications greater flexibility in the selection of algorithm implementations.
  5. The FIPS Provider will implement a set of services that are FIPS validated and made available to the Core. This includes:
  • POST: Power On Self Test
  • KAT: Known Answer Tests
  • Integrity Check
  • Low Level Implementations

Conceptual Component View of OpenSSL 3.0

Read the draft documentation to know more about the FIPS module in the upgraded architecture.

Read Next

Baidu Security Lab’s MesaLink, a cryptographic memory safe library alternative to OpenSSL

OpenSSL 1.1.1 released with support for TLS 1.3, improved side channel security

Transformer-XL: A Google architecture with 80% longer dependency than RNNs

 

 

Melisha Dsouza

Share
Published by
Melisha Dsouza

Recent Posts

Top life hacks for prepping for your IT certification exam

I remember deciding to pursue my first IT certification, the CompTIA A+. I had signed…

3 years ago

Learn Transformers for Natural Language Processing with Denis Rothman

Key takeaways The transformer architecture has proved to be revolutionary in outperforming the classical RNN…

3 years ago

Learning Essential Linux Commands for Navigating the Shell Effectively

Once we learn how to deploy an Ubuntu server, how to manage users, and how…

3 years ago

Clean Coding in Python with Mariano Anaya

Key-takeaways:   Clean code isn’t just a nice thing to have or a luxury in software projects; it's a necessity. If we…

3 years ago

Exploring Forms in Angular – types, benefits and differences   

While developing a web application, or setting dynamic pages and meta tags we need to deal with…

3 years ago

Gain Practical Expertise with the Latest Edition of Software Architecture with C# 9 and .NET 5

Software architecture is one of the most discussed topics in the software industry today, and…

3 years ago