
今回は暗号技術についてっす。これも前回までの技術的セキュリティ対策の1つと言えるっすが、内容が濃いので1つの単元として扱うっすよ。

暗号ってスパイ映画でしか見たことないんだけど。

意識していないだけでインターネットでは普通に使われていて、いまや社会基盤になっている技術なんすよ。
目標 | ・情報セキュリティを維持するために必要な暗号技術の基本的な仕組みについて理解する。 ・公開鍵基盤の基本的な仕組みと特徴について理解する。 |
説明 | ・情報セキュリティを維持するために必要な,暗号,認証,公開鍵基盤などの技術の役割を理解する。 |
目次 非表示
暗号技術
暗号技術とは、情報を秘匿したり、改ざんを防止したり、本人確認を行ったりするための技術です。もともとは軍事的な通信の秘匿などに使われていましたが、現代ではインターネットを中心とする情報通信全般に欠かせない基盤技術になっています。
暗号化の方式(暗号化アルゴリズム)には次のような種類があります。
共通鍵暗号方式
共通鍵暗号方式は、暗号化と復号に同じ鍵(共通鍵)を使う暗号方式です。


「鍵」とは、暗号化や復号に使うパスワードのような情報のことっす。
1つの鍵を使って暗号化と復号を行うので処理が速く、大量のデータに向いており、実装が比較的シンプルというメリットがありますが、次のような欠点(課題)があります。
共通鍵暗号方式では、暗号化と復号に同じ鍵を使うため、その鍵を相手と安全に共有する必要があります。この「鍵の受け渡し」が安全でないと、盗聴・盗用のリスクがあります。

例:メールで暗号化されたファイルを送っても、鍵もメールで送ってしまえば意味がない(盗まれたら終わり)。

安全にファイルを送れるのであれば、そもそも暗号化する必要はないわけっす。
共通鍵暗号方式では、ユーザーが増えると、相手ごとに鍵を個別に設定しなければなりません。
共通鍵暗号方式では、1つの鍵で暗号化と復号ができるため、もし鍵が漏れたら、過去のやり取りやファイルすべてが解読されてしまいます。
長期間同じ鍵を使い続けると、解析されるリスクが高くなります。そのため、定期的に鍵を更新する必要があり、運用が複雑になります。
このような欠点を補うために使われるのが公開鍵暗号方式です。
公開鍵暗号方式
公開鍵暗号方式は、暗号化と復号に異なる鍵を使う暗号方式です。これにより、安全に鍵を共有することができるという特徴があります。
公開鍵暗号方式では、暗号化に公開鍵、復号に秘密鍵を使います。公開鍵で暗号化されたデータは、その対になる秘密鍵でしか復号できません。公開鍵は誰にでも配ってOKですが、秘密鍵は自分だけが持ちます。

相手に鍵を送信する必要がないため暗号鍵の流出というリスクはなくなり、通信相手が増えてもそれぞれに暗号鍵を用意する必要がありません。しかしその一方で、暗号鍵と復号鍵が異なるため共通鍵方式よりも暗号化や復号に時間がかかるといったデメリットがあります。

ハイブリッド暗号方式
ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式の長所を組み合わせた実用的な暗号方式です。処理の流れ(イメージ)は次のようになります。

- メッセージ本文は共通鍵を使って暗号化
- 共通鍵を「受信者の公開鍵」で暗号化 → 共通鍵を安全に送信
- ①と②を送信
- 受信者は「自分の秘密鍵」で共通鍵を復号
- 共通鍵でメッセージ本文を復号
- 以後は共通鍵でメッセージを暗号化・復号できる → 高速に処理
こうすることで、共通鍵を送信する際の流出リスクに対応しつつ、文書の復号処理の速度向上が図れます。

