BSAFE

Last updated
BSAFE
Developer(s) Dell, formerly RSA Security
Initial release1996
Written in C, assembly, Java
Operating system BSD, Linux, macOS, Microsoft Windows, Android, iOS, AIX, Solaris
Type Cryptography library, Commercial software
License Proprietary
Website www.dell.com

Dell BSAFE, formerly known as RSA BSAFE, is a FIPS 140-2 validated cryptography library, available in both C and Java. BSAFE was initially created by RSA Security, which was purchased by EMC and then, in turn, by Dell. When Dell sold the RSA business to Symphony Technology Group in 2020, Dell elected to retain the BSAFE product line. [1] [2] BSAFE was one of the most common encryption toolkits before the RSA patent expired in September 2000. It also contained implementations of the RCx ciphers, with the most common one being RC4. From 2004 to 2013 the default random number generator in the library was a NIST-approved RNG standard, widely known to be insecure from at least 2006, containing a kleptographic backdoor from the American National Security Agency (NSA), as part of its secret Bullrun program. [3] In 2013 Reuters revealed that RSA had received a payment of $10 million to set the compromised algorithm as the default option. [3] The RNG standard was subsequently withdrawn in 2014, and the RNG removed from BSAFE beginning in 2015.

Contents

Cryptography backdoors

Dual_EC_DRBG random number generator

From 2004 to 2013, the default cryptographically secure pseudorandom number generator (CSPRNG) in BSAFE was Dual_EC_DRBG, which contained an alleged backdoor from NSA, in addition to being a biased and slow CSPRNG. [4] The cryptographic community had been aware that Dual_EC_DRBG was a very poor CSPRNG since shortly after the specification was posted in 2005, and by 2007 it had become apparent that the CSPRNG seemed to be designed to contain a hidden backdoor for NSA, usable only by NSA via a secret key. [5] In 2007, Bruce Schneier described the backdoor as "too obvious to trick anyone to use it." [5] The backdoor was confirmed in the Snowden leaks in 2013, and it was insinuated that NSA had paid RSA Security US$10 million to use Dual_EC_DRBG by default in 2004, [3] though RSA Security denied that they knew about the backdoor in 2004. The Reuters article which revealed the secret $10 million contract to use Dual_EC_DRBG described the deal as "handled by business leaders rather than pure technologists". [3] RSA Security has largely declined to explain their choice to continue using Dual_EC_DRBG even after the defects and potential backdoor were discovered in 2006 and 2007, and has denied knowingly inserting the backdoor. [6]

So why would RSA pick Dual_EC as the default? You got me. Not only is Dual_EC hilariously slow – which has real performance implications – it was shown to be a just plain bad random number generator all the way back in 2006. By 2007, when Shumow and Ferguson raised the possibility of a backdoor in the specification, no sensible cryptographer would go near the thing. And the killer is that RSA employs a number of highly distinguished cryptographers! It's unlikely that they'd all miss the news about Dual_EC.

Matthew Green, cryptographer and research professor at Johns Hopkins University, A Few Thoughts on Cryptographic Engineering [4] (From after the backdoor was confirmed, but before the $10 million secret deal was revealed by Reuters.)

As a cryptographically secure random number generator is often the basis of cryptography, much data encrypted with BSAFE was not secure against NSA. Specifically it has been shown that the backdoor makes SSL/TLS completely breakable by the party having the private key to the backdoor (i.e. NSA). [5] Since the US government and US companies have also used the vulnerable BSAFE, NSA can potentially have made US data less safe, if NSA's secret key to the backdoor had been stolen. It is also possible to derive the secret key by solving a single instance of the algorithm's elliptic curve problem [5] (breaking an instance of elliptic curve cryptography is considered unlikely with current computers and algorithms, but a breakthrough may occur).

In June 2013, Edward Snowden began leaking NSA documents. In November 2013, RSA switched the default to HMAC DRBG with SHA-256 as the default option. The following month, Reuters published the report based on the Snowden leaks stating that RSA had received a payment of $10 million to set Dual_EC_DRBG as the default. [3]

With subsequent releases of Crypto-C Micro Edition 4.1.2 (April 2016), Micro Edition Suite 4.1.5 (April 2016) and Crypto-J 6.2 (March 2015), Dual_EC_DRBG was removed entirely.

Extended Random TLS extension

