| 受験者は以下的能力を備えているべきである: | メモおよびガイドライン |
|---|---|
| 暗号化がどのように機能するかを理解する | 公開鍵, 秘密鍵, 平明文, 暗号文, 暗号化, 対称鍵暗号, 非対称鍵暗号の使用を含む 公開から個人/組織へ秘密メッセージを送信するための鍵の使用方法 検証済みメッセージを一般に送信するための鍵の使用方法 対称および非対称暗号を用いてデータが暗号化・復号化される方法 量子暗号の目的、利点、欠点 |
| Secure Socket Layer (SSL) / **Transport Layer Security (TLS)**への認識 | SSL/TLSの目的 クライアント-サーバー通信におけるSSL/TLSの使用 SSL/TLSの使用が適切な場面 |
| デジタル認証の理解 | デジタル証明書を取得する方法 デジタル証明書がデジタル署名の生成にどのように使用されるか |
安否保障
A-Level コンピューター科学 · トピック 17
13:19
暗号化の仕組み
ブラウザのアドレスバーにあるパッドロックを見てみてください。銀行名を入力すると、なぜかノートパソコンは実際に銀行と通信していることを確信します—そして…
英語ナレーション・英語+中文字幕 burning-in
17.1
暗号化の仕組み
シラバス
出典: Cambridge International シラバス
暗号化 は、鍵 に依存する数学的演算を用いて、読み可能な 平文 (plain text)を読み取れない 暗号文 (cipher text)に変換します。正しい鍵を持つ者だけが逆転させる— 復号化 —ことで平文を取り戻せます。鍵なしに暗号文を傍受した攻撃者は、ありあらゆる可能な鍵を試すのにあまりにも長い時間がかかるため、意味のないデータしか見ることができません。新しいアプローチである 量子暗号 は、量子力学を利用して盗聴者が現れる way で鍵を共有します。


対称暗号
対称暗号化(対称鍵暗号)は、同一の鍵を暗号化と復号の両方に使用するため、送信者と受信者の双方が秘密鍵を保持する必要があります。これは高速であり、大量データ(ハードディスク全体、動画ストリームなど)に適しています。しかし、鍵の配送という問題があります。最初の段階でどのように安全に鍵を共有するかです。非対称暗号化はこの問題を解決します。
「対称鍵暗号化とは何を意味するか説明せよ」(2点) 平文を暗号化し、暗号文を復号する際に同じ鍵が使用されるため、送信者と受信者の間で鍵が共有され、他者からは秘密に保たれる必要があります。2つの欠点。 メッセージを送信する前に鍵を交換する必要があり、通信中に盗聴された場合、盗聴者はすべてのメッセージを読むことができます;対応するすべてのペアごとに別の鍵が必要であり、誰がメッセージを送ったかの証明を提供しない点です。なぜなら、両端が同じ鍵を持っているからです。「鍵暗号化を用いる2つの理由を挙げよ」: 盗聴者がデータを読めないようにする(機密性)、受信者がデータが声称した送信者から来ていて改ざんされていないことを確信できるようにする(認証性と完全性)。2つの手法は対称鍵暗号化と非対称鍵暗号化です。

非対称暗号化(公開鍵暗号)
非対称暗号化(非対称鍵暗号)では、各ユーザーに関連する鍵のペアが割り当てられます:公開する公開鍵と、秘密に kept する秘密鍵です。公開鍵で暗号化されたデータは、対応する秘密鍵でのみ復号可能であり、その逆もまた然りです。

