最新

おおいわのこめんと (2009-09)


2009-09-23

[Misc] 連休

この5連休でやっとマトモに休むことができた感じです。 つっぱしり続けで気持ちが疲れ切っていたので、すこしホッとしてます。 やっぱりメリハリがないと、疲れますよねぇ。 久々に新宿の店(雑貨とかPC周りとか)をあちこち回ったり色々してました。

ただ、この次の2日間はなんかセンターの評価とか入っているんで、 チーム長の裏方仕事とかで休めないのが残念。 ここが休めれば夢の9連休だったわけですが。

というわけで、最後の日記エントリが8月12日ということで、少し振り返ります。

[Misc] ICFP……行けず…:

えー、まず ICFP すごく行きたかったんですが、東京の仕事が積み上がっていたので 断念しました。イギリスはヒースロー空港内を除いては初めてだったので、 すごく楽しみにしていたのですが、残念です。 僕自身、セキュリティも面白いけどやっぱり同時にプログラミング言語の応用研究という世界には 片足を残していたいんで、その意味でも行きたかったんですけどね…。

PLDI の帰りにヒースロー空港で抱え切れないほど紅茶のお土産を買って帰ったのが(今年は来られないからという意味で)伏線だったのでしょうか……。あの時は「どうせ3ヶ月後に来るけどな〜」とか思っていたのですが。

コンテストの結果ですが、久々の日本からの優勝者ということで、 shinichiro さん、おめでとうございます。その場で見てきたかったなぁ……。めぐり合わせが悪いというか。

ついでに7月の IETF@スウェーデン もスキップしたので、今年は PLDI の海外出張が最後になりそうな予感。 次の IETF は広島なのでね。

[Comp] OCaml Tokyo:

そういうわけで、8月末が在京になってしまったので、OCaml Meeting Tokyo に顔を出してきました。 2000年に東大の ML 演習で TA を担当した際、使用言語に Objective Caml を採用 (SML から切り替え) してから 9年になりますが、山上会舘の会議室が人で埋まっているのを見て、いつのまにかこんなにユーザが増えたんだなぁ、と感激しました。 特に、東大・京大・お茶の水には OCaml を授業で強制的に使わされた人がたくさんいたわけですが、 それ以外のユーザさんが着実に増えていたのが嬉しいと思いました。 OCaml 名古屋の人達の影響も大きいのかな。

古瀬さん他企画された皆様、お疲れ様でした。

[Work] RCIS Technical Notices 2009-01:

で、その忙しい最中に降って湧いたのが、RCIS Technical Notices 2009-01 (B) 「WPA の脆弱性の報告に関する分析」の執筆というお仕事。

某方面から「情報が色々出てるんだけど、錯綜しててまとまりがなくて判断つかないよー」という声があって、 「じゃぁ RCIS で一回情報まとめてきっちりとしたサーベイ文書を作ろう」→「おおいわ、お前書け」という 流れで、書く羽目に。暗号の専門家の人達と議論をしつつ、文章書きは実質僕1人で3日で第1版を書きました。 他の仕事を止めるわけにいかないのでそれは頑張りつつ、実質1週間フルにかかりっきりに近い状態に なりました。疲れたねぇ。

実際のところ、正しいと思われる情報をきちんとまとめる、というのは結構大変で、 複数ソースの色々な文書を探して片っ端から読んで、矛盾しない情報を再構築するのに労力を費やしました。 まぁ最終的に「読んだ」ことになっている文献は

  • IEEE 802.11-2007 規格書:論理層より上全部 (1200ページの 1/3 位)
  • 複数の無線LANセキュリティの論文
  • 暗号の理論的安全性証明の論文
  • wpa_supplicant の16万行のソースから重要な部分を検索しつつ解読

で、他にも Wi-fi alliance の資料とか、各種ホワイトペーパーとかニュースサイトとか、 802.11i 委員会のプレゼン資料のうち公開されてるものの一部とか、 参考文献に載せてないものも含めていろいろ読んでます。 Wi-fi の製品の世界で使われている用語(WPA、AES、アドホックモード、インフラストラクチャモードとか) と 802.11 規格書で使われている用語が結構違っているので、 結局 802.11i の部分だけではちゃんと確証をもって理解することができなくて、 対応関係を把握するために 802.11 規格書全体をちゃんと読む必要がありました。 この辺りくらい合わせておいてくれればいいのにねぇ。