現代のセキュア通信(SSL/TLS、メール暗号化など)では、ほぼ必ずこの方式が使われてるっすよ。
Web上の通信を安全に行うためのプロトコルです。HTTPにSSL/TLSによる暗号化機能を加えたものです。なお、SSL/TLS(Secure Sockets Layer / Transport Layer Security)とは、インターネット上で安全に通信を行うための暗号化プロトコルです。ウェブサイトとユーザー間の通信内容を第三者に盗み見られたり改ざんされたりしないように守る役割があります。
Wi-Fi(無線LAN)通信を保護するための無線セキュリティ規格で、WEPや初代WPAの弱点を改善し、強力な暗号化と認証機能を備えています。
デジタル署名
デジタル署名とは、送信者が本物か確認し、データが改ざんされていないことを保証する技術です。電子契約、ソフトウェア配布、電子メールなど、重要な電子情報のやりとりに使われます。

- 送信者がデータのハッシュ値(ダイジェスト)を計算
- そのハッシュ値を「自分の秘密鍵」で暗号化(これがデジタル署名)
- データ+デジタル署名を受信者に送信
- 受信者は「送信者の公開鍵」でデジタル署名を復号
- データのハッシュ値を受信者でも計算
- 復号結果と自分の計算結果が一致すれば「正しい送信者+改ざんなし」と確認できる
秘密鍵で暗号化したデジタル署名は、それと対になる公開鍵でないと復号できません。逆に言うと、公開鍵で復号できるということは、それと対になる秘密鍵を持っている本人が暗号化した(=正しい送信者)ということになります。ただし、データ自体を暗号化する機能はないため、デジタル署名のみではデータの盗聴(盗み見)を防ぐことはできません。
また、ハッシュ関数で算出したハッシュ値は、元のデータが1文字でも異なれば全く違ったものになるという性質があります。つまり、同じハッシュ関数で算出したハッシュ値が同じということは元のデータも同じ(=改ざんなし)ということが確認できます。ただし、改ざん自体を防止することはできません。
HDDからの情報漏えい対策
HDD(ハードディスクドライブ)からの情報漏えいを防ぐためには、物理的・技術的・運用的な対策を総合的に講じる必要があります。以下に、代表的かつ効果的な対策を紹介します。
暗号化(データ保護の基本)
暗号化技術は、通信の暗号化だけでなく、保存されているデータ(静止データ)を守るためにも用いられています。
ファイル暗号化
ファイル暗号化は、個別のファイルに対して暗号化を行う方式で、機密文書や個人データの保護などに用いられます。指定したファイルやフォルダ単位を暗号化対象とし、ファイルごとにパスワードや鍵で保護します。
必要なファイルだけを対象にできる(選択的で柔軟)といったメリットがありますが、暗号化していないファイルは保護されない、手動で暗号化が必要な場合もあるといったデメリットもあります。
ディスク暗号化
ディスク暗号化とは、ハードディスクやSSDなど、記憶装置全体(OS、アプリ、データを含む)を丸ごと暗号化する方式です。起動時にパスワードや鍵で認証し、ノートPCの盗難対策、業務用PCのセキュリティなどに用いられています。
ユーザーの操作不要で、保存データすべてが暗号化されるといったメリットがある反面、OSが起動中の状態では暗号が解除されているため、動作中に盗まれると無力な場合もあります。
物理的な破壊・廃棄(使用終了時の対策)
データ消去ソフトでランダムなデータを複数回書き込むなどした後、穴あけ、磁気破壊、粉砕などの専用装置を使用して物理的に破壊するのが最も確実です。
公開鍵基盤
公開鍵基盤(PKI:Public Key Infrastructure)は、公開鍵暗号方式を安全に使うための仕組み全体のことです。単に「公開鍵を使えば安全」というわけではなく、「その公開鍵が本当に本人のものか?」を保証するためにPKIが必要になります。
公開鍵暗号では、「公開鍵で暗号化 → 秘密鍵で復号」や「秘密鍵で署名 → 公開鍵で検証」ができます。しかし、公開鍵は誰でも手に入れられるため、なりすましが簡単に起こりえます。
例えば、みなさんがショッピングサイトwww.example.com
にアクセスするとき、誰かが「これがexample.comの公開鍵です」と偽の鍵を渡してきたとします。その鍵で暗号化した個人情報を送ることにより、攻撃者が自分の秘密鍵を使って復号できるといった危険があります。
このような公開鍵の信頼性の問題を解決するための仕組みがPKI(公開鍵基盤)です。
CA(Certification Authority:認証局)
CA(Certification Authority:認証局)は、公開鍵が「本当に本人のもの」であることを証明する信頼された第三者機関です。
認証局(CA)の主な役割は、デジタル証明書の発行と本人確認です。公開鍵と「この鍵は誰のものか」という情報をセットで電子的に証明し、証明書を発行する前に「鍵の持ち主が誰か」を確認します。
デジタル証明書(公開鍵証明書)とは、CAが発行する「この公開鍵は〇〇さんのものです」と保証する電子的な文書です。サイト名(ドメイン名)、公開鍵、有効期限、発行元(CA名)、CAの電子署名(なりすまし防止のため)から構成されています。