"Extended Random" was a proposed extension for the Transport Layer Security (TLS) protocol, submitted for standardization to IETF by an NSA employee, [7] although it never became a standard. The extension would otherwise be harmless, but together with the Dual_EC_DRBG, it would make it easier to take advantage of the backdoor. [8] [9]

The extension was previously not known to be enabled in any implementations, but in December 2017, it was found enabled on some Canon printer models, which use the RSA BSAFE library, because the extension number conflicted a part of TLS version 1.3. [9]

Varieties

Product suite support status

On November 25, 2015, RSA announced End of Life (EOL) dates for BSAFE. [17] The End of Primary Support (EOPS) was to be reached on January 31, 2017, and the End of Extended Support (EOXS) was originally set to be January 31, 2019. That date was later further extended by RSA for some versions until January 31, 2022. [18] During Extended Support, even though the support policy stated that only the most severe problems would be patched, new versions were released containing bugfixes, security fixes and new algorithms. [19]

On December 12, 2020, Dell announced the reversal of RSA's past decision, allowing BSAFE product support beyond January 2022 as well as the possibility to soon acquire new licenses. Dell also announced it was rebranding the toolkits to Dell BSAFE. [20]

Related Research Articles

Elliptic-curve cryptography (ECC) is an approach to public-key cryptography based on the algebraic structure of elliptic curves over finite fields. ECC allows smaller keys compared to non-EC cryptography to provide equivalent security.

A pseudorandom number generator (PRNG), also known as a deterministic random bit generator (DRBG), is an algorithm for generating a sequence of numbers whose properties approximate the properties of sequences of random numbers. The PRNG-generated sequence is not truly random, because it is completely determined by an initial value, called the PRNG's seed. Although sequences that are closer to truly random can be generated using hardware random number generators, pseudorandom number generators are important in practice for their speed in number generation and their reproducibility.

A cryptographically secure pseudorandom number generator (CSPRNG) or cryptographic pseudorandom number generator (CPRNG) is a pseudorandom number generator (PRNG) with properties that make it suitable for use in cryptography. It is also loosely known as a cryptographic random number generator (CRNG).

<span class="mw-page-title-main">RSA Security</span> American computer security company

RSA Security LLC, formerly RSA Security, Inc. and doing business as RSA, is an American computer and network security company with a focus on encryption and encryption standards. RSA was named after the initials of its co-founders, Ron Rivest, Adi Shamir and Leonard Adleman, after whom the RSA public key cryptography algorithm was also named. Among its products is the SecurID authentication token. The BSAFE cryptography libraries were also initially owned by RSA. RSA is known for incorporating backdoors developed by the NSA in its products. It also organizes the annual RSA Conference, an information security conference.

The security of cryptographic systems depends on some secret data that is known to authorized persons but unknown and unpredictable to others. To achieve this unpredictability, some randomization is typically employed. Modern cryptographic protocols often require frequent generation of random quantities. Cryptographic attacks that subvert or exploit weaknesses in this process are known as random number generator attacks.

Kleptography is the study of stealing information securely and subliminally. The term was introduced by Adam Young and Moti Yung in the Proceedings of Advances in Cryptology – Crypto '96. Kleptography is a subfield of cryptovirology and is a natural extension of the theory of subliminal channels that was pioneered by Gus Simmons while at Sandia National Laboratory. A kleptographic backdoor is synonymously referred to as an asymmetric backdoor. Kleptography encompasses secure and covert communications through cryptosystems and cryptographic protocols. This is reminiscent of, but not the same as steganography that studies covert communications through graphics, video, digital audio data, and so forth.

<span class="mw-page-title-main">Random number generation</span> Producing a sequence that cannot be predicted better than by random chance

Random number generation is a process by which, often by means of a random number generator (RNG), a sequence of numbers or symbols that cannot be reasonably predicted better than by random chance is generated. This means that the particular outcome sequence will contain some patterns detectable in hindsight but unpredictable to foresight. True random number generators can be hardware random-number generators (HRNGs), wherein each generation is a function of the current value of a physical environment's attribute that is constantly changing in a manner that is practically impossible to model. This would be in contrast to so-called "random number generations" done by pseudorandom number generators (PRNGs), which generate numbers that only look random but are in fact pre-determined—these generations can be reproduced simply by knowing the state of the PRNG.

