2022年4月2日土曜日

暗号化の考え方

公開鍵では、Lock「錠(じょう)」とKey「鍵(かぎ)」が作成される。
  • Lockを公開錠として、Keyを秘密鍵とすることで、データを秘密裏に受け取ることができる。
    • 受信者が送信者にLock(公開錠)を渡す
    • 送信者がデータをLockして、送付
    • 受信者が暗号化されたデータをKye(秘密鍵)で開錠してデータを確認する。
  • Keyを公開鍵として、Lockを秘密錠とすると、自分を証明することができる。
    • 送信者の証明書をLock(秘密錠)して相手に送付
    • 受信者はデータをKey(公開鍵)で開封して証明書を取り出す。
    • 証明書は、認証局でLock(秘密錠)されており、認証局のKey(公開鍵)で開封できれば、証明書が認証局でLockされたものと確定できる。(認証局のKeyで開封できるのは、認証局のLockで暗号化されているものだけだから) ※ この辺りは少しあやふや。
      • 送付内容をLockしたものと、原文のまま(暗号化されてないまま)送る
      • 受信者が開封して出てきた内容と、原文のまま届いた内容が同じであれば、Keyの所有者からもらった内容であると証明される
  • PFS(Perfect Forward Secrecy:前方秘匿性)
    • DHEを使う。詳細はここ。https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%A3%E3%83%95%E3%82%A3%E3%83%BC%E3%83%BB%E3%83%98%E3%83%AB%E3%83%9E%E3%83%B3%E9%8D%B5%E5%85%B1%E6%9C%89
    • ざっくりいうと、通信するそれぞれが、「相手の公開鍵と自分の秘密鍵」で共通鍵を作ることができる。