DEIM Forum 2023 4b-3-1

鍵暗号方式の理解を深めることを目的とした
Web アプリケーションの実装
前田祐杜 1 御家雄一 2 伊藤一成 1
1 青山学院大学社会情報学部 〒252-5258 相模原市中央区淵野辺 5-10-1
2 青山学院大学大学院社会情報学研究科 〒252-5258 相模原市中央区淵野辺 5-10-1
あらまし 令和 4 年度から年次進行で実施されている高等学校共通教科情報の必履修科目「情報Ⅰ」では，情報セキュリティについて言及され，すべての「情報Ⅰ」の検定教科書で鍵暗号化方式の解説が含まれる．しかし，文章や図を見るだけではなく，体験を通して学習することでより理解が深まると考えた．そこで，公開鍵暗号方式と共通鍵暗号方式を文章の受け渡しを通して，体験的に学習することができるアプリケーションを提案し，実装した．
講義内で使用し，評価を行ったところ良好な評価を得ることができ，学生の鍵暗号方式に対する理解を促進する可能性があることがわかった．
キーワード アプリケーション，鍵暗号方式，ピクトグラム，情報教育

1. はじめにグにおいては，様々な学習アプリケーションが用意さ

鍵暗号方式とは，データのやり取りをする際に鍵れており，体験を通して学習することができる．鍵暗を用いて暗号化を施し，通信経路で盗聴されても機密号方式においては，これまでも，CS アンプラグドの性を保持するための技術である．鍵暗号方式には大き技法を用いたアクティビティの開発などの取り組みがく分けて 2 種類あり，ひとつは，暗号化と復号を同一行われており，これらを「情報Ⅰ」の教材として導入の鍵で行う共通鍵暗号方式で，もう 1 つは，復号に使することは可能である[1][2]．

う秘密鍵から生成した公開鍵を配布し，その鍵で暗号

しかし，CS アンプラグドを用いた体験学習には専化された暗号文を自身の持つ秘密鍵で復号する公開鍵用の機材などを用意する必要がある場合が多く，準備暗号方式がある．

するためには時間やコストを要してしまう．そのため，

平成 25 年に閣議決定された「世界最先端 IT 国家創特 定 の U R L に ア ク セ ス す る だ け で ， 使 用 で き る We b造 宣 言 」（ 以 下 「 創 造 宣 言 」） で は ，「 初 等 • 中 等 教 育

アプリケーションを用いて鍵暗号方式を体験的に学習段階でのプログラミング，情報セキュリティを充実さすることが望ましいと考えた．そこで，プログラミンせる」ことが謳われている．さらに創造宣言では，グの単元と同様に，コンピュータやスマートフォンを「サイバーセキュリティの確保」や「IoT や AI の更用いて，暗号化処理・複合処理を体験しながら鍵暗号なる進化により，実世界とサイバー空間が相互に連携方式を体験的に学習できるアプリケーションを提案し，する社会の実現」に向けて，セキュリティ技術の開発プロトタイプを実装したので報告する．

や，情報セキュリティ人材の育成が謳われており，鍵以下 2 章で，実装したアプリケーションについて，暗号化方式の概要は，全国民が理解すべき重要な項目解説する．3 章で本アプリケーションの考察を行い，となってきている．平成 22 年施行，令和 3 年度入学

4 章でまとめる．

生まで実施される高等学校学習指導要領の共通教科情2. 実装アプリケーション
2.1. 概要

報の選択必履修科目である「社会と情報」と「情報の科学」の内容についての項目で情報セキュリティにつ他者とメッセージを交換する中で，送信する内容いて言及され，検定教科書では鍵暗号化方式についてを暗号化し，受信する内容を復号するプロセスを通しの記載がある．また令和 4 年度から年次進行で実施さて暗号化の仕組みを体験できるアプリケーション

れている高等学校共通教科情報の必履修科目「情報Ⅰ」「 B O U C H O 」 を 実 装 し た ． 本 章 で は ，「 B O U C H O 」にも，情報セキュリティについて言及され，すべてのの実装方式及び使用方法について解説する．

「情報Ⅰ」の検定教科書で鍵暗号化方式の解説が含ま

2.2. アプリケーション

れる．また，検定教科書や副読本では図を用いること「BOUCHO」には次の 2 つのモードが存在する．

で，鍵暗号方式の流れを視覚的に表現している．

