秘密鍵による暗号化方式

共通暗号方式
A さん
B さん
例の銀行口座の番号は
2929831831 です。
例の銀行口座の番号は
2929831831 です。
パスワード ABC で暗号化
パスワード ABC で復号化
“9Zskc9283jglsd-0gdkb…”
ネットワーク経由で
送信する
“9Zskc9283jglsd-0gdkb…”
• 共通のキーで暗号化/復号化する方法
例) パスワードつきのZIPを送信して、後からパスワードを送る方法
• データと、パスワードを盗聴されたら、第三者が閲覧可能になってしまう。
公開鍵暗号方式
A さん
B さん
例の銀行口座の番号は
2929831831 です。
例の銀行口座の番号は
2929831831 です。
公開鍵によって暗号化する
秘密鍵によって復号化する
“9Zskc9283jglsd-0gdkb…”
ネットワーク経由で
送信する
“9Zskc9283jglsd-0gdkb…”
• データを安全に受け取りたいBさんが、公開鍵をAさんに渡す
• Aさんは、公開鍵によって暗号化したデータをBさんに渡す
• Bさんは、秘密鍵によって復号化したデータを閲覧する
公開鍵は事前に渡しておく
A さん
B さん
例の銀行口座の番号は
2929831831 です。
例の銀行口座の番号は
2929831831 です。
公開鍵によって暗号化する
秘密鍵によって復号化する
“9Zskc9283jglsd-0gdkb…”
ネットワーク経由で
送信する
“9Zskc9283jglsd-0gdkb…”
• 公開鍵は、データの復号には利用できないので、第三者に漏れても問題
ない
• 次に、Linux間でサーバ間のSSH通信を公開鍵方式で行う場合の具体例
サーバ A
サーバ B
例の銀行口座の番号は
2929831831 です。
②
①、③
公開鍵によって暗号化する
“9Zskc9283jglsd-0gdkb…”
例の銀行口座の番号は
2929831831 です。
秘密鍵によって復号化する
ネットワーク経由で
送信する
“9Zskc9283jglsd-0gdkb…”
※以下、サーバA、サーバB上の同じ名前/IDのユーザーがあることが前提
① ssh-keygen –t rsa で、公開鍵(id_rsa.pub)と秘密鍵(id_rsa)を作る
② サーバAに、①で作った公開鍵を登録する(authorized_keys)
③ サーバBで、公開鍵によるsshd_configによるアクセスを許可しておく(/etc/sshd/sshd_config)
RSAAuthenticaition yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
④ サーバAから、SSH接続を試みる。
これに関してコマンドを覚えることにあまり意味はなくて、上記の流れが頭に入っていないと、
コマンドの意味をとりまちがうことがあるので注意。