1. HOME
  2. ブログ
  3. 情報セキュリティ教育プログラム「enPiT2-Security」における岡山大学の活動 ~問題解決型演習(PBL)における分散データ管理演習とは? セキュリティ人材育成法(第2回)

情報セキュリティ教育プログラム「enPiT2-Security」における岡山大学の活動 ~問題解決型演習(PBL)における分散データ管理演習とは? セキュリティ人材育成法(第2回)

本連載第1回では情報セキュリティ教育プログラム「enPiT2-Security」において、岡山大学で展開しているセキュリティ教育に関する全体像について紹介しました。第2回となる本稿では問題解決型演習(PBL:Project Based Learning)の1つとして開講している「分散データ管理演習」について紹介します。分散データ管理演習は、北陸先端科学技術大学院大学(JAIST)で実施されていた「情報セキュリティ演習」をもとに、さまざまな社会的要因を鑑みて、2021年度より岡山大学のPBL演習科目として実施しています[1]。本演習では、株式会社日本総合研究所セキュリティ統括部(以下、日本総研)との産学連携により、学生のアカデミックな素養のみならず、セキュリティ人材として求められる実践力の養成を実現しています。 本演習は大きく分けて2つのテーマから成り、1つ目は「データを安全に分割し、保存するための基礎技術となる秘密分散共有法に関する演習」で、その数学的構造を学習するとともに、どのような状況下で当該手法が破られてしまい、運用に際してはどのような点に注意を払う必要があるかについて学習します。2つ目はハッキングコンテストとして知られる「CTF」(Capture The Flag)で、日本総研において日夜サイバーセキュリティに関わる技術者が作成したさまざまな問題に受講生が挑戦します。このような演習を行う背景には、急速な情報処理技術の向上のみならず、テレワークが普及したことによる情報漏洩リスクの増加や、それに伴う新法の施行、さらには深層学習技術における革新がもたらしたビッグデータに対する需要の増加と付随するイニシアティブの保護といった要因があげられます。以下では、このような背景と各テーマを紐づけながら演習についてより詳細に説明していきます。


[1]岡山大学での演習化に際して筑波大学の面和成先生、大阪大学の奥村伸也先生より、資料をご提供いただきました。ここに記して謝意を表します。

感染症による学習環境の変化

感染症の拡大に伴って、産業界でのテレワーク化が求められたように、大学においても講義・演習・実験のオンライン化が不可欠な状況となった一方で、流行症の収束状況に沿って徐々に対面とオンラインのハイブリッド形式や、従前どおりの対面形式へとシフトしていくことが求められました。また、enPiT2 BasicSecCapでは全国の関係大学に属する大学生を大学間で相互に派遣・受入れて講義を実施していくことから、オンライン受講の需要は大きくなります。このように流動的な環境変化へ柔軟に対応しつつ、学生への受講機会の増大を図るために、分散データ管理演習では大学から発行されるアカウントに紐づく会議システム・MS Teams(以下、Teams)やクラウドプラットフォーム・Google Colaboratory(以下、Colab)を最大限に活用することで、受講生間の演習環境の平坦化を行うとともに、会議ツールによる参加のハードルを低減するように設計しています。また、各演習を実施する際には、複数のTA(Teaching Assistant)を雇用することで、広く受講生の支援が可能な体制を整えています。

具体的に、以下のような機材などを使用し、図1に示すように教卓上のiPadで表示している資料をTeams経由でスクリーンおよび各学生のPCへ画面共有し、マイクスピーカーシステムを介して演習内容などの説明や、学生からの質疑応答を行います。

【使用機材等一覧】

機材等名使途
iPad講義資料の表示や書き込みやTeamsへの画面共有で利用
ノートPCTeamsを介してiPadで表示している画面をスクリーンへの投影で利用
ビデオカメラスクリーンや教壇の様子を撮影しリアルタイム配信へ利用
マイクスピーカーシステム(YAMAHA YVC-1000)Teamsへデバイス連携をして音声の双方向通信へ利用
図1 演習で用いた機材等の構成イメージ