1. 共通鍵モード…文章を受け渡す送信者と，その文しかし，体験を通して学習することで，文章や図章を受取る受信者の間で通信を行う．共通鍵暗号だけでは理解し難い部分をより鮮明に理解することが方式を用いて，共通鍵で送信者の文章を暗号化す

で き る と 考 え る ．「 情 報 Ⅰ 」 で は ， 特 に プ ロ グ ラ ミ ン

ることで，共通鍵のパスフレーズを知る受信者のみが暗号文を復号でき送信者の文章を閲覧できる。
一方で，共通鍵パスフレーズを知らない場合は解読困難な暗号文のまま表示する．
2. 公開鍵モード…質問文を公開する質問者と，その質問に回答する回答者の間で通信を行う．公開鍵暗号方式を用いて，回答者が文章を質問者の公開鍵で暗号化する．質問者は自身が設定した秘密鍵で暗号文を復号でき，回答者の文章を閲覧できる．
「BOUCHO」にアクセスしたとき，図 1 のメニ(2 ) 暗 号 化 完 了 画 面

ュー画面を表示し，利用者が使用するモードを選
びボタンを押下することでそれぞれのモードに遷移する．

(1 ) 初 期 画 面

図 2 の(1)の画面上部にはテキストフィールド（以下，内容記述フィールドと記述）があり，ここに送信者が発言する内容を入力する．画面中央には，人型ピクトグラムを表示し，文章を暗号化する上での注意点を示している．図 2 の(1)の画面下部には，発言内容を暗号化する際に用いる共通鍵のパスフレーズを入力する欄（以下，パスフレーズ入力欄と記述）を表示する．初回アクセス時にはあらかじめランダムな値を自動 入 力 し ， We b ブ ラ ウ ザ の ロ ー カ ル ス ト レ ー ジ に 半

図1

メニュー画面

2.3. 共通鍵モード

永続的に保存する．利用者が任意のパスフレーズに変更する場合は，パスフレーズ入力欄に任意のフレーズを入力し，パスフレーズ入力欄の右にある更新ボタンを押すことで変更できる．内容記述フィールドの右に共通鍵モードは，共通鍵暗号方式を使用する．共「 L e t ’s B o u c h o 」 と 記 し た ボ タ ン を 配 置 し た ． 発 言通鍵モードでは，発言内容を公開する送信者と，送信内 容 と 共 通 鍵 の パ ス フ レ ー ズ を 入 力 し た 後 に 「 L e t ’s者の発言内容を受け取る受信者の２名で実施する．共Boucho」ボタンを押下すると次のような URL を生成

通鍵暗号方式で暗号化するため，送信者は共通鍵となする．

るパスフレーズを用意する．共通鍵暗号方式では，暗号化と復号に同一の鍵を使用するため，送信者が用意したパスフレーズを用いて発言内容を暗号化すること

https://pictogramming.org/apps/boucho/?sent=X
XXXXXXXXX

で，パスフレーズを知る受信者のみに発言内容を公開することができる．
送信者と受信者それぞれの手順の概略を示す．
手順 1 送信者による文章の暗号化
手順 2 受信者による暗号文の復号
次に，それぞれの手順における詳細について 2.3.1，
2.3.2 項で解説する．

URL 中の XXXXXX は，暗号化通信を行うためのJavaScript ライブラリである crypto-js に含まれるモジュールの 1 つで，共通鍵暗号通信を実現する AES暗号のアルゴリズムを用いて暗号化した文字列を URIエンコードすることで生成したものである．すなわち送信者の発言内容を暗号化した文字列を，URL に乗せて受信者に共有する．これにより，URL を通して発言内容を送信できるが，URL を見ただけでは平文の内容を予測することができない．共通鍵パスフレー

2.3.1. 送信者による文章の暗号化送信者が共通鍵モードにアクセスしたときに表示される画面を図 2 の(1)に示す．

ズを知らなければ，平文に復号することができないた
め，URL の盗聴によって発言内容の閲覧を防ぐことが可能になる．また生成した URL を元に QR コードを自動作成し，図 2 の(2)に示すように，画面中央に表示する．この QR コードは他者が読み込むことで，と回答者それぞれの手順の概略を示す．

URL を入力する手間を省く．以降 URL の共有は QRコードを使用することを前提とする．URL を受け渡手順 1 質問者による秘密鍵の設定及び質問文の作成しする際に，第三者が内容フィールド内の発言内容を手順 2 回答者による回答文の暗号化

