tanke25616429のアウトプット

IT技術の基本を勉強したことをアウトプットします。Linux、Kubernetes、クラウド中心です。百番煎じくらいだけど誰かの役に立てばそれはそれでうれしい。

電子証明書

電子証明書の必要性

(https://tanke25616429.hatenablog.com/entry/2020/07/24/221419)[電子署名の記事]では、公開鍵を用いて文書に付与された電子署名を検証し、本人性や改ざんがなされていないことを記した。 tanke25616429.hatenablog.com

しかし、検証を行うための公開鍵自体が送信者本人のものでない場合、電子署名の検証に成功したとしても、文書の本人性や改ざんがないことは保証できない。

f:id:tanke25616429:20200724224114p:plain
公開鍵が正しいことの保証が必要

そこで、公開鍵が送信者本人であることを保証する情報*1が必要となる。この情報と公開鍵をセットで電子証明書と呼ぶ。

f:id:tanke25616429:20200724225609p:plain
電子証明書による公開鍵の本人性証明

現実世界との対比

押印した文書に印鑑証明書をつけることに似ている。公開鍵が押印に対応し、公開鍵の本人性を保証するデータが印鑑証明書である*2

f:id:tanke25616429:20200724230424p:plain
印鑑証明書と電子証明書の対比(https://www.infraexpert.com/study/security6.htmlより引用)

x.509

電子証明書の規格の一つ。ITU-Tが定めている。現在、広く普及しているもの*3PKI(Public Key Infrastructure)の仕組みの中で使われる。

参考にしたもの

デジタル証明書の仕組み

公開鍵証明書 - Wikipedia

www.atmarkit.co.jp

*1:デジタル証明書、公開鍵証明書とも呼ぶ。

*2:電子証明書=印鑑証明書のほうが対比はわかりやすいが、電子証明書といった場合は通例公開鍵そのものも含む。また、押印=電子署名ではないかという気もしてしまうところで(実際は公開鍵=押印)、若干アナロジーには限界がある。

*3:x509という文字列は、例えばOpenSSLコマンドのオプションの指定で出てくる。OpenSSLはSSL/TLSを実装したオープンソースのライブラリ