で、結局のところ、2008年の論文がまずは理解のためには重要なので、ここから読むのがいいのかな。 ベースになっている過去の攻撃も含めて、結構ちゃんとまとまってました。

暗号の安全性の理論的に厳密な証明を読むことは、こんな機会でもないと無かったと思うので、 そういう意味では面白かったですね。2002 年の SAC の論文ですが、 こちらは「直感的な証明の方針」と「厳密な証明」が両方かかれていたので、 見比べることで理解できた感じです。これ、厳密な証明だけしか書かれていなかったら 多分挫折したなぁと思います。まぁ RCIS として仕事をしているわけなので、 専門家に確認してもらって大丈夫といってもらう、でもよかったのではありますが、 「どんな定義でどんな前提の元に安全性を証明していて、プロトコルの実際の動作と それがちゃんと対応しているか」ということを確認するためには、 自分で読めるに越したことはないので、比較的読みやすかったのはありがたかったです。

僕1人が1週間かかりきりというコスト消費は近くの人に聞くと 賛否両論でした(もったいないなぁ、とも言われました)が、まぁ僕個人としては 毎回だと辛いけど今回は良かったかな、位に思ってます。

[Comp] Objective Caml、ホームページ:

で、連休を使って何をしていたかと言うと、(研究者としての仕事 and not 研究員としての仕事) と言うような領域でごそごそと。

昔東大時代に、Regexp/OCaml という Objective Caml 用の正規表現マッチ構文拡張マクロを作っていて、 2005年くらいまでメンテしてたんですが、使っていた Camlp4 というマクロプロセッサが その後 Objective Caml 3.10 で完全に再実装されてしまい、動かなくなってしまっていました。

Camlp4 を使った構文拡張は、普通は特定の構文木パターンにマッチして置き換えるような 変換ルールを書くことになって、その場合は多少構文木の内部構造が変わっても追従できるような しかけが用意されていて互換性が保てるようになっているのですが、 Regexp/OCaml のパッケージに入っている拡張の1つは、その仕様上 構文木の全パターンにマッチをして書き換えるような仕組みになっているので、 構文木が拡張されたりすると割と簡単に動かなくなるのです。 OCaml 3.10 での再実装に伴う変更は割と大きかったので、忙しくなってしまってから 3年くらい諦めて放置していました。

で、今回 Fail-Safe C をいじっていて、動作確認のために最新の Objective Caml 3.12.0 を インストールしたので、久々にそれに対応させるよう改良しました。 ソースを見てもらう(バージョン毎にソースを切り替える仕組みが入っているので、 それを見る)とわかりますが、結構変更点は多岐に渡っていて大変でした。

で、ついでに「もういまさら元の大学のページで公開するのも難だよねー」ということで、 Regexp/OCaml のホームページ 自体も、自分の個人ホームページの中に移しました。 このためにまた、ページ生成のスクリプトを整備したり、 ページのデータを repository に投入したりと、ごそごそと作業していました。 まぁこれでページの編集環境も整備したので、またすこしコンテンツを充実させていけるかな……。 ついでに(同じシステムを使っている)研究所側のホームページも、 バージョン管理システムの管理下に置いたりしています。こっそり一番下の行だけ変わってたりする :-)。

本日のツッコミ(全2件) [メッセージを送る]

なひ [http://www.rcis.aist.go.jp/TR/2009-01/wpa-compromise.html ..]

おおいわ [(ここで返事するのは妥当かどうか微妙ですが :-) お知らせありがとうございます。HTML 手書きでミスってました ..]


大岩 寛 (おおいわ ゆたか) <yutaka@oiwa.jp.nospam ... remove .nospam> .

Copyright © 2005-2014 Yutaka OIWA. All rights reserved.
Posted comments and trackbacks are copyrighted by their respective posters.

記事の内容について (Disclaimer / Terms and Conditions)