アリスへ秘密メッセージを送る場合:彼女の公開された公開鍵を取得し、それを使って暗号化して送信します。対応する秘密鍵を持っているアリスのみが復号できます。事前の鍵交換は不要です。代償として、対称暗号より遥かに遅いため、大容量データには使用されません。
"秘密鍵の概念を述べよ。" 所有者のみが知る鍵(伝送 never)、対応する公開鍵で暗号化されたデータを復号するために使用され、デジタル署名を作成するために使用される。「非対称暗号化のプロセスを説明しなさい」(4点): (1) 受信者がペアの鍵、すなわち公開鍵と秘密鍵を生成し、これらは数学的に関連しています;(2) 公開鍵は、彼らにメッセージを送りたい誰にでも提供されます;(3) 送信者は受信者の公開鍵を使って平文を暗号化します;(4) 暗号文は受信者の秘密鍵でのみ復号でき、それは常に受信者に留まるため、メッセージを intercept した誰一人として読むことはできません。
** worked example(例題)。** フレッドがシエラに機密文書を送りたいと考えています。非対称暗号化がどのように使われるかを説明しなさい。
シエラには鍵のペアがあります;彼女はフレッドに自身の公開鍵を送ります(または彼が彼女の証明書から取得します)。フレッドはシエラの公開鍵を使って文書を暗号化し、暗号文を送ります。シエラの秘密鍵のみで復号可能であり、それを保持しているのはシエラだけなので、フレッドを含む他の誰も、暗号化後では文書を読むことができません。鍵は受信者側の使い方をします:彼女の公開鍵でロックし、彼女の秘密鍵でアンロックします。「 secure transmission を受け取る」ために鍵のペアを保持する組織は、まさにこの動作を行います:公開鍵を published し、秘密鍵を kept して、到着したものを復号する。
対称暗号化と非対称暗号化の2つの違い。 対称暗号化は双方向に1つの鍵を使用します;非対称暗号化は2つの関連する鍵を使用し、一つで暗号化し、もう一つで復号します。対称暗号化では鍵を双方が秘密に kept 必要があり、 securely exchange する必要があります;非対称暗号化では公開鍵はpublishedでき、秘密鍵だけが secret です。対称暗号化は much faster であり、大量のデータに適しています;非対称暗号化は slower であるため、大量データではなく、鍵や署名のために使用されます。
秘密鍵は secret に keep する必要があるため、時折小さなハードウェアセキュリティキーに kept されることがあります。接続したりタッチしたりして自分自身であることを证明すると、秘密鍵はデバイスから never 離れません。

ハイブリッドアプローチ(ほぼ全ての実システムで使用)
新しいセッション鍵を exchange するために非対称暗号化を使用し、その後、その対称鍵を使ってデータを transfer する:
- クライアントがランダムなセッション鍵を生成する。
- セッション鍵をサーバーの公開鍵で暗号化する。
- サーバーは自身の秘密鍵で復号する。
- 両端は now share してセッション鍵を持ち、残りの部分では高速な対称暗号化を使用する。
これが HTTPS と SSH が動作する仕組みである。
試験における鍵交換問題のバージョン。 「メッセージを送信する前に対称鍵を exchange する必要がある。鍵を securely exchange する方法を説明しなさい。」 送信者は対称鍵を受信者の公開鍵で暗号化して送信します;受信者は自身の秘密鍵で復号します;双方 now hold して対称鍵を持ち、これは途中 transmission で never exposed であり、メッセージに use されます。非対称暗号化が distribution 問題を解決し、対称暗号化が subsequent fast work を行う。

ハッシュ関数(関連項目であり、暗号化ではない)
暗号ハッシュ関数は任意の入力を取り、同じ入力が常に同じダイジェストを与える固定サイズのダイジェストを出力します。また、同じダイジェストを持つ2つの入力を見つけることは不可能であり、入力のわずかな変更でもダイジェストが完全に変わります。ハッシュは一方向性を持ちます——元の入力に戻すことはできません。パスワードの検証保存、完全性チェック、デジタル署名に使用されます。

