>100 Views
September 08, 23
スライド概要
JANOG31.5の発表資料。
パスワードシステムについてのデザインパターンを誰か一緒に作りませんかという呼びかけのために作成。
SlideShareが使いにくくなってしまったのでこちらに全部移してみた。 - 勉強会で使った資料 - イベントでの登壇資料 等を中心に上げてあります。
パスワードシステムの デザインパターン作成について 2013/4/19 佐々木 健
なんでここにいるか? ● JANOG 31 ↓で、デザインパターンにつ いてのBoFをやった。 http://www.janog.gr.jp/meeting/janog31/ ● そこに参加していた水越さん@JPCERT の帽子、にたぶらかされた。
たぶらかし概要 ● ● ● ● ● ● デザインパターンって面白いねえ ところでさ、パスワード使ったシステムもデザ インパターン作れるよね? パスワード使ったシステムって沢山あるけど問 題がいっぱいあるよね。 パターン化しない? 某所で毎回パスワード発行して使ってるみたい な話も聞いたけど、そういうのも一つのパター ンよね。 あれこれあれこれあれこれ
デザインパターンって何? ● ● ● ● 人の営みにはなんらかのパターンが存在する。 最初にデザインパターンという概念を使い始めたのは建 築の分野であり、アレグザンダーが始めたもの。 様々なデザインから良いパターンを抽出し、それを元に 活用すれば良い設計ができるはず。 設計は、物を作り出すというすべての行為で行なわれる ことであり、デザインパターンという手法は、建築以外 にも適用が可能。
デザインパターンって何? ● ● ● ● 人の営みにはなんらかのパターンが存在する。 最初にデザインパターンという概念を使い始めたのは建 築の分野であり、アレグザンダーが始めたもの。 様々なデザインから良いパターンを抽出し、それを元に 活用すれば良い設計ができるはず。 設計は、物を作り出すというすべての行為で行なわれる ことであり、デザインパターンという手法は、建築以外 にも適用が可能。
システム作りへの適用例 ● オブジェクト指向プログラミング ● Amazonのクラウドデザインパターン
デザインパターンの記述(基本) ● 様々な事象について、以下の3つのポイントを書き出してい く。 ● - Context (どのような状況で) ● - Problem (どのような問題が生じやすく) ● - Solution (どのように解決すれば良いのか) ● ● それを分類し、抽象化することで、典型的なパターンに収 斂させて、名前を付ける。 デザインパターンにおいては、Contextが特に重要。
従来のガイドライン等に比べて 何が嬉しいか? ● パターンに名前がある。 – – ● 抽象化して名前を付けることで「言語」として使うこと ができコミュニケーションの道具として用いることが可 能になる。 Contextが記述されている。 – ● デザインパターンは暗黙知を形式知に変換したもの。 適用領域がわかるので、間違った適用、濫用を防ぐこと ができる。 失敗もアンチパターンとして記述できる – アンチパターンは必ずリファクタリングできる。
パスワードシステムの抱える問題 ● ● ● ● 認証基盤ベースの技術はまだ整っていないのが実情。パス ワード認証は、今時点では現実的な認証方法であり、広く使 われている。 しかしながら、現状のパスワードを用いたシステムにはセ キュリティ面において多くの問題が見受けられる。 仕様、実装、運用、それぞれに問題がある。 パスワードを用いたシステムにおいて、問題と実装を整理し パターンを抽出できれば、現状改善の手助けができるはず。
デザインパターンでやる理由 ● ● パターン抽出の規模的に手頃。 すべてのシステムが、OTPとか、モダン な認証基盤ベースに移行できるわけな い。リファクタリングでみんなに改善し てもらうほうが現実的。デザインパター ンの手法はアンチパターンを抽出し、リ ファクタリング手法を提示することも可 能。
パターン例(自前OTP) パスワードなんか 覚えてませんよ 毎回再設定 です キリッ 名前: 自前OTP Problem: パスワードが覚えられない。 Solution: 毎回再発行。 Context: たまにしかアクセスしないウェブページでパスワードが 覚えられないが、再発行が簡単で、 再発行時のセキュリティが充分信用できる。 関連: パスワードなんか設定しないで、ログインURLが 毎回メールを飛ばす、というような運用もある。
どこで誰がやるの? ● ● JPCERT/CCが主体になって進める予 定。 来週ぐらいから動き出すよ。
こんな感じで進める予定 ● ● ワークショップを何回かやって、パターンの抽 出、整理をする。 以下の成果物を公開したい。 – 1.仕様上のデザインパターン、アンチパターン – 2.実装上のデザインパターン、アンチパターン – 3.運用上のデザインパターン、アンチパターン –
お願い ● ● 興味がある人がいたら一緒にやりま しょ!! 質問があれば気軽に聞いてください。