This is an old revision of the document!


Measuring Popularity of Cryptographic Libraries in Internet-Wide Scans [ACSAC 2017]

Authors: Matus Nemec, Dusan Klinec, Petr Svenda, Peter Sekan and Vashek Matyas

Primary contact: Petr Svenda svenda@fi.muni.cz

Abstract: We measure the popularity of cryptographic libraries in large datasets of RSA public keys. We do so by improving a recently proposed method based on biases introduced by alternative implementations of prime selection in different cryptographic libraries. We extend the previous work by applying statistical inference to approximate a share of libraries matching an observed distribution of RSA keys in an inspected dataset (e.g., Internet-wide scan of TLS handshakes). The sensitivity of our method is sufficient to detect transient events such as a periodic insertion of keys from a specific library into Certificate Transparency logs and inconsistencies in archived datasets.

We apply the method on keys from multiple Internet-wide scans collected in years 2010 through 2017, on Certificate Transparency logs and on separate datasets for PGP keys and SSH keys. The results quantify a strong dominance of OpenSSL with more than 84% TLS keys for Alexa 1M domains, steadily increasing since the first measurement. OpenSSL is even more popular for GitHub client-side SSH keys, with a share larger than 96%. Surprisingly, new certificates inserted in Certificate Transparency logs on certain days contain more than 20% keys most likely originating from Java libraries, while TLS scans contain less than 5% of such keys.

Since the ground truth is not known, we compared our measurements with other estimates and simulated different scenarios to evaluate the accuracy of our method. To our best knowledge, this is the first accurate measurement of the popularity of cryptographic libraries not based on proxy information like web server fingerprinting, but directly on the number of observed unique keys.

Bibtex (regular paper)

@inproceedings{2017-acsac-nemec,
  Author        = {Matus Nemec and Dusan Klinec and Petr Svenda and Peter Sekan and Vashek Matyas},
  Title         = {Measuring Popularity of Cryptographic Libraries in Internet-Wide Scans},
  BookTitle     = {Proceedings of the 33rd Annual Computer Security Applications Conference (ACSAC'2017)},
  Year          = {2017},
  Pages         = {??--??},
  ISBN          = {??},
  Publisher     = {ACM}
}

Q: What did you do?

A: We used the fact that distributions of RSA public keys generated by cryptographic libraries are slightly biased, to measure the popularity of cryptographic libraries in Internet-wide scans.

Q: Does it mean the biased RSA key generation methods are broken?

A: No, in general, the bias is not enough for key factorization. However, we did break the Infineon implementation in our recent paper The Return of Coppersmith's Attack (ROCA)

Q: What libraries did you analyze? Can you tell all libraries apart?

A: You can see all the analyzed sources in the following graph. Libraries in the same Group (Group number in square brackets) produce very similar distributions. The popularity of individual Groups can be measured.

Q: I want to know the popularity of library X, why wasn't it included?

A: To suggest other sources that we can add to our analysis, please get in touch with us. If you can also provide keys generated by hardware, open-source and proprietary libraries, we will add them to the Collection of RSA keys from reference libraries