Vol.7 No.3 2014
50/76

研究論文:漏洩に強いパスワード認証とその応用(古原ほか)−186−Synthesiology Vol.7 No.3(2014)課題が生じることとなった。前述のとおり我々の提案方式は漏えいには強いが、サーバー、クライアントいずれかのデータが利用できなくなると保存したデータを取り出せなくなる。また、LR-AKEでは、漏えいに強くするためサーバーおよびクライアントに記録されている情報をユーザーが認証される度に更新している。そのため、サーバーの故障やクライアント端末の紛失等で、バックアップデータを使って一方のノードを前の状態に戻したとしてもLR-AKEに分散保存したデータは取り出せない。そこで、複数のLR-AKE対応サーバーと複数のクライアントを使うことにより、漏えい耐性を維持しながらノードクラッシュ後のデータの取り出しを可能にし、また、一つのLR-AKEクライアント端末から保存したデータを、他のLR-AKEクライアント端末から取り出せるようにした。また、ユーザーがうっかりしきい値回以上パスワードを間違えアカウントをロックさせた場合に、そのユーザーの有効なLR-AKEアカウントから、そのロックされたアカウントを解除する仕組みも実装した。我々は、LR-AKEのこのような冗長構成をクラスタモード[30]と名付け、これまでのクライアント端末とサーバーを1台ずつ使う構成をシングルモードと分類することにした。クラスタモードを応用すれば、個人で自分用のデータをLR-AKEに分散保存する以外に、グループを形成して、サーバーに情報を漏らすことなくそのグループ内だけで同じ情報を共有することができる[31]。そのため、例えば、社内の計算機管理者達が、サーバーや端末の管理パスワードを共有しておくなど、重要情報の管理をグループ間でセキュアに行える。また、その際、各ユーザーが記憶すべきパスワードは、各メンバー個人の短いパスワードに設定でき、そのパスワードはグループの他のメンバーやサーバー管理者に知られることはない。3.3.2 実装方法に関する研究結果LR-AKEは、基本的に高いセキュリティが求められる用途で利用されるため、方式としての高いセキュリティレベルの確保に加えて、実装時のセキュリティ対策にも配慮した。これらの作業はセキュアに実装するためのベストプラクティスを適用することが主で、新規性が求められる学術論文や特許等の成果に繋がるものではなかったが、本作業で得られた知識は、その後取り組むこととなった重要インフラや制御システムのサイバーセキュリティ対策の研究を進める上で大いに役立つこととなった。また、実装してみることにより見えてきた仕様上の曖昧さも明らかとなった。前述のとおりLR-AKEには、流出した認証用のデータを自動的に無効化するため、ユーザー認証後に記録データを更新する機能や、認証の失敗原因が正規ユーザーによるパスワードのタイプミスなのか、それとも、クライアント側に記録している情報が漏えいし、それを用いてパスワードが試されたのかを切り分ける仕組みを備えている。これらはいずれもプロトコルが正常に終了した場合を想定していたため、通信が途中で途切れた場合については曖昧さが残っていた。そこで、プロトコルのどの時点において通信が途切れたとしても、必ず通信を再開でき、かつ、上述の機能やセキュリティレベルが損なわれないようにするための検討を行い、仕様の詳細に反映させ実装を行った。3.3.3 他のアプリとの連携方法に関する研究結果実装の精度が高まってくると、各種アプリケーションとの連携方法が課題となった。一つの方法は、各種アプリケーションの一部としてLR-AKEが組み込まれることであるが、この方法は初期の修正に加えて、アップデートの度に修正が生じ工数の大きさが問題となる。その上、責任分解点が曖昧となるため、アプリケーション開発者側の理解も得難い。そこで、アプリケーション側からLR-AKEの機能を呼び出すためのインターフェースAPI(Application Programming Interface)を定義し、LR-AKEをアップデートしたとしてもインターフェースは変更しないか、古いインターフェースを残し、新たなインターフェースを追加することにより、LR-AKE側の更新に伴う連携アプリ側の修正を生じさせないようにした。さらに、アプリケーション側のプログラムに修正を加えることなく連携を取る仕組みについても検討を行い実装を行った。具体的には、LR-AKE認証後にLR-AKEのクライアント側とサーバー側でワンタイムパスワードを生成し、サーバー側ではアプリケーション側が備えるパスワード登録手続きを使って、そのワンタイムパスワードをそのアプリケーションで使われる利用者のパスワードとして登録し、クライアント側からその使い捨てパスワードを使ってそのアプリケーションが提供するパスワード認証手続きを使って認証を受ける。また、その際、サーバーに関する情報をLR-AKEサーバーとLR-AKEクライアント間に張られた安全な通信路を介してクライアントに伝えることによりサーバー認証も行う。これにより、ユーザーとしてはLR-AKE認証を受けるだけで、LR-AKEと連携している各種サービスを受けられるようになり、かつ、連携先アプリケーションのソースコードの変更は不要となる。実際、この仕組みはAISTでの実証実験でも利用した。本実証実験では、外部ネットワーク上の認証されたユーザーを内部ネットワークに接続するVPN(Virtual Private Network)とLR-AKEを連携させ、LR-AKE認証を受けることによりAIST内ネットワークの一部に接続できるようにした。当然ながら、VPNソフトウェアは他社の製品であるため、その中身を変更することはできない。そこで、前述のメカニズムを使いVPNのソースコードを変更すること

元のページ 

page 50

※このページを正しく表示するにはFlashPlayer10.2以上が必要です