The Microsoft Windows platform specific Cryptographic Application Programming Interface is an application programming interface included with Microsoft Windows operating systems that provides services to enable developers to secure Windows-based applications using cryptography. It is a set of dynamically linked libraries that provides an abstraction layer which isolates programmers from the code used to encrypt the data. The Crypto API was first introduced in Windows NT 4.0 and enhanced in subsequent versions.

<span class="mw-page-title-main">Cryptovirology</span> Study of securing and encrypting virology

Cryptovirology refers to the use of cryptography to devise particularly powerful malware, such as ransomware and asymmetric backdoors. Traditionally, cryptography and its applications are defensive in nature, and provide privacy, authentication, and security to users. Cryptovirology employs a twist on cryptography, showing that it can also be used offensively. It can be used to mount extortion based attacks that cause loss of access to information, loss of confidentiality, and information leakage, tasks which cryptography typically prevents.

<span class="mw-page-title-main">Network Security Services</span> Collection of cryptographic computer libraries

Network Security Services (NSS) is a collection of cryptographic computer libraries designed to support cross-platform development of security-enabled client and server applications with optional support for hardware TLS/SSL acceleration on the server side and hardware smart cards on the client side. NSS provides a complete open-source implementation of cryptographic libraries supporting Transport Layer Security (TLS) / Secure Sockets Layer (SSL) and S/MIME. NSS releases prior to version 3.14 are tri-licensed under the Mozilla Public License 1.1, the GNU General Public License, and the GNU Lesser General Public License. Since release 3.14, NSS releases are licensed under GPL-compatible Mozilla Public License 2.0.

Dual_EC_DRBG is an algorithm that was presented as a cryptographically secure pseudorandom number generator (CSPRNG) using methods in elliptic curve cryptography. Despite wide public criticism, including the public identification of the possibility that the National Security Agency put a backdoor into a recommended implementation, it was for seven years one of four CSPRNGs standardized in NIST SP 800-90A as originally published circa June 2006, until it was withdrawn in 2014.

In cryptography, Curve25519 is an elliptic curve used in elliptic-curve cryptography (ECC) offering 128 bits of security and designed for use with the elliptic curve Diffie–Hellman (ECDH) key agreement scheme. It is one of the fastest curves in ECC, and is not covered by any known patents. The reference implementation is public domain software.

wolfSSL is a small, portable, embedded SSL/TLS library targeted for use by embedded systems developers. It is an open source implementation of TLS written in the C programming language. It includes SSL/TLS client libraries and an SSL/TLS server implementation as well as support for multiple APIs, including those defined by SSL and TLS. wolfSSL also includes an OpenSSL compatibility interface with the most commonly used OpenSSL functions.

The Transport Layer Security (TLS) protocol provides the ability to secure communications across or inside networks. This comparison of TLS implementations compares several of the most notable libraries. There are several TLS implementations which are free software and open source.

Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension that allows the application layer to negotiate which protocol should be performed over a secure connection in a manner that avoids additional round trips and which is independent of the application-layer protocols. It is used to establish HTTP/2 connections without additional round trips.

<span class="mw-page-title-main">Bullrun (decryption program)</span> Code name of a decryption program run by the NSA

Bullrun is a clandestine, highly classified program to crack encryption of online communications and data, which is run by the United States National Security Agency (NSA). The British Government Communications Headquarters (GCHQ) has a similar program codenamed Edgehill. According to the Bullrun classification guide published by The Guardian, the program uses multiple methods including computer network exploitation, interdiction, industry relationships, collaboration with other intelligence community entities, and advanced mathematical techniques.

NIST SP 800-90A is a publication by the National Institute of Standards and Technology with the title Recommendation for Random Number Generation Using Deterministic Random Bit Generators. The publication contains the specification for three allegedly cryptographically secure pseudorandom number generators for use in cryptography: Hash DRBG, HMAC DRBG, and CTR DRBG. Earlier versions included a fourth generator, Dual_EC_DRBG. Dual_EC_DRBG was later reported to probably contain a kleptographic backdoor inserted by the United States National Security Agency (NSA).

<span class="mw-page-title-main">Matthew D. Green</span> American cryptographer and security technologist

