pikesaku’s blog

個人的な勉強メモです。記載内容について一切の責任は持ちません。

暗号化技術メモ

公開鍵暗号

・暗号化共通鍵を安全に交換するのに使える。

デジタル署名

・署名対象データ(以降メッセージ)をハッシュ化した文字列を、秘密鍵で暗号化したもの
・メッセージとハッシュアルゴリズム、デジタル署名を相手に送る
・相手は受信データをハッシュ化し、デジタル署名と比較する

デジタル署名の仕組み

デジタル証明書。

・公開鍵(上記図の主体者公開鍵情報)を相手に渡す手法
・おおまかに以下の情報を含む
 所有者、所有者の公開鍵、証明書メタ情報(バージョン等)、発行者、発行者が付与した署名
・X509が主流規格
・X509フォーマットは以下

X.509とは - @IT

ポイント!!

・tbsCertificateをデジタル署名したのがsignatureValue(上述の「発行者が付与した署名」)
・デジタル証明書を受信したホストは以下ができる。
 自分が信頼する証明機関が発行した公開鍵で、signatureValueを復号化できれば、発行者を信頼できる
 tbsCertificateをハッシュ化したデータとsignatureValueが一致すれば、tbsCertificate(公開鍵も含む)が改ざんされてない事を確認できる

デジタル署名技術的には以下の対応
tbsCertificate=メッセージ
signaturealgorism=ハッシュ関数
signaturevaiue=デジタル署名

S/MIME

・以下2機能あり
 1) デジタル署名による送信者認証
 2) 本文暗号化
・どちらか片方だけの利用も可能
・ヘッダは暗号化・署名対象にならない

https://www.ipa.go.jp/security/pki/072.html#:~:text=S%2FMIME%20%E3%81%AF%E3%80%81%E6%9A%97%E5%8F%B7%E5%8C%96,%E3%82%92%E6%8B%A1%E5%BC%B5%E3%81%97%E3%81%9F%E3%82%82%E3%81%AE%E3%81%A7%E3%81%99%E3%80%82