CRL(証明書失効リスト:Certificate Revocation List)とは、すでに「無効」となったデジタル証明書の一覧表のことです。これは、認証局(CA)が発行した証明書のうち、何らかの理由で信頼できなくなった証明書を管理・配布するために使います。
デジタル証明書は、基本的に公開鍵と本人情報をセットにして署名したデータなので、自分で鍵ペアを作成し、証明書として自分で署名(自己署名)すれば、誰でも証明書は作れます。
しかし、それでは他人(ユーザーやブラウザ)から信用されません。そこで、信頼できる第三者(CA)による証明書が必要となるわけです。この信頼の仕組みが公開鍵基盤(PKI)ですが、そもそも第三者(CA)自体の信頼性を保証しなければこの仕組みは成立しません。
公開鍵基盤(PKI)の中で「信頼の基点(トラストアンカー)」となる、最も上位のデジタル証明書です。認証局が、その正当性を証明するために自ら署名して発行します。通常、OSやブラウザに最初から登録されており、無条件で信頼されます。
中間者が偽の証明書を出しても、どこまで信じていいか判断できません。そこで、OSやブラウザが事前に信頼しているルート証明書だけを安全と判断することで、その下にぶら下がる証明書(中間証明書・サーバ証明書など)を信頼するための基準とします。
① ルート証明書(自己署名) ← トラストアンカー
↓ 署名
② 中間証明書(中間CA)
↓ 署名
③ サーバ証明書(www.example.com)
Webサーバーが本物であることを証明するデジタル証明書です。HTTPS通信を行う際にWebサイトの正当性をブラウザに示すために使われます。
インターネット上でユーザーや端末の身元を証明するためのデジタル証明書です。Webサービスにアクセスする「クライアント側(利用者)」の本人確認(認証)に使われます。

「自分はここの社員だから」と言って、勝手に自分で作った社員証を見せられても信用できないっすよね。
確認○×問題
暗号化方式の特徴について記した表において、表中の a〜d に入れる字句の適切な組合せは以下のとおりである。

