パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

パスワードを管理する新しい手法「PolyPassHash」が提案される」記事へのコメント

  • パスワードの管理の歴史が簡単に書かれつつ、以下のような論旨が展開されていた。

    「パスワードを平文で保存するのヤバくね?」
    →「パスワードを一方向ハッシュ関数でハッシュしようぜ!」

    「ハッシュ化されたパスワードも最近のPCだと割と簡単にクラックされるようになってきてね?」
    →「ハッシュ化されたパスワードを格納している場所(ファイル/DB)を暗号化しようぜ!」

    「ハッシュ化されたパスワードを格納している場所を暗号化しても秘密鍵が漏れたら意味なくね?」
    →「秘密鍵を Threshold Cryptography で分散管理しようぜ!」 (ここが PolyPassHash の発想)

    • 色々しっくりこない点もありますが

      - パスワードのハッシュと論文で言うところの"Share"と呼ばれる鍵を使って計算した値を各ユーザ毎にDBに保存する
      - Shareは盗まれないようにどこにも保存しない
      - DBが盗まれてもShareがわからないのでオフライン攻撃でも果てしない時間がかかる

      がポイントになのかと思います。

      重要なのはShareです。

      ShareはPolyPassHashが有効な認証システムの初期化時に生成されて、閾値としてカウントされるアカウントを作成したら捨ててしまう。
      閾値分のパスワードが入力されるまで一般ユーザに対しては認証を受け付けない。
      閾値分の正しいパスワードを入力することで、Shareを求めることができる。具体的には、シャミアの秘密分散法を使う。得られたShareはメモリ上でしか保存されない。
      それ以降の普通のユーザ認証は、入力されたパスワードに対してソルトでハッシュ化して、さらにShareを使って計算した値がデータベースに保存されている値とマッチするかどうかで行う。

      使われている手法はどれも昔からあるもので、それらを使って低コスト(ユーザ側変更なし、追加ハードウェア必要なし)でセキュリティの高いパスワード管理ができるようになるというのがウリのようです。

      親コメント

Stableって古いって意味だっけ? -- Debian初級

処理中...