暗号方式
1-1. 📝暗号方式
暗号方式とは、データを第三者に読まれないように変換し、ネットワーク通信の安全性を確保するための技術です。
代表的な方式として共通鍵暗号方式と公開鍵暗号方式があります。
共通鍵暗号方式は、暗号化と復号に同じ鍵を使う方式で、処理が高速なため大量のデータを扱うのに適しています。
しかし、送信者と受信者が同じ鍵を共有する必要があるため、その鍵を安全に渡す方法が課題になります。
公開鍵暗号方式は、「公開鍵」と「秘密鍵」という異なる2つの鍵を使う方式です。
公開鍵は誰でも入手できますが、秘密鍵は本人だけが保持するため、鍵を安全に配布できるという大きな利点があります。
ただし、処理が重く、大量データの暗号化には向きません。
実際の通信では、公開鍵方式で共通鍵を安全に交換し、 その後の通信は高速な共通鍵方式で行う「ハイブリッド方式」が利用されています。
VOICEVOX:四国めたん
共通鍵暗号方式
公開鍵暗号方式(公開鍵は認証局から取得)
1-2. 📝動画で学習(暗号方式)
2-1. 📝ディジタル署名
ディジタル署名は、その電子データが『本人が作成し、途中で改ざんされていない』ことを証明する仕組みです。
送信者は自分の秘密鍵を使ってデータに署名します。この署名は『本人が作った』という証明になります。
受信者は送信者の公開鍵を使って署名を検証し、データが改ざんされていないかを確認できます。
なお、実際にはデータそのものではなく、データから計算したハッシュ値に対して署名を行います。
このように、ディジタル署名は
①本人が作成したことの証明(認証)
②途中で書き換えられていないことの証明(完全性)
の2つを同時に満たす重要な技術です。
電子契約、ソフトウェア配布、証明書など、現代のデジタル社会を支える基盤として広く利用されています。
VOICEVOX:四国めたん
(署名付きで送信)
一致 → 改ざんなし
不一致 → 改ざんあり
2-2. 📝動画で学習(ディジタル署名)
3-1. 📝認証局(CA)
公開鍵暗号方式では、公開鍵が本当に本人のものであるかを確認する仕組みが必要であり、
その役割を担うのが認証局(CA: Certification Authority)です。
CAはサーバからの申請を受け、公開鍵と所有者情報を結びつけたうえで署名を行い、
電子証明書(Digital Certificate)として発行します。
しかし、公開鍵の正当性を保証するCA自身の正統性も確保しなければなりません。
そのためクライアント(OS・ブラウザ)は、最も信頼できるルートCAの公開鍵を
「ルート証明書」
としてあらかじめ保持しています。
クライアントはこのルート証明書を使ってサーバ証明書の署名を検証し、
正当なCAが発行したものであることを確認します。
また、ルートCAは国際基準に基づく厳格な審査・監査を受け、問題があれば信頼対象から外されます。
さらに、ルートCA → 中間CA → サーバ証明書という階層構造によって、信頼の連鎖(トラストチェーン) が形成され、安全な通信が実現します。
VOICEVOX:四国めたん
3-2. 📝動画で学習(認証局(CA))
4. 📝RSA方式
代表的な公開鍵暗号方式である RSA方式では、
公開鍵で暗号化したデータは対応する秘密鍵で復号ができ
逆に秘密鍵で生成した署名は公開鍵で検証できます。
前者は機密性の確保、後者は送信者の真正性や改ざん検出に用いられます。
RSA は巨大な素数 p と q の積 n を用いて鍵を生成しますが、 公開鍵に含まれる n を素因数分解して p と q を求めることは 膨大な計算量を要するため、秘密鍵を逆算することは現実的に困難です。
ただし、この前提は量子コンピュータの登場によって揺らぎつつあり、 現在はポスト量子暗号(Post-Quantum Cryptography)の標準化が進められています。
VOICEVOX:四国めたん
5. 📝ハッシュ関数とハッシュ値
ハッシュ関数とは、任意の長さのデータから、一定の長さの値(ハッシュ値)を生成する関数です。
ハッシュ値は元のデータの“要約”のようなものであり、同じデータからは必ず同じ値が得られます。
また、元のデータが少しでも変化すると、ハッシュ値は大きく変わるという特徴があります。
さらに、ハッシュ値から元のデータを復元することはできない(一方向性)という性質も持っており、 異なるデータから同じハッシュ値が得られる可能性は極めて低くなるよう設計されています。
このような特徴から、ハッシュ関数はディジタル署名やパスワード管理など、情報セキュリティの分野で広く利用されています
VOICEVOX:四国めたん
6. 📝暗号化とディジタル署名の違い
| 項目 | 暗号化(公開鍵暗号方式) | ディジタル署名 |
|---|---|---|
| 目的 | データの秘匿(第三者に読まれないようにする) | 本人性の証明・改ざん検出 |
| 使う鍵 | 公開鍵で暗号化し、秘密鍵で復号 | 秘密鍵で署名し、公開鍵で検証 |
| 誰が使うか | 送信者が公開鍵を使う | 送信者が秘密鍵を使う |
| 何が分かるか | 内容を読めるのは秘密鍵を持つ本人だけ | 本人が作成したこと、改ざんされていないこと |
| 公開鍵の役割 | データを暗号化する | 署名が正しいか検証する |
| 秘密鍵の役割 | 本人だけが復号できる | 本人だけが署名できる |
| 代表的な利用例 | HTTPS通信、機密データの送信 | 電子契約、ソフトウェア配布、証明書 |
| 安全性の根拠 | 公開鍵から秘密鍵を推測できないこと | 秘密鍵の厳重管理 |
| 量子コンピュータの影響 | 暗号化の解読リスクが指摘されている | 署名の偽造リスクが指摘されている |
7. 📝HTTPS通信
SSL(Secure Sockets Layer)と
HTTPS(HyperText Transfer Protocol Secure)は、
インターネット上で安全に通信するための重要な仕組みです。
SSLは、通信相手が本物であるかを確認するための仕組みで、
現在は改良された TLS(Transport Layer Security)が主に使われています。
Webサイトはディジタル証明書を提示し、利用者はその正当性を確認することで安心して接続できます。
HTTPSは、通常のWeb通信(HTTP)にSSL(TLS)の仕組みを組み合わせたものです。
URLが「https://」で始まり、ブラウザに鍵マークが表示されるのが特徴です。
HTTPSを利用することで、正しい相手と通信していることを確認できます。
また、通信内容が途中で書き換えられていないかも検知できます。
そのため、ログインや個人情報の入力など、重要な場面で広く利用されています。
現在では多くのWebサイトがHTTPSを採用し、安全な通信の標準となっています。
VOICEVOX:四国めたん
8. 📝サイバー攻撃
サイバー攻撃には、システムの弱点や人の心理を悪用するさまざまな手法があります。 代表的なものに、クロスサイトスクリプティング(XSS)、 SQLインジェクション、 ソーシャルエンジニアリングがあります。
クロスサイトスクリプティングは、Webページに悪意のあるスクリプトを埋め込み、利用者の情報を盗み取る攻撃です。 利用者が気付かないうちに、不正な処理が実行される危険があります。
SQLインジェクションは、入力フォームなどを利用して不正な命令を送り、データベースを操作する攻撃です。 これにより、情報の閲覧や改ざん、削除が行われる可能性があります。
ソーシャルエンジニアリングは、人の心理的な隙を突いて情報を盗み出す手法です。 パスワードを聞き出したり、なりすましによって情報を入手したりします。
このようにサイバー攻撃は、技術面と人の両方を狙って行われるため、幅広い対策が必要です。
VOICEVOX:四国めたん
9. 📝セキュリティ管理・運用
「セキュリティ管理・運用」は、情報セキュリティの中でも“最も現実的で重要な分野”です。 技術や攻撃の知識だけでは不十分で、それらを日常的にどう扱うかが問われます。
まず、ログファイルSQLは「何が起きたか」を記録する証拠であり、問題発生時の原因特定に不可欠です。
インシデントは、情報漏えいや不正アクセスなどの“実際に発生した事故”を指し、迅速な対応が求められます。
リスクアセスメント とは、「リスク(危険性)」を事前に調べて評価することです。
ここでアセスメント(assessment)は、日本語で「評価」や「査定」という意味です。
つまり、どのような危険があるかを洗い出し、その大きさや影響を評価することを指します。
その結果をもとに、リスクマネジメント として具体的な対策やルールを決定し、運用していきます。
ソーシャルエンジニアリングは、人の心理的な隙を突いて情報を盗み出す手法です。 パスワードを聞き出したり、なりすましによって情報を入手したりします。
重要なのは、「完全に防ぐ」のではなく、被害を最小限に抑えるという考え方です。 そのためには、技術だけでなく、ルール作りや教育、継続的な見直しが欠かせません。
VOICEVOX:四国めたん
10. 📝練習問題
1.共通鍵暗号方式は、暗号化と復号に同じ鍵を使うため、鍵の受け渡し方法が課題となる。
2.公開鍵暗号方式では、公開鍵と秘密鍵の両方を本人だけが保持しなければならない。
3.公開鍵暗号方式は処理が高速で、大量データの暗号化に向いている。
4.共通鍵暗号方式は処理が高速であるため、実際の通信では公開鍵暗号方式と組み合わせて使われることが多い。
5.公開鍵暗号方式では、認証局(CA)が公開鍵の信頼性を保証する。
6.共通鍵暗号方式は、鍵の管理が容易であるため、セキュリティ上のリスクが少ない。
7.公開鍵暗号方式は、デジタル署名や電子証明書の基盤技術としても利用される。
8.ディジタル署名は、秘密鍵で署名し、公開鍵で検証する仕組みである。
9.ディジタル署名を使うと、データが途中で改ざんされていないことを確認できる。
10.ディジタル署名は、データを第三者に読まれないように暗号化するための技術である。
11.認証局(CA)は、公開鍵と所有者情報を結びつけて署名し、電子証明書を発行する役割を持つ。
12.HTTPS通信では、クライアントはサーバの公開鍵を認証局(CA)から直接取得する。
13.クライアント(OS・ブラウザ)は、最も信頼できるルートCAの公開鍵をあらかじめ保持している。
14.HTTPSは、通常のHTTPにSSL(TLS)の仕組みを組み合わせた通信方式である。
15.SSLは、通信内容を記録するための仕組みである。
16.HTTPSを利用すると、通信相手が正しいWebサイトかどうかを確認できる。
17.クロスサイトスクリプティングは、データベースに不正な命令を送る攻撃である。
18.SQLインジェクションは、入力フォームなどを利用してデータベースを不正に操作する攻撃である。
19.ソーシャルエンジニアリングは、コンピュータの脆弱性のみを利用した攻撃である。
20.ソーシャルエンジニアリングでは、なりすましなどの手口が用いられることがある。
21.ログファイルは、システムの動作や操作の記録を残すものである。
22.インシデントとは、将来起こるかもしれないリスクのことである。
23.リスクアセスメントとは、リスクを事前に調べて評価することである。
24.リスクアセスメントでは、洗い出したリスクの大きさや影響を比較し、優先順位を決めることが行われる。
25.リスクマネジメントとは、リスクを評価するだけで対策は含まれない。
26.リスクマネジメントでは、ルールの作成や運用も重要である。
27.情報セキュリティでは、すべてのリスクを完全に防ぐことが目的である。
28.HTTPSは、通信内容の改ざんを防ぐ仕組みを含んでいる。
29.クロスサイトスクリプティングでは、利用者のブラウザ上で不正なスクリプトが実行されることがある。
30.セキュリティ管理において、ログファイルは不要であり、セキュリティ対策には関係しない。