Matthew Daniel Green is an American cryptographer and security technologist. Green is an Associate Professor of Computer Science at the Johns Hopkins Information Security Institute. He specializes in applied cryptography, privacy-enhanced information storage systems, anonymous cryptocurrencies, elliptic curve crypto-systems, and satellite television piracy. He is a member of the teams that developed the Zerocoin anonymous cryptocurrency and Zerocash. He has also been influential in the development of the Zcash system. He has been involved in the groups that exposed vulnerabilities in RSA BSAFE, Speedpass and E-ZPass. Green lives in Baltimore, MD with his wife, 2 children and 2 miniature dachshunds.

The tables below compare cryptography libraries that deal with cryptography algorithms and have API function calls to each of the supported features.

<span class="mw-page-title-main">Crypto Wars</span> Attempts to limit access to strong cryptography

Attempts, unofficially dubbed the "Crypto Wars", have been made by the United States (US) and allied governments to limit the public's and foreign nations' access to cryptography strong enough to thwart decryption by national intelligence agencies, especially the National Security Agency (NSA).

References

  1. "BSAFE support and billing update | Dell US". www.dell.com. Archived from the original on 2021-07-26. Retrieved 2021-07-26.
  2. RSA (September 1, 2020). "RSA Emerges as Independent Company Following Completion of Acquisition by Symphony Technology Group". RSA. Archived from the original on September 4, 2020. Retrieved June 7, 2023.
  3. 1 2 3 4 5 Menn, Joseph (December 20, 2013). "Exclusive: Secret contract tied NSA and security industry pioneer". San Francisco. Reuters. Archived from the original on September 24, 2015. Retrieved May 11, 2021.
  4. 1 2 Matthew Green (September 20, 2013). "RSA warns developers not to use RSA products". A Few Thoughts on Cryptographic Engineering. Archived from the original on October 10, 2013. Retrieved December 28, 2013.
  5. 1 2 3 4 Bruce Schneier. "The Strange Story of Dual_EC_DRBG". Archived from the original on 2019-04-23. Retrieved 2013-12-28.
  6. "We don't enable backdoors in our crypto products, RSA tells customers". Ars Technica. Archived from the original on 2014-10-12. Retrieved 2017-06-14.
  7. Rescorla, Eric; Salter, Margaret (2 March 2009). "Extended Random Values for TLS". IETF draft standard. I-D draft-rescorla-tls-extended-random-02. Archived from the original on 19 December 2017. Retrieved 2023-09-28.
  8. Menn, Joseph (31 March 2014). "Exclusive: NSA infiltrated RSA security more deeply than thought - stu". Reuters. Archived from the original on 29 December 2017. Retrieved 28 December 2017.
  9. 1 2 Green, Matthew (19 December 2017). "The strange story of "Extended Random"". Cryptographic Engineering blog. Archived from the original on 29 December 2017. Retrieved 28 December 2017.
  10. "RSA licenses Baltimore Technologies J/CRYPTO".
  11. "RSA's BSafe toolkit spawns new Java version".
  12. "Making Java Development JSafe" (PDF). Archived (PDF) from the original on 2021-09-28. Retrieved 2020-04-27.
  13. "RSA unveils three new products at its show". IT World. February 20, 2002.
  14. Simson Garfinkel, Gene Spafford (2002). Web Security, Privacy & Commerce. O'Reilly. p.  114. ISBN   0596000456.
  15. Ivan Ristic (2013). OpenSSL Cookbook: A Guide to the Most Frequently Used OpenSSL Features and Commands. Qualys. p. 1. ISBN   9781907117053.
  16. "Securing IT Resources with Digital Certificates and LDAP". Archived from the original on 2020-07-31. Retrieved 2020-04-27.
  17. RSA (November 25, 2015). "RSA announces End of Life (EOL) dates for RSA BSAFE". RSA. Archived from the original on October 3, 2018. Retrieved October 3, 2018.
  18. RSA (June 20, 2018). "RSA announces support extension for some of the BSAFE® product suite". RSA. Archived from the original on October 3, 2018. Retrieved October 3, 2018.
  19. RSA (September 11, 2019). "RSA announces the release of RSA BSAFE® Micro Edition Suite 4.4". RSA. Archived from the original on September 23, 2019. Retrieved September 11, 2019.
  20. Dell (December 12, 2020). "Dell BSAFE products remain supported beyond January 2022, reversing RSA's past decision to end-of-life BSAFE toolkits". Dell.