量子暗号学
量子暗号学は光の物理学を利用して鍵を分配します:鍵のビットは量子状態が値をエンコードする光子として送信されます。「その目的を説明せよ」: 暗号化鍵を安全に伝送すること、かつ、それを盗聴しようとする試みはすべて検出可能であること、なぜなら光子を測定するとその状態が変わるからであるという点です。したがって、盗聴者は痕跡を残し、損なわれた鍵は破棄され新しいものが送信されます。利点: 盗聴は常に検出可能である;鍵は改変なくコピーすることはできない;計算能力の将来的な向上に対する耐性がある(数学的鍵は最終的に解読される可能性があるが、量子鍵は乱さずに読み取ることはできない)。欠点: 特殊で高価な機器が必要です;専用光ファイバー(または直進路)でのみ限られた距離で動作し、既存のインターネット上では動作しません;鍵のみを分配するため、メッセージ自体は通常の暗号化で保護されます;そして、これは供給者が少なく経験の少ない新しい技術です。
ハッシングと雪崩効果
ハッシュは一方向性である:計算は容易だが、逆算は事実上不可能である。入力のわずかな変化が、出力の大きく予測不能な部分を変化させる — ハッシュがパスワードに適している理由である雪崩効果。
凯撒暗号(Caesar cipher)
文字をシフトしてメッセージを暗号化します。簡単な暗号は鍵という概念を示し、なぜ小さな鍵では破読しやすいかを理解できます。
| English | 日本語 |
|---|---|
| encryption/enˈkrɪpʃn/ | 暗号化 |
| plaintext/ˈpleɪntekst/ | 平明文 |
| ciphertext/ˈsaɪfətekst/ | 暗号文 |
| decryption/dɪˈkrɪpʃn/ | 復号化 |
| quantum cryptography/ˈkwɒntəm krɪpˈtɒɡrəfi/ | 量子暗号 |
| eavesdropper/ˈiːvzdrɒpə/ | 盗聴者 |
| symmetric encryption/sɪˈmetrɪk enˈkrɪpʃn/ | 対称暗号化 |
| key distribution/kiː ˌdɪstrɪˈbjuːʃn/ | 鍵配分 |
| asymmetric encryption/ˌeɪsɪˈmetrɪk enˈkrɪpʃn/ | 非対称暗号化 |
| integrity/ɪnˈteɡrɪti/ | 完全性 |
| public key/ˈpʌblɪk kiː/ | 公開鍵 |
| private key/ˈpraɪvət kiː/ | 秘密鍵 |
17.1
SSL / TLS
TLS(Transport Layer Security、Secure Socket Layer (SSL) の後継者)は、ネットワークを介して送信されるデータに対して暗号化と認証を提供するプロトコルです。它在途中的数据进行加密,对服务器进行证书认证,并提供完整性(检测篡改)。
TLSハンドシェイクの概要:
- クライアントが接続し、暗号化オプションを提案する。
- サーバーが1つ選択し、デジタル証明書(公開鍵付き)を送信する——これらの証明書の発行と検証はデジタル認証である。
- クライアントが証明書を確認する。
- 両端は非対称暗号を使って新しいセッションキーを交換する。
- その後のすべての通信は、セッションキーを用いた高速な対称暗号で行われる。
結果として、HTTPやSMTPなどの上位プロトコル用には、暗号化・認証済み・完全性チェック済みのトンネルが構築されます。敏感な情報が送信されるあらゆる場面で適切です:HTTPSウェブブラウジング、オンライン銀行取引と支払い、セキュアメール、VPNなど。
「SSL/TLSの目的を説明し、2つの機能を述べよ」。目的は、ネットワークを介してクライアントとサーバー間で** secure communication を提供することです。機能:送信されたデータを暗号化するため、盗聴されても読み取ることができない;デジタル証明書によってサーバー(およびオプションでクライアント)を認証するため、クライアントが正規のサイトと通信していることを確認できる;データの完全性をチェックするため、途中での変更を検知できる。適切な例:オンライン銀行取引とオンラインショッピング**(カード決済);さらにログイン、プライベートメール、ファイル転送、VoIP、インスタントメッセージングなど、プライベートデータがインターネットを横断するあらゆる取引。
TLSを構成する2つのプロトコル。 ハンドシェイクプロトコルはセッションを設定する:暗号アルゴリズム(暗号スイート)の合意、サーバーの証明書による認証、およびセッションキーの交換を行う。レコードプロトコルはその後データ运送を行う:各メッセージをセッションキーで暗号化し、完全性チェックを追加し、トランスポート層に渡す。

