晴耕雨読

working in the fields on fine days and reading books on rainy days

seccamp2022講師参加記

感想と反省の雑文です。

参加経緯

一般的には、各トラックのプロデューサーから講師やりませんかと声がかかるので、それを承諾することで講師になります。 今年からは副講師という枠が作られ、講義の構成から携わるようなチュータがいる場合にチュータより適正な扱いをしようという意図があるとのことでした。 自分は、プロデューサーから声をかけられた講師から声をかけられる、という流れで参加したので、講師グループの中でも最後の参加順でした。 講師プロフィール登録やその他の手続きを終えて、無事に副講師となりました。

講義内容

内容については私が参加した時点ですでに決まっており、緑川先生が今までされていた暗号解読を中心としたコースで、そのための応募課題もすでに完成していたので、私が決めた部分は特にありません。 応募締切後、応募者の採点を一緒に行い、誰にするか相談した上で最終決定を出しました。

参加者が提出したやりたいことをベースに、それを自分の得意なプロトコルの分野に発展させるとなると、とても難しく感じました。 現在の標準プロトコルに組み込んだり、アルゴリズムとしてなぜそのような構成になっているのかを探求できれば、そこに面白さがあるかもと思っていましたが、そこに導くまでの道筋が上手に自分の中で描けなかった部分があります。

講義の流れとしては対話を通じて暗号プリミティブに対する攻撃手法などの論文などを参考に紹介し、その攻撃を理解するための数学的な知識を身につける側面と、攻撃や攻撃対象のアルゴリズムを実装して学ぶ側面から理解を進める感じです。

自分が手伝える部分としてはAESやRSAなどの暗号プリミティブの実装とかになるので、実装のサポートとかテストベクタの紹介とかをやっていました。 sagemath で書かれている攻撃コードを python で再実装する、いわゆる車輪の再発明に近いことをやってもらいました。 開発に役立つ知識というかテクニックみたいなものを教えて本人も気づきがあったみたいでした。 最終発表は具体的な指示はないけどよろしく頼むよという感じでしたが、とても完成された発表になっていたので、短時間でスライド作り上げてすごいと感心していました。

振り返り

  • Discordで画面共有しつつペアプログラミング形式となりました。次回があればVSCodeのLiveShareとかやってみたいです
  • 暗号プリミティブの話からプロトコルへ誘導する方法が確立できていなかったのが反省点です。 応募課題の設定から関わらないと難しい部分ではあったかもしれませんが、会話の中で論文のURLを貼るのと同じ要領で、構成法や標準プロトコルで関連するRFCとかのURLを貼ればよかったと思っています。
  • RFCとかDraft版とかや、他の人の実装とかを読みながら、技術を理解するコースとかできれば面白そうとは常々思っています。 自分が参加者としてやったTLS 1.3のRFC読みとか。今ならQUICとかになるのかな。 TLS関連だとQualys社のSSL Server TestでサーバのTLS設定をチェックするツール実装とかもできそう。 TLSまで作れると、上位に好きなプロトコル乗せられるので、SSL-VPNとかもできるかも。 IPsecでL2TPの通信をしてVPNする方法とかできるとネットワークの知識が付きそう。 機密性の観点以外にも、暗号には真正性(認証)の観点もあるので、OAuth、OpenIDとかの認証プロトコルを実装していく道筋もありそう。 二要素認証として使われるTOTP(時間ベースのワンタイムパスワード)とかもRFCになっているので、その実装をしてみるとかもあり。 PKI方面では、証明書のバイナリから解析して失効していないかとかOCSPも見つつ判断するツールの実装をやってみると、証明書に対する理解が深まりそう。 上記も含めて、次回(があれば)応募課題の設定を考えたい。

次回に向けて

暗号技術って面白いなーとか、こういうふうに現代社会で使われているんだーとかの気づきができるように色々教えられるようになりたいです。 次回も副講師として呼ばれるかは分かりません。呼ばれなかったら、チュータとして応募するかもしれませんが、仕事の状況次第になるかもです(5日連続で休むと40h穴埋めしないといけなくなるので)。 次回は上司と相談して、8月に一週間休む場合の時間外計画について確認しようかなと思っています。何なら運営とのやり取りとか共有するし、お金とか会社の口座に振り込むから、仕事として扱ってもらえないかも含めて相談してみようと思います。

引き続き、RFC Trans (RFC対訳サイト) の管理をしながら面白そうで実装しがいのあるプロトコルがないか探していきたいと思います。 まだ、公表できる段階ではないですが、コンテンツを鋭意制作中です。 今までのseccampに関わってきた成果となるので、お披露目までご期待ください。

参考資料


類似記事