(1)授業の展開1(共通鍵暗号方式)
本時では情報セキュリティを高めるさまざまな方法について理解させることを主眼としている。
導入では,目的の人にしか情報を与えたくない「秘密の内容」があり,そのままでは第三者に知られるかもしれないという前提で,相手と情報をやりとりする状況をイメージさせる。
発問例1:「運動部の試合などで,監督やコーチが味方の選手だけに作戦を伝えるときにはどのようにしているか」
生徒たちはジェスチャーなどによるサインや別の言葉への言い換えという反応が多いだろう。積極的に運動部の生徒に答えさせると具体的な返答が期待できる。実際に,対戦相手にある程度見られて(聞かれて)しまうことは承知のうえで,味方だけにわかるようなサインや言葉を決めているだろう。ここで,ある内容をサインや別の言葉に置き換えることは「暗号化」に相当し,逆にそれらをもとの内容に置き換えることは「復号」に相当することも押さえておきたい。
発問例2:「手紙のように,文章(文字列)を暗号化したい場合はどうすればよいか」
生徒は試合でのサインなどと同じように,内容を一定のルールで変換しながら暗号化していけばよいことは直感的に理解できるだろう。生徒にさまざまな意見を出させた上で,実はそれぞれの文字をシフトさせる(ずらす)ことが歴史的にもよく用いられていることに誘導していくとよい。
実習1:「シーザー暗号を体験しよう」
▲図1 シーザー暗号を体験する実習の説明(p.89)
シーザー暗号は「規則(文字をアルファベット順にシフトさせる)」と「鍵(何文字シフトさせるか)」という二つの要素があり,教科書の例では,鍵を+1としている(図2)。
▲図2 共通鍵暗号方式を解説した図(p.88)
ここで,図3のようなワークシートを配布し,鍵を+1に設定して隣の生徒に渡し,解読した生徒は確認のため復号した単語を,鍵を−2に設定して再度暗号化して返す,という実習を行う。
暗号を体験しよう |
(1)鍵を+1として暗号化した単語:
(あなたが暗号化する) |
|
(2)鍵を−2として暗号化した単語:
(相手が暗号化する) |
|
▲図3 暗号化の実習で用いるワークシートの例
ここまで実習すると,中には共通鍵暗号方式(シーザー暗号)のデメリットに気がつく生徒も出てくるだろう。そこで,この実習の後,次のような質問を投げかけたい。
発問例3:「体験してもらったシーザー暗号は,暗号でやりとりする人たちにとっては単純でわかりやすいが,実は大きなデメリットがある。それは何だと思うか」
生徒は「単純だからすぐ見破られる」,「何回か試せばわかる」ということはすぐに出てくるだろう。実習の特性上,鍵がそれぞれ+1,−2であることを全員が知ってしまっているので,もはや暗号化の意味をなさなくなっていることも生徒に気づかせたい。そこでさらに,
発問例4:「いまは鍵(ルール)をそれぞれ+1,−2と全員共通にした。つまり,全員が解読方法を知っていることになる。これで秘密の内容をやりとりできるだろうか」
というヒントを出し,事前に相手と鍵を秘密裏に決めておかなくては意味をなさないこと,そうでない場合はどのように鍵を相手に送るかが大きな問題となること,情報を個別にやりとりする相手の数だけ鍵が必要となること,悪意の第三者が鍵(ルール)を知ってしまった場合でも検知できないことなどに気づかせ,展開2につなげる。
(2)授業の展開2(公開鍵暗号方式)
シーザー暗号が古代ローマ時代に利用されていたのに対し,公開鍵暗号方式は1970年代に開発された比較的新しい方式である。教科書では,図4のように図示している。
▲図4 公開鍵暗号方式を解説した図(p.88)
発問例5:「公開鍵暗号方式の特徴は,暗号化する鍵と復号する鍵が異なることである。これをうまく利用するとどんな便利な点があるか」
公開鍵暗号方式の最大の特徴は暗号化する鍵と復号する鍵が異なるという点であり,復号する鍵を自分のみがもつ,すなわち自分のみが解読できることである。暗号化する鍵を一般に公開することにより,鍵をあらかじめ決めておく必要もなく,だれでも自分に暗号文を送ることができるようになる,というメリットもある。これらを生徒に十分に理解させたい。
実習2:「公開鍵暗号方式を体験しよう」
公開鍵暗号方式を体験させるために,複数の南京錠とそれを用いて施錠できる「入れ物」を用意する。それぞれの南京錠には個人の公開鍵をイメージさせるため,生徒に対応する番号などを明記しておく。また入れ物については図5のような外からは中身が見えないケースなどが適している。なお,ダイヤル式の錠を用いて公開鍵暗号方式の授業実践を行っている大阪府立寝屋川高等学校の野部緑先生の実践もあるので参考にするとよいだろう。
▲図5 ケースと南京錠の例
|
1) |
南京錠と解錠鍵のセットを複数用意し,それぞれ対応する生徒の番号を振っておく。 |
2) |
南京錠は生徒が手に取れる教卓上などに置いておき(公開鍵),解錠鍵は対応する生徒に渡しておく(秘密鍵)。 |
3) |
生徒を指名し,たとえばAさんに公開鍵暗号方式でデータを送るように指示する。 |
4) |
指名された生徒は,Aさんに送るデータを入れ物に入れ,Aさん用の公開鍵で施錠し,近くの生徒にデータをAさんまで回してもらうように依頼する。 |
5) |
次々と隣に送られ,Aさんまで届く。 |
6) |
Aさんは自分の秘密鍵で解錠してデータを取り出す。 |
7) |
届け先を変え,3から6までの内容を複数行う。 |
このようにして,実際に解錠用の鍵をもつ生徒しか開けられない施錠されたデータを送ることによって,途中の生徒が中身を見ようとしても見られないことや,「鍵をどのように相手に届けるか」,「相手ごとに鍵を変える必要がある」といった共通鍵暗号方式のデメリットが解決されることを意識させたい。
(3)授業の展開3(ディジタル署名)
公開鍵暗号方式はとても有効な手段であり,閉める(暗号化する)鍵と開ける(復号する)鍵が異なることが大きな特徴であった。暗号化する鍵を広く公開する反面,復号する鍵は自分だけがもつことによってセキュリティを確保するわけであるが,逆に,暗号化する鍵(南京錠)を自分だけがもち,復号する鍵(解錠用の鍵)を広く公開したらどのような便利な点があるのかを考えさせ,ディジタル署名のしくみについて学ばせる。
発問例6:「公開鍵暗号方式とは逆に,暗号化する鍵を発信者だけがもち,復号する鍵を広く公開したらどのような便利なことが起こるだろうか」
言葉ではなかなか伝わりにくいため,これも実習で理解させるとよいだろう。この実習は実習2と連続して行う。なお,教科書では次のようにディジタル署名の手順を示している(図6)。
▲図6 ディジタル署名のしくみを解説した図(p.89)
実習3:「ディジタル署名を体験しよう」
|
1) |
実習2で利用した南京錠と解錠鍵のセットを利用する。 |
2) |
解錠鍵は生徒が手に取れる教卓などに置き(公開鍵),南京錠は対応する生徒に渡しておく(秘密鍵)。 |
3) |
Aさんを指名し,今度はBさんにデータを送るように指示する。 |
4) |
Aさんは,Bさんに送るデータを入れ物に入れ,自分の南京錠で施錠し,隣の生徒にデータをBさんまで回すように依頼する。 |
5) |
次々と隣に送られ,Bさんまで届く。 |
6) |
BさんはAさんの公開鍵で解錠してデータを取り出す。 |
7) |
発信者を変え,3から6までの内容を複数で行う。 |
これらを行うと,Bさんは,Aさんからの入れ物はAさんの公開鍵でしか取り出せないことがわかり,同様にほかの生徒から発信された入れ物は,その人の公開鍵でないと解錠できないことがわかる。つまり,Aさんの公開鍵で復号できるデータはAさんが暗号化したものだけである,ということから,そのデータはAさんが発信者であることを証明するための手段として用いることができることを理解させたい。
(4)授業の展開4(認証局,SSL)
ここで,話を公開鍵暗号方式に戻そう。公開鍵暗号方式は素晴らしいアイディアであり非常に有効な手段ではあるが,まったく問題がないわけではない。たとえば,悪意をもつ第三者がAさんになりすまし,Aさんの公開鍵と称して偽の鍵を公開した場合である。そこで,以下のような質問を生徒に投げかけてみる。
発問例7:「公開鍵方式でやりとりすれば,セキュリティは万全だろうか」
生徒は「ピッキングされたら意味がない」といった鍵の耐久性についてはすぐに気づくと予想されるが,鍵そのものの信頼性についてはなかなか思いつかないだろう。そこで,教師が「偽の」Aさんの鍵をわざと大げさに教卓におくなどして生徒に気づかせる工夫も考えられる。
公開鍵自体の信頼性に気づいたら,さらに次の質問を投げかけてみるとよい。
発問例8-1:「公開鍵自体が本物であることを示すには,どのような手段があるか」
「誰かに証明してもらう」という言葉が生徒から出てきたらチャンスであろう。すぐに,次のステップの発問に移る。
発問例8-2:「では,証明するには具体的にどのような手段があるか」
ここで認証局の出番である。「信頼できる機関」として認証局というものがあることを示すとともに,認証局用の南京錠と鍵を用意する。そして,前述のディジタル署名の知識により,認証局がAさんの公開鍵(南京錠)を入れ物に入れ,認証局用の南京錠で施錠し,認証局用の解錠鍵を公開する。すなわち,Aさんの公開鍵自体をディジタル署名の要領で「証明」すればよいことになる。 SSLはこのようにディジタル署名などの考え方も利用し,公開鍵自体の正当性を示したうえで,その公開鍵暗号方式で共通鍵を相手に届けるようなしくみである。教科書では,Webページで実際にSSLが用いられているケースを取り上げて簡単に解説している(図7)。必要に応じてこれらの内容を補いながら説明するとよいだろう。また,本実習後に時間があれば,複数のWebページを検索させ,実際に「https://」でURLがはじまっていることや錠のマークを確認させ,どのようなWebページにSSLが使われているかまとめさせるのもよいだろう。
▲図7 SSLを解説した図(p.89)
|