この記事は就活や転職にも役立つ資格、「ITパスポート」についての解説記事です。
今回はネットワークの仕組みを理解するために、試験範囲の”テクノロジー系 情報セキュリティ”に位置づけられる「暗号化技術」について、現役エンジニアの著者が分かりやすく解説していきます。
記事の後半では過去にITパスポート試験に実際に出題された問題も取り扱っていますのでぜひ最後まで目を通してみてください。
目次
暗号技術とは
不正アクセスによってデータを盗まれたり、ネットワーク上でやり取りしているデータを盗聴された際に、データの中身を分からなくする為に暗号化する技術を暗号技術といいます。
暗号化する前の誰でも読めるデータを「平文」といいます。
例えば、ネットショップで買い物する際にクレジットカード番号等が平文のままやり取りされていたら、通信傍受された際に悪意のある第三者にクレジットカード情報を盗まれてしまいます。
このような事を防ぐために、平文を暗号化し暗号文にする事で通信傍受されたとしてもそのデータがどんなデータなのか分からないようにします。
また、暗号化されたデータはそのままではどんなデータなのか分からない為、受け取った人は暗号化データを平文に戻します。
この作業を復号といいます。
暗号化と復号ではそれぞれ暗号化する「鍵」と、復号する「鍵」が必要になります。
例えば、「Skilled」という平文を、アルファベットを2文字ずつ前にずらして暗号化すると、「XCPMGAFG」という暗号文となります。
この場合、「アルファベットを2文字ずつ前にずらす」というのが暗号化のアルゴリズムであり暗号化の「鍵」となります。
この暗号文を受け取った人は、「XCPMGAFG」という暗号文を、アルファベット2文字ずつ後ろにずらせば元の平文に復号する事が出来ます。
平文に戻すために「アルファベットを2文字ずつ後ろにずらす」というのが復号の「鍵」となります。
暗号化は第三者にデータを盗まれてもデータの中身が分からないようにする目的がありますが、もしこの鍵が第三者にバレていたら暗号化していたとしても、復号されてしまい内容を盗まれてしまいます。
先程の例で、「XCPMGAFG」という暗号文は、「アルファベットを2文字ずつ前にずらす」という鍵で暗号化されていましたが、第三者に鍵も盗まれていたら、アルファベットを2文字ずつ後ろにずらして「Skilled」という平文に復号されてしまいます。
暗号技術の鍵の取り扱い方式
暗号技術では、「鍵」の取り扱いが重要で、いくつかの取り扱い方式があります。
ここでは、
- 共通鍵暗号方式
- 公開鍵暗号方式
- ハイブリッド暗号方式
の3つについて解説していきます。
共通鍵暗号方式
暗号化と復号で同じ鍵を使う方式を「共通鍵暗号方式」といいます。
これは、鍵をかける時と開ける時で同じ鍵を使う、玄関や車、ロッカー等、日常で使う鍵と同じ方式です。
鍵が第三者に知られてしまったら復号されてしまい暗号化の意味がなくなってしまうので、鍵は秘密裏に共有する必要がありります。
鍵を秘密にする必要がある事から「秘密鍵暗号方式」とも呼ばれます。
また共通鍵暗号方式では暗号化と復号で同じ鍵を使う為、通信の数だけ異なる鍵が必要となります。
さらに、共通鍵暗号方式では、鍵を秘密裏に共有する事が課題となります。
データの受信者は鍵が無いと復号出来ない為、受信者に鍵を共有する必要がありますが、この鍵を安全に共有する方法がありません。
データを相手に送る際に通信傍受されてもデータの中身が盗まれないように暗号化を行いますが、鍵を相手に共有する際に通信傍受されて奪われてしまったら暗号化の意味がなくなってしまいます。
公開鍵暗号方式
共通鍵暗号方式の欠点を補うために誕生したのが、公開鍵暗号方式です。
公開鍵暗号方式では、暗号化をする際に使用する「公開鍵」と復号する際に使用する「秘密鍵」の2種類の鍵を使用します。
この公開鍵と秘密鍵はペアとなっており、公開鍵で暗号化された暗号文は、ペアとなる秘密鍵でしか復号出来ません。そして、公開鍵は誰でも使用出来るように文字通り公開されています。
例えるなら南京錠のようなものです。
送信者は、受信者が持つ南京錠を共有してもらい、それを使ってデータに南京錠をかけて送ります。
受信者は、その南京錠を解錠する鍵を持っているのでそれを使ってデータを復号する事が出来るという仕組みです。
鍵がなければデータは復号出来ない為、暗号化に必要な南京錠を予め共有し、それを使って暗号化する事で復号する為の鍵を共有する必要はなく、共通鍵暗号方式で課題だった鍵の受け渡しの問題を解決します。
しかし、公開鍵暗号方式は、公開鍵を使って誰でも暗号化する事出来るという特徴があり、これを悪用した「なりすまし」をされてしまうという欠点があります。
これを解決するのが「ディジタル署名」です。
ディジタル署名については別の記事で解説していますのでそちらも是非ご覧ください。
ハイブリッド暗号方式
共通鍵暗号方式は、鍵の受け渡しに課題がありますが、暗号化と復号処理が高速という特徴があります。
反対に、公開鍵暗号方式では鍵の受け渡しの課題は解決されますが、共通鍵暗号方式ほど暗号化と復号処理は速くありません。
この共有鍵暗号方式の暗号化と復号処理が速いという特徴と、公開鍵暗号方式の鍵の受け渡しが安全という特徴を組み合わせたのがハイブリッド暗号方式です。
ハイブリッド暗号方式では以下の手順でデータのやり取りを行います。
- まず公開鍵暗号方式を使って、共通鍵を暗号化し受信者に送信します。
- 受信者は暗号化された共通鍵を、自身だけが持つ秘密鍵で復号します。
- 送信者と受信者で安全に共通鍵を持つことに成功する。
- お互い共通鍵を持っているので、これ以降は復号処理が高速な共通鍵暗号方式を使ったデータのやり取りが出来る。
これによって共通鍵暗号方式と、公開鍵暗号方式の両方のメリットをいかして高速で安全なデータのやり取りが可能になります。
暗号化の大切さを知るために、インターネット上の通信傍受がどれくらい簡単に行えるのか検証した記事がありますので、詳しく知りたい方はそちらも是非ご覧ください。
試験対策用まとめ
今回の記事を、試験対策用に以下のようにまとめました。
- 共通鍵暗号方式は暗号化と復号処理が高速だが鍵の受け渡しに課題がある
- 共通鍵暗号方式は通信の数だけ異なる鍵が必要になる
- 共通鍵暗号方式は、秘密鍵暗号方式ともいう
- 公開鍵暗号方式は安全な鍵の受け渡しが可能
- ハイブリッド暗号方式は、共通鍵暗号方式と公開鍵暗号方式の2つの特徴を生かした暗号方式
今回はこの5点を押さえておきましょう。
ITパスポートの過去問で実践
それでは、実際にITパスポート試験で出題された、暗号化技術に関する問題を解いてみましょう。
令和3年春期
IoTデバイス群とそれを管理するIoTサーバ構成されるIoTシステムがある。
全てのIoTデバイスは同一の鍵を用いて通信の暗号化を行い,IoTサーバではIoTデバイスがもつ鍵とは異なる鍵で通信の復号を行うとき,この暗号技術はどれか。
- ア 共通鍵暗号方式
- イ 公開鍵暗号方式
- ウ ハッシュ関数
- エ ブロックチェーン
公開鍵暗号方式は、暗号化をする際に使用する「公開鍵」と復号する際に使用する「秘密鍵」の2種類があり、それぞれ別の鍵を使用します。
公開鍵と秘密鍵はペアとなっており、公開鍵で暗号化された暗号文は、ペアとなる秘密鍵でしか復号出来ません。
公開鍵暗号方式は南京錠のようなもので、公開した南京錠を使ってデータを暗号化して送ってもらい、受信者は自身だけが持つペアとなる鍵を使ってデータを復号することで、共通鍵暗号方式の鍵の受渡しという課題を解決します。
この問では、「IoTサーバーでは、IoTデバイスと異なる鍵で通信の復号を行う」となっておりますので、公開鍵暗号方式という事になります。
したがって正解は「イ」となります。
平成27年春期
共通鍵暗号方式の説明として,適切なものはどれか。
- ア 暗号化以外に,ディジタル署名にも利用される。
- イ 公開鍵暗号方式に比べて,復号速度は一般的に遅い。
- ウ 代表的な方式として,RSA方式がある。
- エ 通信相手ごとに異なる共通鍵が必要である。
共通鍵暗号方式は、暗号化と復号で同じ鍵を使う事から通信の数だけ異なる鍵が必要になります。
したがって正解は「エ」となります。
平成31年春期
AさんはBさんだけに伝えたい内容を書いた電子メールを,公開鍵暗号方式を用いてBさんの鍵で暗号化してBさんに送った。
この電子メールを復号するために必要な鍵はどれか。
- ア Aさんの公開鍵
- イ Aさんの秘密鍵
- ウ Bさんの公開鍵
- エ Bさんの秘密鍵
公開鍵暗号方式では、送信者は受信者の公開鍵を使ってデータを暗号化します。
受信者は自身だけが持っている、暗号化に使用した公開鍵とペアになる秘密鍵を使って復号します。
この問では、送信者はAさん、受信者はBさんであり、やり取りの手順は以下になります。
- Aさんは、Bさんの鍵を使ってデータを暗号化する
- Aさんは、Bさんに暗号化したデータを送信する
- Bさんは、Aさんから送られた暗号化されたデータを受信する
- Bさんは、受け取ったデータをBさん自身の秘密鍵で復号する
暗号化に使用したのはBさんの鍵ですので、復号に必要な鍵はのBさんの秘密鍵となります。
したがって正解は「エ」となります。
まとめ
暗号化技術について取り上げて解説してきました。
昨今、暗号化が甘かったりして、企業や政府の情報が漏洩していたニュースなどが度々目にされます。
ネットワークの発達とともに悪意のある第三者から攻撃を受けることが多くなっているため、情報セキュリティの重要性は非常に高いものとなっています。
ITパスポートにも頻出の分野ですので、しっかりと押さえておきましょう。
今回は以上です。
本記事の中で分からない用語があった方は関連する記事のリンクが貼ってありますのでそちらもご覧になってください。