暗号化技術
可逆/不可逆
可逆暗号
複合できる暗号
不可逆暗号
複合できない暗号
不可逆暗号の使い道
保存時、パスワード不可逆暗号して保存(1),
認証時、再度不可逆暗号化(2)して、(1)と照合
(1) (2)の時、認証OK
保存してある暗号を見られても安全
ハッシュ関数
暗号化に用いる代表的な技術
特定の文字列(引数)に対して、適当な値(ハッシュ値)を返す関数
引数が同じであれば常に同じハッシュ値を返す
ハッシュ値から引数を割り出す事はかなり難しい
SHA-256
ハッシュ関数の1つ
任意の長さの文字列(引数)に対して常に256ビットのハッシュ値を返す
通信方式
共通鍵暗号方式
共通鍵で暗号化されたデータは共通鍵でしか複合できない
暗号化プログラム=複合化プログラム=共通鍵
公開鍵暗号方式
PKI
Public Key Infrastructure
送信者:公開鍵を使って暗号化してデータ送信。
受信者:秘密鍵を使って複合化してデータ受信。
複合できるのはを持つ受信者だけ
秘密鍵
受信者だけが持つ
公開鍵
皆が持つ
公開鍵で暗号化 → 公開鍵で複合:×
公開鍵で暗号化 → 秘密鍵で複合:○
秘密鍵で暗号化 → 秘密鍵で複合:×
秘密鍵で暗号化 → 公開鍵で複合:○
誰ものものかも分からない公開鍵で暗号化してはいけない
→第三者しか複合できない暗号ができてしまう
秘密鍵を他人に見られてはいけない
自分しか複合できない暗号を複合されてしまう。
SSL通信
Secure Socket Layer
共通鍵暗号方式と公開鍵暗号方式を組み合わせて行う通信方式
サーバー証明書を確認して信用性を確保した後、
送信側が「共通鍵」を生成、公開鍵暗号方式を用いて「共通鍵」を共有して通信を行う。
TSL通信
Trancport Layer Security
SSLの後継
SSL3.0の次のバージョンがTSL1.0
認証
チャレンジ/レスポンス認証
クライアント側で暗号化して電文をサーバー に送る認証方式
電文を盗聴されても安全
クライアント側に暗号化処理が必要
電子署名
公開鍵暗号方式を利用した証明方法
送信者:秘密鍵で暗号化してデータ送信。
受信者:公開鍵で複合化してデータ受信。
公開鍵で複合できる データは秘密鍵で暗号化されている。
データは秘密鍵を持つ人から送信されているという証明になる