Memo

メモ > サーバ > 各論: SSL証明書 > SSLの概要

■SSLの概要
■SSLとTLS SSLは「Secure Socket Layer」の略で、インターネット上でやりとりされるデータの「盗聴」「改ざん」「なりすまし」を防止するための通信方式 SSLの設計を根本から見直して新しく作成されたものがTLSで「Transport Layer Security」の略 よって現在使われているのはTLSだが、馴染みのあるSSLという名前で呼ばれ続けている ■暗号化とハッシュ化 ハッシュ化は、復号化を前提としていない 暗号化は、復号化を前提としている ハッシュ化とは?暗号化との違いや利用シーンを詳しく解説!|ITトレンド https://it-trend.jp/encryption/article/64-0065 ■公開鍵暗号方式と共通鍵暗号方式 共通鍵暗号方式は、暗号化するための鍵とそれを復号するための鍵に同じものを使用する方式 公開鍵暗号方式は、暗号化(復号)するときに「公開鍵」「秘密鍵」という別々の鍵を用いる方式。共通鍵暗号方式よりも複雑で処理コストも高い SSLでも共通鍵暗号方式で暗号化と復号化を行うが、共通鍵を安全にやりとりしてからとなる 共通鍵を安全にやりとりするために公開鍵暗号方式を使用する PKIとは?|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl-pki-info/pki/aboutpki.html ■公開鍵暗号方式の仕組み 公開鍵で暗号化されたものを、秘密鍵によって復号化できる暗号化方式 クライアントは、ルート証明書(公開鍵が含まれており、ブラウザに組み込まれている)を持っている Webサーバには、サーバ証明書(公開鍵が含まれている)と秘密鍵が組み込まれている(SSL導入の際に組み込む) サーバ証明書は、中間認証局によって中間証明書を使って発行される その中間証明書は、ルート認証局によってルート証明書を使って発行される ルート証明書は、はじめからブラウザに組み込まれている この前提で、以下の流れで暗号化通信が行われる 1. クライアントからWebサーバに、接続要求を行う 2. Webサーバからクライアントに、サーバ証明書を送る 3. クライアントは、ルート証明書でサーバ証明書の妥当性を検証する 4. クライアントは、共通鍵を生成する 5. クライアントは、サーバ証明書内の公開鍵で共通鍵を暗号化する 6. クライアントからWebサーバに、暗号化した共通鍵を送付する 7. Webサーバは、暗号化された共通鍵を秘密鍵で複合する 8. クライアントとWebサーバの両方が共通鍵を持ったことになるので、以降は共通鍵で暗号化通信を行う より簡易に書くと 1. クライアントは、Webサーバからサーバ証明書を受け取る 2. クライアントは共通鍵を生成し、サーバ証明書内の公開鍵で暗号化する 3. Webサーバは、クライアントから暗号化された共通鍵を受け取る 4. Webサーバは、暗号化された共通鍵を秘密鍵で複合する という流れになる 公開鍵だけで複合できない根拠は「SSL証明書の安全性と有効期限」を参照 SSL/TLS暗号化通信の仕組み|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl-pki-info/ssl_practices/ssl_encryption.html 【図解】SSL/TLSとは何か?仕組みや導入方法をわかりやすく解説します | カゴヤのサーバー研究室 https://www.kagoya.jp/howto/rentalserver/ssl/ SSLって何?意味や仕組みをわかりやすく解説! | さくらのSSL https://ssl.sakura.ad.jp/column/ssl/ ■証明書の関係 秘密鍵 … 流出してはいけない鍵ファイル 公開鍵 … 流出しても問題無い鍵ファイル CSR … 証明書を発行するための署名要求(Certificate Signing Request)。つまり認証局に対し、SSLサーバ証明書への署名を申請する内容 CSRには、公開鍵、発行者情報やコモンネーム(FQDN)、電子署名(もとのCSRをハッシュ化し、さらに秘密鍵で暗号化したもの)が含まれる 秘密鍵があれば、CSRは何度でも生成できる 証明書 … 認証局から発行されるSSL証明書 CSRをもとに発行される 中間証明書 … 認証局から発行されるSSL証明書 証明書に階層構造を持たせることにより、認証局が攻撃されたときの影響を抑えている CSRについて教えてください。 https://jp.globalsign.com/support/faq/65.html ■秘密鍵と変換 秘密鍵には以下のように複数の種類があり、それぞれ変換することができる id_rsa ... Linux上で「ssh-keygen -t rsa」などによるSSH鍵作成をした際の秘密鍵。RSAは、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした暗号化方式 pem ... 「Privacy Enhanced Mail」の略で、電子メール暗号化技術。OpenSSH形式の秘密鍵。AWSで作成されるキーペアもこの形式 ppk ... 「Putty Private Key」の略で、PuTTY形式の秘密鍵。WinSCPやTera Termなどで使用される id_rsa⇒pem⇔ppk 相互変換 | Punio Kid Works https://web.archive.org/web/20191229185925/http://www.puniokid.com/tips/linux/69/ SSH秘密鍵 id_rsa -> putty形式&OpenSSH形式に変換 - Qiita https://qiita.com/dskst/items/391fc55018fbf3cf795e

Advertisement