「クライアント-サーバー通信が開始される際、SSL/TLSがどのように使われるかを説明せよ」(6点) (1)クライアント(ブラウザ)はサポートする暗号化方法を明言して、サーバーへ安全な接続の要求を送信する。(2)サーバーは自身の公開鍵を含むデジタル証明書を返信する。(3)クライアントは証明書が有効であることを確認する(信頼できる証明書発行者(CA)が発行した、期限切れでない、正しいドメインのもの)。 (4)クライアントはセッションキーを生成し、サーバーの公開鍵で暗号化して送信する。(5)サーバーは自身の秘密鍵でセッションキーを復号する。(6)両側はこれでセッションキーを保持しており、それ以降のデータはすべてこれを用いた対称暗号で送信される。この順序で手順を記述すること。採点ポイントは、証明書、公開鍵、セッションキー、対称暗号への切り替えにある。
TLS ハンデシェイク
ロックアイコンが表示される前に何が起こるかを確認します。スローな公開鍵暗号は共有鍵の合意にのみ使われ、実際のページデータは高速な対称暗号によって保護されます。
| English | 日本語 |
|---|---|
| TLS/ˌtiː el ˈes/ | TLS |
| authentication/ɔːˌθentɪˈkeɪʃn/ | 認証 |
| authenticates/ɔːˈθentɪkeɪts/ | 認証する |
| handshake/ˈhændʃeɪk/ | ハンドシェイク |
17.1
デジタル証明書
デジタル証明書は、ID(ドメイン、組織)と公開鍵を結び付け、信頼できる証明書発行者(CA)によって署名されています。対象者(誰を識別するか)、対象者の公開鍵、発行者(CA)、有効期間、およびこれら全体に対するCAの署名を含みます。

これらを検証するには、クライアント(信頼されたルートCAの一覧を保持している)は以下を行う:
- 有効期限を確認する。
- 対象者名がURLと一致するか確認する。
- CAの公開鍵を使用して署名を検証し、信頼できるCAによって署名されているか確認する。
- 信頼されるルートまで証明書チェーンをたどる。
何らかのチェックに失敗した場合、ブラウザは「この接続は非私密です」という警告を表示する。すべての検証が正常に行われた場合、クライアントはその識別情報が信頼できるCAによって審査され、公開鍵が確かにその識別情報のものであり、証明書が有効であることを知ることができる。
「デジタル証明書とは何かを説明せよ」(2点) 証明書発行者が発行した電子文書であり、所有者(個人、組織、またはウェブサイト)の識別情報を検証し、所有者の公開键を含んでいる。 含まれる項目: シリアル番号;所有者の名前(対象者)および、ウェブサイトの場合そのドメイン;所有者の公開鍵;発行CAの名前;有効期間(日付);使用されている署名アルゴリズム;そして証明書の全体に対するCAのデジタル署名。
「組織がデジタル証明書を入手する方法を説明せよ」(4点) (1) 組織は独自のキーペア(公開鍵と秘密鍵)を生成する。(2) 公開鍵と識別情報詳細を含む申請を証明書発行者に送信する。(3) CAは識別情報を検証する(申請者が実際にその組織である、またはドメインを所有していることを確認する)。(4) CAは公開鍵と識別情報を含む証明書を作成し、CA自身の秘密鍵で署名して返送する。(5) 組織はサーバーに証明書をインストールし、クライアントに送信できるようにする。秘密鍵が組織の外に出ることはない。
「なぜデジタル署名を検証するためにデジタル証明書が必要かを説明せよ。 署名を検査するには、受信者は送信者の公開鍵が必要であり、その鍵が本当に宣言された送信者のものであることを确信する必要があります。証明書は公開鍵と識別情報を併せて提供しており、証明書が信頼できるCAによって署名されているため、受信者はこの結合を信頼できます。これがない場合、騙しは他人の名前で公開鍵を公開し、その人物になりすましてメッセージに署名することが可能です。同じ論理は「インターネットからダウンロードしたプログラムに、本物であることを証明するために何が含まれるべきか」への回答にも当てはまります:デジタル署名であり、発行者の証明書に対して検証されます。
| English | 日本語 |
|---|---|
| digital certificate/ˈdɪdʒɪtl səˈtɪfɪkət/ | デジタル証明書 |
17.1
デジタル署名
デジタル署名は、誰がメッセージに署名したかを示すだけでなく、変更されていないことも証明します。署名するには:
- メッセージの暗号化ハッシュを計算する。
- ハッシュを送信者の秘密鍵で暗号化する — これが署名である。
- メッセージと署名を送信する。
検証するには:受信メッセージのハッシュを計算する;送信者の公開鍵で署名を復号化して送信者のハッシュを取得する;比較する。一致すれば、メッセージは秘密鍵の保有者によって署名されており(認証)、変更されていない(完全性)。署名はメッセージを隠さない。機密性を確保するためには、暗号化と署名の両方を行う必要がある。