a:公開鍵暗号方式
b:共通鍵暗号方式
c:遅い
d:速い
(出典:令和6年度春期分 問57一部改変)
答え:〇
暗号化と復号に異なる鍵を使う暗号方式は、公開鍵暗号方式(a)です。相手に鍵を送信する必要がないため暗号鍵の流出というリスクはなくなり、通信相手が増えてもそれぞれに暗号鍵を用意する必要がありません。しかしその一方で、暗号鍵と復号鍵が異なるため共通鍵方式よりも処理速度は遅い(c)といったデメリットがあります。
また、暗号化と復号に同じ鍵(共通鍵)を使う暗号方式は共通鍵暗号方式(b)です。1つの鍵を使って暗号化と復号を行うので処理が速い(d)といったメリットがありますが、鍵の受け渡しに盗聴・盗用のリスクがあるなどの欠点(課題)があります。
Aさんは、Bさんから次の4種類のメッセージを受け取った。Aさんが、受け取ったメッセージを復号して読むことができるものは2つある。
- AさんとBさんとの共通鍵で暗号化したメッセージ
- Aさんの公開鍵で暗号化したメッセージ
- Bさんの公開鍵で暗号化したメッセージ
- Bさんの秘密鍵で暗号化したメッセージ
(出典:令和7年度春期分 問89一部改変)
答え:×
- Aさんは読める。共通鍵暗号は、同じ鍵で暗号化・復号します。Aさんもその鍵を持っていれば復号可能です。
- Aさんは読める。公開鍵暗号方式では、公開鍵で暗号化されたメッセージは、その鍵に対応する秘密鍵でしか復号できません。Aさんは自分の秘密鍵を持っているので読めます。
- Aさんは読めない。Bさんの公開鍵で暗号化されたメッセージは、Bさんの秘密鍵がないと復号できません。AさんはBさんの秘密鍵を持っていないため読めません。
- Aさんは読める。Bさんの秘密鍵で暗号化したメッセージは、Bさんの公開鍵で復号できます。公開鍵は誰でも手に入れることができるため、Aさんも読むことができます。(これは「暗号化」というより「デジタル署名」に関する記述です。)
以上より、Aさんが、受け取ったメッセージを復号して読むことができるものは、1.、2.、4.の3つが正解です。
公開鍵暗号方式で使用する鍵に関する次の記述中のa, bに入れる字句の適切な組合せは以下のとおりである。
それぞれ公開鍵と秘密鍵をもつA社とB社で情報を送受信するとき、他者に通信を傍受されても内容を知られないように、情報を暗号化して送信することにした。
A社からB社に情報を送信する場合、A社は( a )を使って暗号化した情報をB社に送信する。B社はA社から受信した情報を( b )で復号して情報を取り出す。
a:A社の公開鍵
b:B社の秘密鍵
(出典:令和4年度春期分 問60一部改変)
答え:×
公開鍵暗号方式は、暗号化と復号に異なる鍵を使う暗号方式です。公開鍵暗号方式では、暗号化に公開鍵、復号に秘密鍵を使います。公開鍵で暗号化されたデータは、その対になる秘密鍵でしか復号できません。公開鍵は誰にでも配ってOKですが、秘密鍵は自分だけが持ちます。
設問の事例では、受信者はB社なので、A社はB社の公開鍵を使って暗号化した情報をB社に送信し、B社はA社から受信した情報をB社の秘密鍵で復号して情報を取り出します。
よって正解は、aが「B社の公開鍵」、bが「B社の秘密鍵」となります。
ハイブリッド暗号方式を用いてメッセージを送信したい。メッセージと復号用の鍵の暗号化手順を表した図において、メッセージの暗号化に使用する鍵を(1)とし、(1)の暗号化に使用する鍵を(2)としたとき、図のa、bに入れる字句の適切な組合せはどれか。

