暗号計算機屋のブログ

なにか思いついたことを不定期に更新。

SSLサーバー証明書の秘密鍵を調べてみた

暗号プロセッサ ICF3の用途は、IoT小型コンピュータであるが、さくらインターネットなどの専用サーバー(物理サーバー)も便乗できるのではないかと考えています。専用サーバーを利用する客はセキュリティを重要視する客であるためSSL証明書秘密鍵は、暗号プロセッサによって守られることが望ましいからだ。ただICカードのICチップの外付けでも実現は可能な範囲だからCPUのSoCに暗号プロセッサが収まるメリットがどのくらいあるかということになるか。 ICF3はコストパフォーマンスの良い暗号プロセッサだが、現在、主流となっているSSL 2048bitの、すべてのケースを高速に演算することはできない。 セキュリティ重視で性能が低くてもいい場合は、どんなSSL 2048bitも演算は可能だ。 暗号プロセッサ ICF3で2048bitを高速に演算するためには2つの素数が、どちらも1024bit以下である必要がある。そこでSSLサーバー証明書を調べてみた。

Let’s Encrypt 高速演算可能(2つの素数のいづれも1024bit以下)

AlphaSSL 高速演算可能(2つの素数のいづれも1024bit以下)

調べ方は、opensslコマンドを使って秘密鍵のファイルを解析します。こんな感じ

openssl asn1parse -in key.txt

key.txtがDER形式だとDER形式を指定する必要がありますし、場合によっては -offset で秘密鍵の位置を指定する必要があります。

Let’s Encryptは将来にわたって高速演算可能である保証はない。高速に演算できない場合の性能でも不都合がないシステムを構築すれば安全だと思う。1999年に製造したLSIをベースにした性能値だが、高速に演算できる場合は1演算 13.4ms。それ以外の場合は 379ms。

コストパフォーマンスに優れるICF3を使うには、高速に演算できるSSL証明書を確保する方法でもいい。 専用サーバーを利用するようなセキュリティが必要な人は認証レベルの低いLet’s Encryptを使うことはなくて、認証レベルの高い有料のSSL証明書になる場合が多いのではないだろうか。有料だと高速に演算できる形式のSSL証明書を発行してくれる場合が多いと思うし、恐らく、現状、多くのSSL証明書は高速に演算可能なものだと思う(多分) ということなら、あまり心配することも、ないのかもしれない。

まとめ、ICF3はコストパフォーマンスに優れる暗号プロセッサ。