「デジタル署名を作成する際、デジタル証明書の役割について説明せよ」(3点) 送信者の証明書はCAによって発行され、送信者の公開鍵と送信者の識別情報を含んでいます。送信者はメッセージをハッシュ化し、証明書内の鍵の対となる秘密鍵でハッシュを暗号化することで署名を作成します。受信者は証明書からの公開鍵を用いてハッシュを復号化し、その鍵が送信者に紐付けられているため、署名は誰が署名したか證明します。
「デジタル署名がメッセージの検証にどのように使われるかを説明せよ」(4点) (1) 受信者は送信者の公開鍵(送信者の証明書から取得)で署名を復号化し、送信者が計算したハッシュを得る。(2) 受信者は同じハッシュアルゴリズムで受信メッセージをハッシュ化する。(3) 2つのハッシュは比較される。(4) 一致すれば、メッセージは秘密鍵の保有者から来たもの(正規)であり、署名後改変されていない(完全性);不一致であればメッセージは却下される。銀行が署名付きの機密データを受け取る際、これを信頼する前に同様の操作を行う;データ自体は機密性のために別個に銀行の公開鍵で暗号化される場合がある。
統合
https://www.bank.comへの安全なリクエスト:サーバーは証明書を送信し、クライアントは信頼できるCAに対してそれを検証する;クライアントはサーバーの公開鍵を使用してセッション鍵を交換し、その後、その鍵で暗号化されたデータが流れる。暗号化は盗聴者を遮断し、証明書はサーバーの識別情報を証明し、完全性チェックはミドルマン攻撃によるデータ改変を防ぐ。
** worked example.** アリスがボブに契約書を送る。アリスは、この文書が自分から送られたことと改ざんされていないことをボブに確信させたい。さらに、第三者には読まれないようにしたい。アリスはどの鍵を、どのような方向で使うべきか。これらは2つの異なるタスクであり、2つの異なる鍵ペアが必要である。署名(認証と完全性)のために:アリスは契約書のハッシュを取り、それを自身の秘密鍵で暗号化する;ボブはアリスの公開鍵で復号し、自分のメッセージに対するハッシュと比較する。アリス自身が秘密鍵を持っているのは彼だけなので、彼だけが生成した可能性がある。機密性のために:アリスは契約書そのものをボブの公開鍵で暗号化するため、ボブの秘密鍵のみで開くことができる。4つを区別するための1つのルールがある:「署名は自身の秘密鍵で行い、暗号化は相手の公開鍵で行う」。署名だけではメッセージは隠されない。
| English | 日本語 |
|---|---|
| digital signature/ˈdɪdʒɪtl ˈsɪɡnɪtʃə/ | デジタルサイネチャ |
| hardware security key/ˈhɑːdweə sɪˈkjʊərɪti kiː/ | ハードウェアセキュリティキー |
| session key/ˈseʃn kiː/ | セッションキー |
| cryptographic hash/ˌkrɪptəˈɡræfɪk hæʃ/ | 暗号ハッシュ |
| digest/ˈdaɪdʒest/ | ダイジェスト |
17.1
出題者が認める定義
定義問題は固定された用語に基づいて採点されます。これらを正確に暗記し、一つの答えのみを答えてください。
| 用語 | 定義 |
|---|---|
| 暗号化 | アルゴリズムと鍵を使って平明文を暗号文に変換し、傍受された場合に理解できないようにすること |
| 平明文 / 暗号文 | 元の読み可能なデータ / その暗号化され、読み取れない形 |
| 対称鍵暗号化 | 暗号化と復号に同じ秘密鍵が使われるため、両者によって安全に共有される必要がある |
| 非対称鍵暗号化 | 関連する鍵のペアが使われる:公開鍵で暗号化し、対応する秘密鍵のみで復号する |
| 公開鍵 | 誰でも利用可能にするための鍵。所有者へのメッセージの暗号化や、所有者の署名の検証に使用される |
| 秘密鍵 | 所有者のみに知られている鍵。公開鍵で暗号化されたメッセージの復号や、署名作成に使用される |
| SSL/TLS | クライアントとサーバー間の安全な(暗号化済み、認証済み、完全性確認済み)通信を提供するプロトコル |
| デジタル証明書 | 証明機関が発行する電子文書。所有者の身份を確認し、公開键を含む |
| デジタル署名 | 送信者の秘密鍵で暗号化されたメッセージのハッシュ。誰が送信したか、かつ改ざんされていないことを証明する |
| 証明機関 (Certificate Authority) | 信頼できる組織。 identities を検証し、デジタル証明書を発行・署名する |
| 量子暗号化 | 光子の量子状態を用いて鍵を分配し、傍受を検知する |
| English | 日本語 |
|---|---|
| Certificate Authority/səˈtɪfɪkət əˈθɒrɪti/ | 証明機関 |
| man-in-the-middle/mæn ɪnðə ˈmɪdl/ | 真ん中の男 |
17.1
試験対策
- 対称:1つの共有秘密鍵、高速だが、鍵交換が弱点。非対称:公開鍵で暗号化、秘密鍵で復号、低速だが交換問題なし。2つの違い、2つの欠点、2つの理由:試験ではこれらをペアで問われる。
- 機密性は受信者の鍵(公開鍵でロック、秘密鍵でアンロック)を使用;署名は送信者の鍵(秘密鍵で署名、公開鍵でチェック)を使用。毎回「だれの鍵か」を明言すること。
- TLSの初期化は6ステップ:リクエスト、公開鍵付き証明書、チェック、公開鍵で暗号化されたセッション鍵、秘密鍵で復号、それ以降は対称暗号化。
- 証明書は「identity+公開鍵」であり、CAによって署名されている;取得プロセスは「鍵ペア生成→リクエスト→検証→署名→インストール」。署名を検証するために必要なのは、それが「だれの公開鍵か」を示すからである。
- 署名とは「秘密鍵で暗号化されたハッシュ」であり、検証は「復号→再ハッシュ→比較」である。完結性と真正性は、証明する2つの要素である。
- 量子暗号化は鍵の分配と盗聴検出を行う;その限界はコスト、距離、および新しさである。
一般的なミス
- メッセージが「送信者の公開鍵で暗号化されている」と言うのは間違い。「受信者の公開鍵で暗号化され、受信者の秘密鍵で復号される」のが正しい。
- 「メッセージそのものを秘密鍵で暗号化している」と署名を説明するのは誤り。「ハッシュを暗号化している」のが正しい。
- 証明書に秘密鍵が含まれると主張するのは誤り。「公開鍵とidentityを含み、CAによって署名されている」のが正しい。
- TLSハンドシェイクで「サーバーが秘密鍵を送る」と並べるのは誤り。「公開鍵のみが移動し、証明書の中に含まれる」のが正しい。
- 「SSL/TLSは接続を速くする」を機能として挙げるのは誤り。「暗号化、認証、完全性の提供」が正しい機能である。
- ハッシングと暗号化を混同する:ハッシュは逆転できず鍵も持たない;暗号化は鍵で逆転可能である。
- 「なぜ証明書の必要性があるか」に対して「暗号化するため」と答えるのは誤り。「公開鍵を信頼するため」が必要である。
このトピックのインタラクティブ授業
一歩ずつ進め、即時チェック付きの問題で学習します。