a:共通
b:公開
(出典:令和5年度春期分 問86一部改変)
答え:〇
ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式の長所を組み合わせた実用的な暗号方式です。処理の流れ(イメージ)は次のようになります。
- メッセージ本文は共通鍵(a)を使って暗号化
- 共通鍵を「受信者の公開鍵(b)」で暗号化 → 共通鍵を安全に送信
- ①と②を送信
- 受信者は「自分の秘密鍵」で共通鍵を復号
- 共通鍵でメッセージ本文を復号
- 以後は共通鍵でメッセージを暗号化・復号できる → 高速に処理
こうすることで、共通鍵を送信する際の流出リスクに対応しつつ、文書の復号処理の速度向上が図れます。
以上より、メッセージを暗号化している(a)が「共通鍵」、共通鍵を暗号化している(b)が「公開鍵」となります。
WPA2は、WEPよりも高い信頼性をもつ、無線通信の暗号化技術である。
(出典:令和7年度春期分 問90一部改変)
答え:〇
適切な記述です。WPA2は、Wi-Fi(無線LAN)通信を保護するための無線セキュリティ規格で、WEPや初代WPAの弱点を改善し、強力な暗号化と認証機能を備えています。
なお、WEPとは、無線LAN(Wi-Fi)の通信を暗号化するために最初に導入されたセキュリティ規格ですが、現在では非常に脆弱で使用非推奨とされています。
次の記述のうち、電子メールにデジタル署名を付与することによって得られる効果は2つある。
- 可用性が向上する。
- 完全性が向上する。
- 機密性が向上する。
(出典:令和4年度春期分 問70一部改変)
答え:×
情報セキュリティの3要素の内容は次の通りです。
要素 | 内容 |
---|---|
機密性 | 情報を許可された人だけが見られるようにすること。 |
完全性 | 情報が正確で改ざんされていないこと。 |
可用性 | 必要なときに情報が使える状態であること。 |
デジタル署名とは、送信者が本物か確認し、データが改ざんされていないことを保証する技術です。したがって、上の3要素のうち、電子メールにデジタル署名を付与することによって得られる効果は「完全性が向上する」の1つが正解となります。
なお、デジタル署名のみでは盗聴を防止することはできないため、機密性は向上しません。
次の記述のうち、HDDを廃棄するときに、HDDからの情報漏えい防止策として、適切なものは2つある。
- データ消去用ソフトウェアを利用し、ランダムなデータをHDDの全ての領域に複数回書き込む。
- ドリルやメディアシュレッダーなどを用いてHDDを物理的に破壊する。
- ファイルを消去した後、HDDの論理フォーマットを行う。
(出典:令和5年度春期分 問81一部改変)
答え:〇
HDD(ハードディスクドライブ)からの情報漏えいを防ぐためには、物理的・技術的・運用的な対策を総合的に講じる必要があります。中でも、データ消去ソフトでランダムなデータを複数回書き込むなどした後、穴あけ、磁気破壊、粉砕などの専用装置を使用して物理的に破壊するのが最も確実です。
HDDの論理フォーマット(OS(Windowsなど)上で行うフォーマットで、ファイルシステムの構造を初期化する操作)だけでは、専門的な復元ソフトを使えば、消したはずのデータを復元できる可能性があるため、HDDからの情報漏えい防止策として適切ではありません。
以上より、HDDからの情報漏えい防止策として、適切なものは1.と2.の2つが正解となります。
PKI におけるCA(Certificate Authority)の役割は、インターネットと内部ネットワークの間にあって、パケットフィルタリング機能などを用いてインターネットから内部ネットワークへの不正アクセスを防ぐことである。
(出典:令和6年度春期分 問66一部改変)
答え:×
設問の文章はファイアウォールの説明です。
PKI(公開鍵基盤)におけるCA(認証局)の役割は、「利用者の公開鍵に対するデジタル証明書(公開鍵証明書)の発行や失効を行い、鍵の正当性を保証すること」などが挙げられます。
電子メールにディジタル署名を付与して送信するとき、信頼できる認証局から発行された電子証明書を使用することに比べて、送信者が自分で作成した電子証明書を使用した場合の受信側のリスクとして、「電子メールが途中で盗み見られている危険性が高まる」といったことが考えられる。
(出典:令和2年度秋期分 問100一部改変)
答え:×
デジタル証明書(電子証明書)は、基本的に公開鍵と本人情報をセットにして署名したデータなので、自分で鍵ペアを作成し、証明書として自分で署名(自己署名)すれば、誰でも証明書は作れます。しかし、それでは他人(ユーザーやブラウザ)から信用されません。そこで、信頼できる第三者(CA)による証明書が必要となるわけです。
したがって、信頼できる認証局から発行された電子証明書ではなく、送信者が自分で作成した電子証明書を使用した場合の受信側のリスクとしては「電子メールが正しい相手から送られてきたかどうかが確認できなくなる」といったことが考えられます。
なお、デジタル署名は、送信者が本物か確認し、データが改ざんされていないことを保証する技術なので、暗号化の機能はありません。よって、「電子メールが途中で盗み見られている危険性」はどちらの場合でも変わりません。
A社では、Webサイトの利用者に対して安全な通信を提供するため、SSL/TLSによる暗号化通信を導入している。このとき、利用者のブラウザがA社のWebサーバの証明書を信頼できると判断する根拠として、「利用者がWebサーバに接続した際に、Webサーバが自己署名証明書を提示したため」といったことが考えられる。
答え:×
自己署名証明書では信頼性が保証されません。PKI(公開鍵基盤)では、Webサーバ証明書は認証局(CA)によって発行され、その正当性をルート証明書により信頼します。ルート証明書は、ブラウザやOSにあらかじめ登録されているため、それに基づいてWebサーバの証明書が有効かどうかを確認できます。
よって、A社のWebサーバの証明書を信頼できると判断する根拠としては「Webサーバの証明書が、利用者のブラウザにあらかじめ登録されたルート証明書に基づいて正当であると検証できたため」といったことが考えられます。