盗 み 見 す る 可 能 性 が あ り ， こ れ を 防 ぐ た め に 「 L e t ’s

手順 3 質問者による暗号文の復号

Boucho」ボタンを押すと同時に内容記述フィールド
次にそれぞれの手順における詳細について 2.4.1〜を非表示にする．

2.3.2. 受信者による暗号文の復号

2.4.3 項で解説する

受信者が，送信者の QR コードを読み取りブラウザ
上 で 「BOUCHO」 の ペ ー ジ に ア ク セ ス し た 際 に 表 示

2.4.1. 質問者による秘密鍵の設定及び質問文の作成する画面を図 3 に示す．
送信者と受信者の共通鍵が一致している場合は，
図 3 の(1)のように画面中央部のピクトグラムの吹き出しに平文を表示するが，受信者の共通鍵が送信者の共通鍵と異なる場合は，図 3 の(2)のように暗号文が復号されずに暗号文のまま表示する．なお，暗号文を表示する際には画面レイアウトの都合上，全文を表示するのではなく，一部を切り取って表示している．一度目のアクセスで復号に失敗したとしても，正しい共通鍵パスフレーズを入力し直し，更新ボタンを押すことで，再度アクセスすることなく復号できる．以上より，共通鍵による暗号文の復号には，送信者から共通鍵を教えてもらう必要があることに加え，悪意のある(2 ) 初 期 画 面

第三者に共通鍵を知られてしまうと文章を盗聴される可能性がある．そのため，共通鍵モードでは共通鍵の仕組みだけでなく，鍵の配送問題も体験できる．

(1 ) 復 号 成 功(2 ) 復 号 失 敗

質問者は，公開鍵モードへの初回アクセス時には
図 4 の(1)のように秘密鍵暗号のパスフレーズの入力を促すポップアップを表示する．入力された秘密鍵パス フ レ ー ズ は 共 通 鍵 と 同 じ く ， We b ブ ラ ウ ザ の ロ ー

2.4. 公開鍵モード
公開鍵モードは質問者が設定した秘密鍵パスフレーズにより生成された公開鍵を質問文に加えて回答者に配布し，回答者がその公開鍵で回答を暗号化する．
公開鍵で暗号化した暗号分は秘密鍵以外では復号不可能であるため，秘密鍵を知る質問者のみが回答を閲覧できる機能である．
公開鍵モードは回答者に質問文を投げかける質問者とその質問に回答する回答者が必要である．質問者カルストレージに半永続的に保存する．質問者が秘密鍵パスフレーズを入力すると図 4 の(2)の画面を表示する．画面上部には共通鍵モードと同様に内容記述フィールドを配置しており，ここに質問文を入力する．
画面中央部にはピクトグラムを配置し，秘密鍵の取り扱いに対する注意を述べている．秘密鍵を一度決定すると，秘密鍵の変更は原則不可能にしている．これは任意のタイミングで鍵を変更可能な共通鍵モードとは異なる点である．これは，共通鍵暗号方式では特定の共通鍵を知る全ての人が暗号文を復号可能であるため，複数の相手に対して同じ共通鍵を用いるのではなく相

https://pictogramming.org/apps/boucho/?mode=rsaResult&sentence=XXXXXXXXXXXXX

手ごとに鍵を分けなければならないという性質があることに対して，公開鍵暗号方式における暗号文の復号

URL の sentence 属性は，回答者の文章を質問者のは，秘密鍵を用いてのみ可能で，その秘密鍵は質問者公開鍵を用いて暗号化した暗号文である．この URL以外に公開することは不要だからである．内容記述フを元に QR コードが作成され，図 5 の(2)のように画

ィ ー ル ド に 文 章 を 入 力 し ，「 L e t ’s B O U C H O 」 ボ タ ン

面中央部に表示される．この QR コードを質問者に読を押下すると，次のような URL を生成する．

み込ませることで，質問者に回答を渡すことができる．

http://pictogramming.org/apps/boucho/?mode=qu

URL を受け渡しする際に，第三者が内容フィールド

estion&sent=XXXXXXXXXXX&openKey=XXXXXに記された発言内容を盗み見する可能性があり，これXXXXを防ぐため「Let’s Boucho」ボタンを押すと同時にURL 内の openKey 属性に与えられている文字列は，内容記述フィールド全体を非表示にする．