また、テーマ1における演習環境の平坦化にはColabを利用し、Jupyter Notebook上でPythonに関する基礎知識の説明を行うとともに、サンプルコードの編集・実行を通して、その言語仕様を一様に習得できる環境を目指しました。さらに、CTF演習では、演習で必要となるツール群をKali Linux上でセットアップし、その仮想イメージを配布することで即座に演習に取り組めるようにしています。一方で、学生自身による環境セットアップの機会を損なわないように、事前のアナウンスや演習中での補足も行い、自ら調べて挑戦できるように情報を提供しています。

テーマ1:秘密分散共有法

テーマ1では秘密分散共有法の中でも、最も基礎的なShamirの秘密分散共有法と、その発展について学習します。秘密分散法とはその名の通り、秘密にしておきたい情報をいくつかに分割し、特定の条件下でその秘密情報を復元できるようにするための方法です。本テーマでは(k,n)閾値秘密分散法と、(k,L,n)閾値ランプ型秘密分散法と呼ばれる2つの手法を主に扱います。

(k,n)閾値秘密分散法では秘密情報に対して、q>max(s,n)を満たす素数を用いて、以下の多項式y=f(x)をランダムに生成し、連続したn個の(x,y)座標をn人の分散情報管理者へ配布します。

f(x)=s+a1x+a2x2+・・・+ak-1xk-1(mod q)

図2 (k,n)閾値秘密分散共有法のイメージ

一次関数での例を思い浮かべると馴染み深いかと思いますが、(x,y)座標上の2つの点が与えられたとき、2点(x1,y1 )と(x2,y2)を通るような関数はf(x)=ax+bとして与えられます。この原理は点の個数が増えても同様に作用し、n人の管理者のうち、k人以上が情報(分散時に与えられた(x,y)座標上の点)を持ち寄ることで、(k-1)次の関数f(x)を復元し、秘密情報s=f(0)を復元することができます(図2参照)。

この方式では、たとえ(k-1)個の分散情報が漏洩した場合でも、f(x)を一意にさだめることができないため、強い漏洩耐性を有している一方で、秘密情報 s が大きくなるにつれ非効率であるという欠点があります。

そこで、秘密情報 s をL個に分割し、効率的に秘密情報の分散が可能な手法として、(k,L,n)閾値ランプ型秘密分散共有法が提案されました。この手法では秘密情報 s をs0,s1・・・,sL-1個に分割し、q>max(sh,n)(0≤h<L)となる素数qを選択します。そして、各管理者へ一意の識別子としてsidh=n+hを割り当て、f(sidh)=shとなるようなランダムな関数ƒxを生成します。

ƒ(x)=a0+a1x+a2x2+・・・+ak-1xk-1(mod q)

(k,n)閾値秘密分散法と同様に、管理者へPiへ(i,ƒ(i))を配布し、k人が集まることにより秘密情報の復元が可能となります(図3参照)。

図3 (k,L,n)閾値ランプ型秘密分散共有法のイメージ

この手法では s を小さく分割したことで、管理者へ配布される分散情報が s に対して1/Lの大きさであるため、効率的な処理が可能となります。一方で、セキュリティ応用における効率性の向上は安全性とのトレードオフの関係にあり、(k,L,n)閾値ランプ型秘密分散共有法において分散情報が漏洩した際には、たとえk個未満であっても s に関する情報が得られるということが知られています。受講生には実際にColab上でプログラムを作成し、手法の理解を深めるとともに、漏洩した分散情報から秘密情報が復元できることを体験し、運用時のメリットやデメリットについて学習します。

テーマ2:CTF演習

テーマ2ではサイバーセキュリティにおける素養をはぐくむことを目的として、多岐に渡る分野からJeopardy形式[2]で演習問題の出題を行っています。問題は日本総研で実際にサイバーセキュリティ業務へ関わるエンジニアによる協力のもと、Web、Crypto、Forensicsなどを中心として作問し、演習前半では現場でのサイバーセキュリティに関する動向をはじめとして、ハッキングコンテストのCTFとはどのようなものか、どのようなコマンドやツールを用いればどういったことができるか? といった導入を行い、演習後半で受講生対抗のCTFを開催しています。

