はじめに
インターネットでは、さまざまな情報がやり取りされています。
例えば、はちみつ屋さんが取引先に電子契約書を送信する場面を考えてみましょう。
取引先は、次のような疑問を持つかもしれません。
- 本当に、はちみつ屋さんから送られてきた契約書なのか?
- 途中で契約内容が書き換えられていないか?
- はちみつ屋さんは、後から「そんな契約書は送っていない」と否定できてしまうのではないか?
こうした問題に対応するために利用されるのが、**デジタル署名(Digital Signature)**です。
また、デジタル署名を安全に利用するためには、公開鍵が本当に本人のものであることを確認する仕組みも必要です。
その仕組みが、**PKI(Public Key Infrastructure:公開鍵基盤)**です。
今回は、デジタル署名とPKIの仕組みを順番に学んでいきましょう。
1. デジタル署名とは
1-1. デジタル署名の基本
**デジタル署名(Digital Signature)**とは、公開鍵暗号技術などを利用して、電子データの作成者や改ざんの有無を検証できるようにする仕組みです。
デジタル署名には、主に次の3つの目的があります。
| 目的 | 内容 |
|---|---|
| 真正性の確認 | 署名者が正当な秘密鍵の所有者であることを確認する |
| 完全性の確認 | 署名対象のデータが変更されていないことを確認する |
| 否認防止 | 署名者が後から署名した事実を否定することを困難にする |
ただし、否認防止はデジタル署名だけで無条件に成立するものではありません。
秘密鍵の管理状況や、証明書の信頼性なども重要です。
1-2. デジタル署名と電子署名の違い
似た言葉に、**電子署名(Electronic Signature)**があります。
電子署名は、電子的な方法で署名者の意思や承認などを示す仕組みを広く指します。
一方、デジタル署名は、公開鍵暗号技術を利用した暗号学的な署名方式を指します。
| 項目 | 電子署名 | デジタル署名 |
|---|---|---|
| 意味 | 電子的な署名の総称 | 暗号技術を利用した署名方式 |
| 使用する技術 | さまざま | 公開鍵暗号技術など |
| 関係 | 広い概念 | 電子署名を実現する技術の1つ |
応用情報技術者試験では、特にデジタル署名の仕組みが重要です。
2. デジタル署名で使用する鍵
2-1. 公開鍵と秘密鍵
デジタル署名では、公開鍵暗号技術の鍵ペアを利用します。
鍵には、次の2種類があります。
| 鍵 | 役割 |
|---|---|
| 秘密鍵 | デジタル署名を生成する |
| 公開鍵 | デジタル署名を検証する |
ここが重要です。
デジタル署名は、署名者の秘密鍵で生成し、署名者の公開鍵で検証します。
2-2. 暗号化との違い
前回までの記事で学んだ公開鍵暗号方式による暗号化と比較しましょう。
暗号化の場合
【送信者】 【受信者】
平文
│
▼
受信者の公開鍵で暗号化
│
▼
暗号文 ────────────────→ 暗号文
│
▼
受信者の秘密鍵
│
▼
平文
暗号化では、受信者だけが内容を読めるようにすることが目的です。
そのため、受信者の公開鍵で暗号化し、受信者の秘密鍵で復号します。
デジタル署名の場合
【送信者】 【受信者】
データ
│
▼
送信者の秘密鍵で署名
│
▼
データ+署名 ──────────────→ データ+署名
│
▼
送信者の公開鍵
│
▼
署名を検証
デジタル署名では、送信者が署名を生成したことを確認するのが目的です。
そのため、送信者の秘密鍵で署名し、送信者の公開鍵で検証します。
3. 暗号化とデジタル署名の比較
| 項目 | 公開鍵暗号方式による暗号化 | デジタル署名 |
|---|---|---|
| 主な目的 | 機密性の確保 | 真正性・完全性の確認、否認防止 |
| 使用する秘密鍵 | 受信者の秘密鍵 | 送信者の秘密鍵 |
| 使用する公開鍵 | 受信者の公開鍵 | 送信者の公開鍵 |
| 秘密鍵の役割 | 復号 | 署名生成 |
| 公開鍵の役割 | 暗号化 | 署名検証 |
🍯 はちみつ屋さんで例えると
はちみつ屋さんが、取引先に秘密のレシピを送るとします。
暗号化
レシピの内容を第三者に読まれないようにします。
デジタル署名
レシピが本当にはちみつ屋さんから送られたものであり、途中で改ざんされていないことを確認できるようにします。
つまり、
暗号化は「内容を秘密にする技術」
デジタル署名は「作成者と内容の正しさを確認する技術」
という違いがあります。
4. メッセージダイジェストとは
4-1. メッセージダイジェストの基本
**メッセージダイジェスト(Message Digest)**とは、データにハッシュ関数を適用して得られる値です。
ハッシュ値とも呼ばれます。
例えば、次のようなデータがあるとします。
注文内容:はちみつ10個
このデータにハッシュ関数を適用すると、一定の長さの値が得られます。
元データ
│
▼
ハッシュ関数
│
▼
メッセージダイジェスト
メッセージダイジェストは、元のデータの内容に応じて計算されます。
そのため、元データが変更されると、ハッシュ値も通常は変化します。
5. ハッシュ関数とは
5-1. ハッシュ関数の基本
**ハッシュ関数(Hash Function)**とは、任意の長さのデータから、決められた長さのハッシュ値を計算する関数です。
暗号学的ハッシュ関数には、主に次の特徴があります。
| 特徴 | 内容 |
|---|---|
| 一方向性 | ハッシュ値から元のデータを求めることが困難 |
| 第2原像計算困難性 | あるデータと同じハッシュ値になる別のデータを見つけることが困難 |
| 衝突耐性 | 同じハッシュ値になる異なる2つのデータを見つけることが困難 |
| 固定長出力 | 入力の長さにかかわらず、一定長の値を出力する |
5-2. ハッシュ関数の代表例
| アルゴリズム | 出力長 | 現在の位置付け |
|---|---|---|
| MD5 | 128ビット | 衝突耐性が破られており、署名用途には不適切 |
| SHA-1 | 160ビット | 衝突耐性が破られており、署名用途には不適切 |
| SHA-256 | 256ビット | 広く利用される |
| SHA-384 | 384ビット | 広く利用される |
| SHA-512 | 512ビット | 広く利用される |
| SHA-3 | 方式によって異なる | SHA-2とは異なる構造のハッシュ関数群 |
試験でのポイント
MD5・SHA-1は古い方式、SHA-256などが現在広く利用される方式と覚えておきましょう。
6. ハッシュ関数で改ざんを検知する仕組み
例えば、はちみつ屋さんが取引先に注文書を送信したとします。
元の注文書は次の内容です。
注文数量:100個
しかし、途中で攻撃者が内容を書き換えたとします。
注文数量:900個
この場合、元のデータと改ざん後のデータでは、通常、ハッシュ値が異なります。
【元のデータ】
注文数量:100個
│
▼
ハッシュ関数
│
▼
ハッシュ値A
【改ざん後】
注文数量:900個
│
▼
ハッシュ関数
│
▼
ハッシュ値B
ハッシュ値A ≠ ハッシュ値B
この性質を利用すると、データの変更を検知できます。
ただし、ハッシュ値を単にデータと一緒に送信するだけでは十分ではありません。
攻撃者がデータとハッシュ値の両方を書き換える可能性があるためです。
そこで、ハッシュ値をデジタル署名によって保護します。
7. デジタル署名の基本的な仕組み
デジタル署名では、一般に次の処理を行います。
- 送信するデータからメッセージダイジェストを生成する
- 送信者の秘密鍵で署名を生成する
- 元データと署名を送信する
- 受信者が元データからメッセージダイジェストを計算する
- 送信者の公開鍵で署名を検証する
順番に見ていきましょう。
8. デジタル署名の生成
8-1. 手順1:ハッシュ値を生成する
まず、送信者はデータにハッシュ関数を適用します。
【送信者】
元データ
│
▼
ハッシュ関数
│
▼
メッセージダイジェスト
8-2. 手順2:秘密鍵で署名を生成する
次に、送信者は自分の秘密鍵を使用して署名を生成します。
メッセージダイジェスト
│
▼
署名アルゴリズム
▲
│
送信者の秘密鍵
│
▼
デジタル署名
ここで注意したいのが、実際のデジタル署名は、単純にハッシュ値を秘密鍵で暗号化する処理とは限らないという点です。
RSA-PSSやECDSAなどでは、それぞれの署名アルゴリズムに従って署名を生成します。
応用情報技術者試験では、まず「ハッシュ値と秘密鍵を利用して署名する」という基本構造を理解しましょう。
9. デジタル署名の検証
受信者は、送信されたデータとデジタル署名を受け取ります。
そして、次の処理を行います。
手順1:受信データからハッシュ値を計算
受信したデータに、送信者と同じハッシュ関数を適用します。
手順2:公開鍵で署名を検証
送信者の公開鍵を使用して、デジタル署名を検証します。
手順3:検証結果を確認
署名が正しく検証できれば、署名対象のデータが変更されていないことや、対応する秘密鍵によって署名が生成されたことを確認できます。
10. デジタル署名の全体図
【送信者】
元データ
│
▼
ハッシュ関数
│
▼
メッセージダイジェスト
│
▼
送信者の秘密鍵で署名
│
▼
デジタル署名
│
│
├───────────────┐
│ │
▼ ▼
元データ デジタル署名
│ │
└───────┬───────┘
│
▼
送信
│
▼
【受信者】
受信データ デジタル署名
│ │
▼ ▼
ハッシュ関数 送信者の公開鍵
│ │
▼ ▼
ハッシュ値 署名の検証
│ │
└───────┬───────┘
│
▼
検証結果
│
┌───────┴───────┐
▼ ▼
成功 失敗
🍯 はちみつ屋さんで例えると
はちみつ屋さんが、取引先に電子契約書を送信します。
まず、契約書の内容からメッセージダイジェストを生成します。
そして、はちみつ屋さんだけが持っている秘密鍵を使って署名します。
取引先は、はちみつ屋さんの公開鍵で署名を検証します。
署名が正しく検証できれば、契約書が途中で改ざんされていないことを確認できます。
11. デジタル署名だけでは解決できない問題
ここまでの説明では、受信者が送信者の公開鍵を持っていることを前提としていました。
しかし、ここで問題があります。
その公開鍵は、本当に送信者のものなのでしょうか?
例えば、攻撃者が自分の公開鍵を「はちみつ屋さんの公開鍵です」と偽って渡したとします。
【攻撃者】
│
│ 自分の公開鍵を
│ はちみつ屋さんのものと偽る
▼
【取引先】
│
│ 偽の公開鍵を信頼
▼
不正な署名を受け入れる危険
公開鍵の所有者を正しく確認できなければ、デジタル署名を安全に利用できません。
この問題を解決するために利用されるのが、PKIです。
12. PKIとは
12-1. PKIの基本
**PKI(Public Key Infrastructure:公開鍵基盤)**とは、公開鍵暗号技術を安全に利用するための仕組みや運用基盤です。
PKIでは、デジタル証明書や認証局などを利用して、公開鍵と所有者の関係を確認できるようにします。
12-2. PKIの主な構成要素
| 用語 | 正式名称 | 役割 |
|---|---|---|
| CA | Certification Authority | デジタル証明書を発行する認証局 |
| RA | Registration Authority | 証明書申請者の確認などを担当する登録局 |
| デジタル証明書 | Digital Certificate | 公開鍵と所有者情報などを結び付ける |
| リポジトリ | Repository | 証明書や失効情報などを公開する |
| CP | Certificate Policy | 証明書ポリシー |
| CPS | Certification Practice Statement | 認証局運用規程 |
13. CAとは
13-1. CAの基本
**CA(Certification Authority:認証局)**とは、デジタル証明書を発行する組織やシステムです。
CAは、証明書にデジタル署名を付与することで、証明書の内容が正当なものであることを検証できるようにします。
13-2. CAの役割
CAには、主に次の役割があります。
- デジタル証明書の発行
- 証明書の更新・失効
- 証明書の署名
- 証明書の管理
- 失効情報の提供
本人確認などの登録業務は、CA自身が行う場合もあれば、RAが担当する場合もあります。
14. RAとは
14-1. RAの基本
**RA(Registration Authority:登録局)**とは、証明書の発行申請に関する確認業務を担当する組織やシステムです。
例えば、次のような業務を行います。
- 申請者の本人確認
- 組織情報の確認
- 証明書発行申請の受付
- CAへの申請情報の連携
CAとRAの違い
| 項目 | CA | RA |
|---|---|---|
| 主な役割 | 証明書の発行・署名 | 申請者の確認・登録 |
| 証明書への署名 | 行う | 通常は行わない |
| 本人確認 | 行う場合がある | 主な担当業務 |
15. デジタル証明書とは
15-1. デジタル証明書の基本
**デジタル証明書(Digital Certificate)**とは、公開鍵とその所有者に関する情報などを結び付ける電子的な証明書です。
一般的には、X.509という規格に基づく証明書が広く利用されています。
15-2. デジタル証明書に含まれる情報
X.509証明書には、主に次の情報が含まれます。
| 項目 | 内容 |
|---|---|
| バージョン | 証明書の形式 |
| シリアル番号 | 証明書を識別する番号 |
| 発行者 | 証明書を発行したCA |
| 有効期間 | 証明書が有効な期間 |
| 主体 | 証明書の対象となる利用者や組織など |
| 公開鍵情報 | 対象の公開鍵 |
| 署名アルゴリズム | CAが署名に使用したアルゴリズム |
| CAのデジタル署名 | 証明書の内容を検証するための署名 |
証明書には、用途や制約を示す拡張情報も含められます。
16. デジタル証明書の発行手順
デジタル証明書は、一般に次の流れで発行されます。
手順1:鍵ペアを生成
申請者が公開鍵と秘密鍵のペアを生成します。
手順2:証明書を申請
公開鍵や申請者情報などを含む申請を行います。
手順3:本人確認
CAやRAが、申請内容に応じた確認を行います。
手順4:CAが証明書を発行
CAが証明書を作成し、CA自身の秘密鍵でデジタル署名します。
手順5:証明書を利用
利用者は、発行された証明書を通信相手に提示できます。
【申請者】
│
│ ① 鍵ペア生成
▼
公開鍵・秘密鍵
│
│ ② 証明書申請
▼
【RA・CA】
│
│ ③ 申請内容の確認
▼
【CA】
│
│ ④ CAの秘密鍵で署名
▼
デジタル証明書
│
│ ⑤ 発行
▼
【申請者】
重要なのは、申請者の秘密鍵をCAに渡す必要は通常ないということです。
17. デジタル証明書の検証
証明書を受け取った側は、一般に次のような項目を確認します。
- CAの署名が正しいか
- 証明書の有効期間内か
- 証明書が失効していないか
- 証明書の利用目的が適切か
- 証明書の対象が接続先などと一致しているか
- 信頼できるCAまで証明書チェーンを構築できるか
例えばHTTPS通信では、ブラウザがWebサーバーの証明書を検証します。
18. ルートCAと中間CA
PKIでは、認証局が階層構造になっている場合があります。
ルートCA
│
▼
中間CA
│
▼
サーバー証明書
18-1. ルートCA
**ルートCA(Root CA)**とは、認証局の階層構造の最上位に位置するCAです。
ルートCAの証明書は、一般に自己署名証明書です。
OSやブラウザなどには、信頼するルートCAの証明書があらかじめ登録されている場合があります。
これらを信頼の起点として利用します。
18-2. 中間CA
**中間CA(Intermediate CA)**とは、上位のCAから証明書を発行されるCAです。
中間CAは、サーバー証明書などを発行する役割を担います。
18-3. 証明書チェーン
**証明書チェーン(Certificate Chain)**とは、証明書を発行したCAを順番にたどり、信頼できるルートCAまでつなぐ仕組みです。
サーバー証明書
│
│ 中間CAの公開鍵で検証
▼
中間CA証明書
│
│ ルートCAの公開鍵で検証
▼
ルートCA証明書
│
▼
信頼できるルートCA
証明書チェーンが正しく検証できても、証明書の有効期間や失効状態、利用目的などの確認は別途必要です。
19. CPとは
19-1. CPの基本
**CP(Certificate Policy:証明書ポリシー)**とは、デジタル証明書の適用範囲や利用条件、保証水準などを定めた方針です。
簡単にいうと、「どのような目的や条件で証明書を利用するのか」を定める文書です。
19-2. CPに記載される内容
CPには、例えば次のような内容が記載されます。
- 証明書の利用目的
- 証明書の適用範囲
- 利用者の責任
- 認証に求められる保証水準
- 証明書の利用条件
19-3. はちみつ屋さんで例えると
はちみつ屋さんが、取引先向けの電子契約サービスを運営するとします。
CPでは、次のような方針を定めます。
「この証明書は、取引先との電子契約に使用する」
「証明書の発行には、所定の本人確認を必要とする」
このように、証明書の利用方針を示すのがCPです。
20. CPSとは
20-1. CPSの基本
**CPS(Certification Practice Statement:認証局運用規程)**とは、CAが証明書を発行・管理する際の具体的な運用方法を定めた文書です。
簡単にいうと、「認証局が実際にどのような手順で運用するのか」を定める文書です。
20-2. CPSに記載される内容
CPSには、例えば次のような内容が記載されます。
- 本人確認の具体的な手順
- 証明書の発行手順
- 秘密鍵の管理方法
- 証明書の更新・失効手順
- 監査や運用管理の方法
21. CPとCPSの違い
CPとCPSは、応用情報技術者試験で混同しやすい用語です。
| 項目 | CP | CPS |
|---|---|---|
| 正式名称 | Certificate Policy | Certification Practice Statement |
| 日本語 | 証明書ポリシー | 認証局運用規程 |
| 主な内容 | 証明書の利用方針・条件 | 認証局の具体的な運用方法 |
| 覚え方 | 何を満たすべきか | どのように実施するか |
🍯 はちみつ屋さんで例えると
CP
「安全なはちみつを販売する」という品質方針。
CPS
「毎朝、決められた手順で品質検査を行う」という具体的な運用手順。
つまり、
CP=方針
CPS=具体的な運用方法
と覚えましょう。
22. デジタル証明書の失効とは
22-1. 証明書の失効
**証明書の失効(Certificate Revocation)**とは、有効期間が終了する前に、証明書を無効として扱うことです。
証明書には有効期間がありますが、その期間中でも使用を停止しなければならない場合があります。
22-2. 証明書が失効する主な理由
- 秘密鍵が漏えいした
- 秘密鍵が漏えいした疑いがある
- 証明書の所有者情報が変更された
- 証明書の発行内容に誤りがあった
- 証明書の利用を終了する必要が生じた
例えば、はちみつ屋さんのWebサーバーの秘密鍵が盗まれた場合、その鍵に対応する証明書を失効させる必要があります。
23. CRLとは
23-1. CRLの基本
**CRL(Certificate Revocation List:証明書失効リスト)**とは、失効したデジタル証明書の情報をまとめたリストです。
CRLは、CAなどによって発行されます。
23-2. CRLの仕組み
【認証局 CA】
│
│ 失効した証明書を登録
▼
【CRL】
│
│ 公開
▼
【利用者・システム】
│
│ CRLを取得
▼
証明書の失効状態を確認
23-3. CRLに含まれる情報
CRLには、例えば次の情報が含まれます。
- 発行者
- 更新日時
- 次回更新予定日時
- 失効した証明書のシリアル番号
- 失効日時
- CAのデジタル署名
23-4. CRLの特徴
メリット
- 失効情報をまとめて配布できる
- 取得したCRLを一定期間利用できる
- オフライン環境でも、取得済みのCRLを参照できる場合がある
デメリット
- 失効情報の反映まで時間差が生じる場合がある
- 失効した証明書が増えると、リストが大きくなる
- 最新の失効情報を取得するための管理が必要
24. OCSPとは
24-1. OCSPの基本
**OCSP(Online Certificate Status Protocol)**とは、デジタル証明書の失効状態などをオンラインで問い合わせるためのプロトコルです。
CRLが失効情報のリストを取得する方式であるのに対し、OCSPでは個別の証明書の状態を問い合わせます。
24-2. OCSPの仕組み
【利用者】
│
│ 証明書の状態を問い合わせ
▼
【OCSPレスポンダ】
│
│ 証明書の状態を確認
▼
【利用者】
│
▼
状態を確認
OCSPでは、代表的に次の状態が返されます。
| 状態 | 意味 |
|---|---|
| good | 失効しているとは確認されていない |
| revoked | 失効している |
| unknown | 状態を判断できない |
ここで注意したいのが、goodは証明書があらゆる意味で有効であることを保証するものではないという点です。
有効期間や証明書チェーンなどは、別途確認する必要があります。
25. CRLとOCSPの違い
| 項目 | CRL | OCSP |
|---|---|---|
| 正式名称 | Certificate Revocation List | Online Certificate Status Protocol |
| 日本語 | 証明書失効リスト | オンライン証明書状態確認プロトコル |
| 確認方法 | 失効情報のリストを取得 | 個別の証明書について問い合わせ |
| 特徴 | まとめて確認できる | 個別の状態を確認できる |
| 注意点 | 更新までの時間差やリストサイズ | レスポンダへの接続性や応答の鮮度 |
試験でのポイント
CRL=失効した証明書の一覧
OCSP=証明書の状態をオンラインで問い合わせる
と覚えましょう。
26. OCSP Staplingとは
26-1. OCSP Staplingの基本
OCSP Staplingとは、WebサーバーがOCSPレスポンスを取得しておき、TLS通信時にクライアントへ提示する仕組みです。
これにより、クライアントが毎回OCSPレスポンダへ直接問い合わせる必要を減らせます。
【Webサーバー】
│
│ OCSPレスポンスを取得
▼
【OCSPレスポンダ】
【利用者】
│
│ HTTPS接続
▼
【Webサーバー】
│
│ 証明書
│ OCSPレスポンス
▼
【利用者】
│
▼
証明書の状態を確認
ただし、OCSP Staplingの利用状況や検証方法は、TLSの構成やクライアントの実装によって異なります。
27. PKIの全体構成
ここまで学んだ内容を整理しましょう。
【ルートCA】
│
▼
【中間CA】
│
│ 証明書を発行
▼
【利用者・サーバー】
│
│ 証明書を提示
▼
【通信相手】
│
├─ CAの署名を検証
│
├─ 有効期間を確認
│
├─ 利用目的を確認
│
└─ 失効状態を確認
│
┌───────┴───────┐
▼ ▼
CRL OCSP
PKIでは、証明書を発行するだけでなく、信頼性を検証し、必要に応じて失効情報を確認することが重要です。
28. PKIが利用される場面
28-1. HTTPS通信
HTTPSでは、TLSを利用して通信を保護します。
Webサーバーのデジタル証明書を検証することで、接続先の正当性を確認できます。
28-2. 電子メール
電子メールでは、S/MIMEなどを利用して、デジタル署名や暗号化を行うことができます。
28-3. 電子契約
電子契約では、デジタル署名を利用して、署名者や契約内容の完全性を確認できるようにします。
28-4. VPN
VPNでは、デジタル証明書を利用して、通信相手や端末を認証する場合があります。
28-5. ソフトウェアの署名
ソフトウェアにデジタル署名を付与することで、配布元や改ざんの有無を検証できます。
29. 応用情報技術者試験の重要ポイント
| 用語 | 覚えるポイント |
|---|---|
| デジタル署名 | 真正性・完全性の確認、否認防止に利用 |
| 秘密鍵 | 署名の生成に使用 |
| 公開鍵 | 署名の検証に使用 |
| メッセージダイジェスト | ハッシュ関数から得られる値 |
| ハッシュ関数 | データから固定長の値を計算 |
| SHA-256 | 256ビットのハッシュ値を生成 |
| PKI | 公開鍵基盤 |
| CA | 認証局 |
| RA | 登録局 |
| デジタル証明書 | 公開鍵と所有者情報などを結び付ける |
| X.509 | デジタル証明書の代表的な規格 |
| ルートCA | 信頼の起点となるCA |
| 中間CA | 上位CAから証明書を発行されるCA |
| 証明書チェーン | 証明書の信頼関係をたどる仕組み |
| CP | 証明書ポリシー |
| CPS | 認証局運用規程 |
| CRL | 証明書失効リスト |
| OCSP | オンライン証明書状態確認プロトコル |
30. 練習問題
問題1:デジタル署名
デジタル署名を生成する際に使用する鍵はどれでしょうか。
A. 受信者の公開鍵
B. 受信者の秘密鍵
C. 送信者の公開鍵
D. 送信者の秘密鍵
解答
正解:D
デジタル署名は、送信者の秘密鍵を使用して生成します。
問題2:署名の検証
デジタル署名の検証に使用する鍵はどれでしょうか。
A. 送信者の公開鍵
B. 送信者の秘密鍵
C. 受信者の公開鍵
D. 受信者の秘密鍵
解答
正解:A
署名の検証には、送信者の公開鍵を使用します。
問題3:メッセージダイジェスト
メッセージダイジェストを生成するために利用する技術はどれでしょうか。
A. NAT
B. ハッシュ関数
C. DHCP
D. DNS
解答
正解:B
メッセージダイジェストは、ハッシュ関数を適用して生成します。
問題4:PKI
PKIにおいて、デジタル証明書を発行する役割を持つものはどれでしょうか。
A. CA
B. DNS
C. DHCP
D. NAT
解答
正解:A
CAはCertification Authorityの略で、認証局を意味します。
問題5:デジタル証明書
デジタル証明書の主な役割として、最も適切なものはどれでしょうか。
A. 通信速度を向上させる
B. 公開鍵と所有者情報などを結び付ける
C. IPアドレスを自動設定する
D. データを圧縮する
解答
正解:B
デジタル証明書は、公開鍵とその所有者情報などを結び付けるために利用されます。
問題6:CP
CPの説明として、最も適切なものはどれでしょうか。
A. 認証局の具体的な運用手順
B. 証明書の利用方針や条件を定めた文書
C. 失効した証明書の一覧
D. 証明書の状態を問い合わせるプロトコル
解答
正解:B
CPはCertificate Policyの略で、証明書ポリシーを意味します。
問題7:CPS
CPSの説明として、最も適切なものはどれでしょうか。
A. 認証局の具体的な運用方法を定めた文書
B. 公開鍵を暗号化するアルゴリズム
C. ネットワークの経路制御プロトコル
D. メッセージダイジェストの生成方式
解答
正解:A
CPSはCertification Practice Statementの略で、認証局運用規程を意味します。
問題8:CRL
CRLの主な役割はどれでしょうか。
A. 証明書を暗号化する
B. 失効した証明書の情報を提供する
C. IPアドレスを割り当てる
D. データを圧縮する
解答
正解:B
CRLは、失効した証明書の情報をまとめたリストです。
問題9:OCSP
OCSPの説明として、最も適切なものはどれでしょうか。
A. データを暗号化する方式
B. 公開鍵を生成する方式
C. 証明書の状態をオンラインで問い合わせるプロトコル
D. 電子メールを送信するプロトコル
解答
正解:C
OCSPは、証明書の失効状態などをオンラインで確認するためのプロトコルです。
問題10:証明書チェーン
証明書チェーンの説明として、最も適切なものはどれでしょうか。
A. 複数の証明書を暗号化する仕組み
B. 証明書を発行したCAをたどり、信頼の起点まで検証する仕組み
C. 証明書を自動削除する仕組み
D. 証明書の有効期間を延長する仕組み
解答
正解:B
証明書チェーンは、証明書の信頼関係を検証するための仕組みです。
まとめ
今回は、デジタル署名とPKIについて学びました。
特に重要なのは、次のポイントです。
- デジタル署名:データの真正性・完全性の確認や否認防止に利用する
- 秘密鍵:署名の生成に使用する
- 公開鍵:署名の検証に使用する
- メッセージダイジェスト:ハッシュ関数によって生成される値
- PKI:公開鍵を安全に利用するための基盤
- CA:デジタル証明書を発行する認証局
- デジタル証明書:公開鍵と所有者情報などを結び付ける
- CP:証明書の利用方針や条件
- CPS:認証局の具体的な運用方法
- CRL:失効した証明書の一覧
- OCSP:証明書の状態をオンラインで問い合わせる仕組み
🍯 はちみつメモ
デジタル署名は「この書類は本当に私が作成し、内容も変更されていません」と確認できるようにする仕組み!
はちみつ屋さんで考えると、
デジタル署名
→ 店長だけが使える特別な印鑑。
メッセージダイジェスト
→ 書類の内容から計算する、データの指紋のようなもの。
CA
→ 印鑑の持ち主を確認し、証明書を発行する機関。
デジタル証明書
→ 公開鍵が誰のものなのかを示す証明書。
CP
→ 証明書をどのような条件で利用するかを定めた方針。
CPS
→ 証明書をどのような手順で発行・管理するかを定めた運用規程。
CRL
→ 使用できなくなった証明書の一覧。
OCSP
→ 証明書が失効していないか、オンラインで問い合わせる仕組み。
応用情報技術者試験では、**「署名は秘密鍵、検証は公開鍵」「CPとCPSの違い」「CRLとOCSPの違い」**を重点的に覚えておこう!