公開鍵暗号方式のうちの RSA アルゴリズムを用いて暗号化するために必要となる公開鍵であり，この公開鍵は質問者が入力した秘密鍵パラフレーズから生成し2.4.3. 質問者による暗号文の復号
回答者の画面に表示された QR コードを読み取ると，たものである．この URL を元に QR コードを自動作

図 6 の(1)のような形で「BOUCHO」のサイトにアク成し，図 4 の(3)に示すように画面中央部に表示する．

セスできる．質問文を作成した時と同じ端末でアクセ

この QR コードを質問回答者に読み込ませることで，スすると，秘密鍵がブラウザに保存されているため，URL を取得させ，質問内容に加えて，回答内容を暗回答の暗号文を復号した平文が画面中央のピクトグラ号化するための公開鍵を渡すことができる．

ムの発言として表示する．一方，質問文を作成した時とは異なる端末でアクセスし，暗号化時点とは異なる

2.4.2. 回答者による回答分の暗号化

秘密鍵を設定すると，暗号文を復号できず，図 6 の(2)のように，暗号文のまま画面上のピクトグラムの発言として表示する．なお，暗号文を表示する際には画面レイアウトの都合上，全文を表示するのではなく，一部を切り取って表示している．

(2 ) 暗 号 化 完 了 画 面(1 ) 回 答 画 面(1 ) 復 号 成 功(2 ) 復 号 失 敗

質問者が発行した QR コードを読みとると，端末は
図 5 の(1)で示すようにブラウザ上で「BOUCHO」のページにアクセスする．内容記述フィールドの上部に

3. 実践・評価

は質問者による質問内容が表示され，回答者はその質

3.1. 概要

問に対する回答を内容記述フィールドに入力すること

2 0 2 2 年 7 月 8 日 （ 金 曜 日 ）， 青 山 学 院 大 学 社 会 情 報に な る ．「 L e t ’ s B o u c h o 」 の ボ タ ン を 押 す と ， 質 問

学部の一年次における必履修科目である「情報科学概者から受け取ったクエリパラメータから抽出した質問論」の受講者 67 名を対象に「BOUCHO」を用いた実者の公開鍵を用いて文章を暗号化し，以下のような習を行った．この講義は，受講者全体を 3 クラスに分URL が生成される．

けて実施されており，そのうちの 1 クラスで
「 B O U C H O 」 を 用 い た ． 6 7 名 は ，「 B O U C H O 」 を 用

いた実習を行ったクラスに当日出席していた人数である．実習後に，鍵暗号方式に対する理解を図るための66 名より回答があった．回答結果を表 2 に示す．
質問 1 のアンケート結果から，約 96%の履修者が，アンケートを実施し，受講者からの回答を得た．

共通鍵モードで，相手から入手した共通鍵パスフレー

3.2. アプリケーションの実践ズを用いて暗号文を復号できたと回答している．この「BOUCHO」 を 用 い た 実 習 を 実 施 し た 環 境 は ，ことから，共通鍵暗号方式は，通信する二者間で同一学生一人に対して一台の PC が配当されており，2 つの鍵を用いているということの理解を促す可能性が考の PC の間には，講師が使用する PC の画面を表示すえられる．

るモニタ（以下，中間モニタと記述）が配置されてい質問 2 のアンケート結果から，約 85%の履修者が，る PC 実習室である．講義時間は 90 分である．講師

質問者の公開鍵で回答を暗号できたと回答した．このによる共通鍵暗号方式と公開鍵暗号方式に関する導入

結果から，本アプリケーションを利用することで，公講義を約 30 分間行った後に共通鍵モード，公開鍵モ

開鍵暗号方式では暗号文を受け取る側の公開鍵を用い

ー ド の 順 に 「BOUCHO」 を 使 用 し た ． 次 に ， そ れ ぞて暗号化を行うということの理解を促す可能性が考えれのモードにおける運用時の実習手順を説明する．

られる．

3.2.1. 共通鍵モードの使用

問者の秘密鍵で回答者から受け取った暗号文を復号で質問 3 のアンケート結果から，97%の履修者が，質講義開始前までに，講師は 2.3.1 項に示した方法にきたと回答した．この結果から，本アプリケーション沿って，共通鍵パスフレーズで文章の暗号化を行い，を利用することで，公開鍵暗号方式では暗号文を受け共通鍵モードの暗号化完了画面（図 2 の 2）にある取る側の秘密鍵を用いて復号を行うということの理解QR コードを準備した． 「BOUCHO」実習時に中間を促す可能性が考えられる．

