これらの質問を質問ごとに取り上げます。
(1) 企業としての「My e-Shop」は、サードパーティ CA で「認証」される必要があります。つまり、その CA で何らかの 1 年間のメンバーシップを購入する必要があるということです。その後、CA はシステムに「My e-Shop」を登録し、証明書や一意の公開鍵と秘密鍵のペアなどを発行してくれます。証明書ファイルを取得できますか?
はい。また、これは CA によって異なります。一部の CA では、1 年間のメンバーシップと有効なクレジット カードで十分です (たまたま泥棒の集団であっても、取得するのは難しくありません)。一部の CA では、一定量の事務処理が必要です。本人であることを確認するため。CA は、顧客確認プロセスと同じくらい優れているため、一般に、プロセスが面倒であるほど、CA は優れた (そして高価な) ものになります。
お金を払い、書類を作成したら、あなたと CA は少なくとも 2 つのものを生成します。
- 公開鍵と秘密鍵のペア。多くの場合、これは CA ではなく、あなたによって生成されます。キー ペアの生成方法と保存方法の品質も、別のエンティティが Web サイトをどれだけ信頼できるかを決定する要因となります。一般に、識別証明書 (SSL サーバー証明書など) の場合、顧客 (My e-Shop) にキーを生成してもらうことをお勧めします。
- 標準形式 (例: PKCS10) で証明書要求を CA に送信します。My e-Shop と公開鍵に関する一連の情報が含まれます。
- CA会社はあなたの書類をチェックし、あなたがあなたであることを確認します. 次に、CA を使用して証明書にデジタル署名します。その証明書には、提供したばかりの一連の情報、CA プロバイダーが設定した追加情報、公開鍵、および前述のすべてのデータを CA の秘密鍵と暗号的にバインドすることによって生成されたデジタル署名が含まれています。
次の 2 つのいずれかが返されます。
- 証明書のみ (独自の鍵ペアを生成した場合)
- 証明書とキー ペア - CA がキー ペアを生成した場合
(2) 発行された証明書には、自分の情報と公開鍵が入力され、Web サーバーのファイルに保存されます。証明書は、「My e-shop」が泥棒の局ではないことを証明します。
はい...ちょっと。Web サーバーには、署名付き証明書とキー ペアの両方が必要です。キー ペアは、エンド ユーザーへの SSL ハンドシェイクの一部として使用されます。この交換は、証明書を手に入れた一部の窃盗団ではなく、キー ペアを所有していることを証明します。これが、鍵ペアを保護する理由です。
(3) ユーザーが「https」を介して「My e-shop」にアクセスするたびに、ブラウザーは、提示された「My e-shop」の証明書と CA に登録されている証明書を「黙って」チェックします。
「サイレント」の定義について。ベースライン ブラウザは、証明書が次のことを確認します。 - 現在有効であること - ブラウザが信頼する CA によって署名されていること (または、アクセスが拒否されるか、迷惑なポップアップが表示されること)
ブラウザのアドオンはさらに進んで、フル パスのチェック (自己署名ルートまで) や証明書の状態のチェックなどを行います。パイプを介して情報が共有されるリスクが高いほど、より多くのチェックが必要になります。
(4) ユーザーが https 経由で「My e-shop」に入ると、次のことが起こります。「My e-shop」(Web サーバー) は、ユーザーの公開鍵 (PK1) を取得します。サーバーは、「My e-shop」の証明書をユーザーにサイレントに提示するため、ユーザーは「My e-shop」の公開鍵 (PK2) を取得します。いくつかのサイレント チェックの後、ユーザーのブラウザは提示された証明書を検証し、安全なパイプが確立されます。
- ユーザーはどうですか?https 経由で「My e-shop」に入ると、ブラウザはローカルの公開鍵と秘密鍵を生成しますか?
OK - 物事はここで脱線しています。
詳細については、SSL プロトコルを確認してください。ハンドシェイクのセクションで確かな事実がわかります。
ブラウザーと Web サーバーは、セッション暗号化キーを作成するための情報をやり取りします。ブラウザーは、セッションのセットアップに使用されるいくつかの開始材料を生成しますが、それは「ユーザーの公開鍵 (PK1)」ではありません。サーバーがクライアント認証用に構成されていない限り、ユーザーは PKI 資格情報を持っている必要はありません。通常の My e-Shop では、サーバーには PKI クレデンシャルがあり、ブラウザーはその 1 つのセッションだけのためにオンザフライでいくつかのキー マテリアルを生成しています。サーバーは、SSL に関して、ブラウザのユーザーが誰であるかをまったく知りません。すべてのユーザー ID は、アプリケーション レベルのパスワードまたはその他のものから取得されます。
注: これは通常の商取引用です。リスクが高いほど、保護が強化されます。リスクの高いトランザクションでは、クライアント認証が必要になることがよくあります。
(5) ユーザーがセキュアパイプ経由でリクエストを送信すると、リクエストは「My e-shop」の公開鍵で暗号化されます。次に、Web サーバーはその秘密鍵を使用して要求を復号化します。次に、Web サーバーは、ユーザーの公開鍵で暗号化された応答を送信します。最後に、ユーザーのブラウザーは、ユーザーの秘密鍵を使用して応答を復号化します。
そうではありません。これは雑草です。Web アプリケーションの開発者は、これらすべてから比較的抽象化されています。しかし、セッション コンテンツは非対称キーで暗号化されていないため、CPU の負荷が非常に高くなります。サーバーの PKI とオンザフライ ブラウザーで生成されたハンドシェイク データは、セッション暗号化キーの交換に使用されます。これの一部は、クライアントがサーバーの公開鍵で暗号化された秘密鍵を選択して送信することです。サーバーのみが秘密鍵を持っているため、サーバーのみがクライアントから送信されたデータを復号化できます。
この秘密鍵は対称的であり (正確にはどのアルゴリズムもハンドシェイクの一部でもあります)、残りのセッションで使用されます。