図4-(a)は実際に演習で出題した問題の一例となります。この問題では与えられたURLにアクセスし、隠されたフラグを見つけ出します。この問題は「色んなブラウザ」と名付けられており、出題文から「アクセス先のWebページを特定のブラウザで開く」ことができればフラグを得ることが可能であると推測できます。


[2]CTFの開催形式の一種で、ジャンルごとに出題された問題に隠されているフラグと呼ばれる特定形式の文字列を発見し、スコアサーバーに提出することで得点がもらえます。参加者はその合計を競います。

図4-(a) 出題例

Windows標準ブラウザであるMicrosoft Edgeで与えられたURLへアクセスしてみると、真っ白なWebページが表示されます。ヒントは問題文に隠されており、「アメリカの広告企業System1が買収したブラウザ」をインターネット上で検索すると「Waterfox」というブラウザであることがわかります。次にEdgeを使いつつWaterfoxでアクセスしたように見せかけ、その結果を表示させる方法がないか模索します。提供元により多少の違いはありますが、ブラウザには開発者ツールと呼ばれるツールが内蔵されているものがほとんどで、この問題では開発者ツールを用いて「ユーザーエージェント[3]」の改変を試みます。図4-(b)に示すように、「開発者ツール>ネットワーク」からユーザーエージェントを編集することができ、更新後に再度与えられたURLへアクセスすると flag{clag_browserというフラグが獲得できるようになっています。


[3]ユーザーエージェントとは閲覧に使用しているブラウザやOS情報を指します

図4-(b) 開発者ツール

演習実施後には各問題の難易度や回答率(図5)を見つつ復習を行います。受講生の中にはCTFへ参加したことがある学生もいれば、参加経験のない学生もいるため、各受講生でスキルレベルも異なっており、解法に至るまでに各々の試行錯誤を行い、進捗具合に合わせて教員・TAらからのヒントも交えつつ、考えて手を動かすことを受講生に促しています。また、

図5 得点の取得状況

時間の許す範囲で出題したものからピックアップし、どのような点に着目すればよいか、どういった手順で解析を行うことでフラグを得ることができるかについて解説を行うことで、わからないまま終わらせないことに留意し、楽しんでセキュリティについて学んでもらえるように努めています。


参考:情報セキュリティ教育プログラム「enPiT2-Security」における岡山大学の活動 ~岡大セキュリティ人材育成エコシステム~ セキュリティ人材育成法(第1回)


小寺雄太 岡山大学学術研究院 環境生命自然科学学域 (岡山大学工学部兼担)

基礎数学から応用まで、セキュリティをテーマに幅広く興味をもって調査・研究しています.また,岡山が地元ということもあり,最近ふと思い立って農業を始め,週末には鍬と鎌を握って畑へ繰り出しています.耕作の大変さ,草の伸びが思いのほか早いこと(耕作放棄地が増加する要因の1つなのかなー)、地方での獣害(いのししやくまなど)がどれほど深刻化しているかなど、ニュースなどではよく見聞きすることでも,自身でやってみて得られる気づきや考えが多くあり、「学ぶことがまだまだあるなぁ」と実感できます。セキュリティ業界でも同様に、人材不足や攻撃の脅威が年々激化しており,今後も学びながら走り続けることで、後輩の育成やその他の社会課題解決へ少しでも足しになればいいかなと思います。みなさんご飯はおいしく残さずたべましょう!!

「セキュリティ人材育成法」の最新話公開は、メールマガジンでもご案内致します。是非JAPANSecuritySummit Updateのメールマガジンにご登録ください。
メールマガジンの登録はこちらからお願いします

関連記事

サイバーセキュリティの課題をテーマ別に紹介中!!