モニタに QR コードを表示した．学生が中間モニタの

質問 4 のアンケート結果では，質問の回答者全員

QR コードよりスマートフォンで「BOUCHO」にアクが ，「 B O U C H O 」 が 鍵 暗 号 方 式 へ の 理 解 の 手 助 け に なセスすると，画面上には復号失敗画面（図 3 の 2）をったと回答している．本稿の冒頭で記述したように，表示した．その後，講師が共通鍵パスフレーズを学生

鍵暗号方式は講義形式で理解するのが難しいという特に共有し，学生が正しいパスフレーズを入力すること

徴 が あ る ． 一 方 で ， 質 問 4 へ の 回 答 か ら ，「 B O U C H O 」

で，復号成功画面（図 3 の 1）を表示した．次に，学は鍵暗号方式の理解を促進することが分かったため，生に教室の PC で共通鍵モード初期画面（図 2 の 1）

鍵暗号方式における学習支援ツールとして使用できるにアクセスさせた．2.3.1 項の方法で文章の暗号化を可能性が考えられる．

行い，PC の画面に QR コードを表示させた．中間モ
ニタを挟んだ隣の席の人の QR コードを，スマートフ

表1

アンケート内容ォンを用いて読み取らせ，互いに設定した共通鍵パスフレーズを教えさせた．2.3.2 項の方法で復号させた．

3.2.2. 公開鍵モードの使用

質問
1

講義開始までに，講師は 2.4.1 項に示した方法に沿って，秘密鍵パスフレーズと，質問文を入力し，公開2鍵モードの質問文受け渡し画面（図 4 の 3）の QR コー ド を 準 備 し た ．「 B O U C H O 」 実 習 時 に 中 間 モ ニ タ にQR コードを表示した．学生が中間モニタの QR コー

3

ドよりスマートフォンで「BOUCH」O にアクセスすると，回答画面（図 5 の 1）を表示し，2.4.2 項の方4回答形

内容式

共通鍵モードで，共通鍵パスフレーズを送信者より伝えられた後に，復号できた．
公開鍵モードで，質問者の質問に対する回答を質問者の公開鍵で暗号化できた．
公開鍵モードで，質問者の公開鍵を用いて暗号化した暗号文
は，質問者の秘密鍵を用いることで復号できた．
「BOUCHO」 が ， 鍵 暗 号 方式の理解の手助けとなった．

法で回答を暗号化して QR コードを画面上に表示させた．講師が学生の画面に表示させた QR コードを読み取って周り，学生の回答を閲覧した．

3.3. アンケート評価
アンケートの質問項目は表 1 に示す 4 項目である．
用意した質問は，いずれも単一回答選択肢を用意して
お り ， 選 択 肢 の 内 容 は 「 は い 」，「 い い え 」 と し た ．

表2
質問1
2
3
4

アンケートの回答結果
はい
0.955
0.848
0.970
1.000

いいえ
0.045
0.152
0.030
0.000

単一回答
選択
単一回答
選択
単一回答
選択単一回答選択

4. 終わりに
鍵暗号方式は情報セキュリティの分野において重要な項目である．しかし，難解な数学的要素が含まれているため，学習するのが難しい．そこで，本稿では，スマートデバイスを用いて，鍵暗号方式を体験的に学習できるアプリケーションの紹介と評価を行った．学生 の 「BOUCHO」 に 対 す る 反 応 は 好 評 で あ っ た ． その た め ，「 B O U C H O 」 は 学 生 が 鍵 暗 号 方 式 の 理 解 を 深めることに役立つ可能性があることがわかった．しかし，今回行ったアンケートでは，それぞれの項目に対して用意した選択肢が，二つであったため，評価が十分に厳密であったとは言えない．今後は，具体的な評価項目や，選択肢を用いたアンケートを実施すること
で ，「 B O U C H O 」 が ど の 程 度 ， 学 生 の 鍵 暗 号 方 式 に 対する理解の促進に貢献したかをより厳密に評価したい．

謝辞
本研究は JSPS 科研費 21H03560 の助成を受けたものです．

参考文

献[1] 田中一郎，鈴木二郎，“ウエブとデータベース”,DEWS 2008.
[ 2 ] I . Ta n a k a a n d J . S u z u k i , “ We b a n d D a t a b a s e
Te c h n o l o g i e s ” , P r o c . o f A C M S I G M O D , p p . 1 0 22, 2010.