パスワードマネージャが適切にパスワードを生成できるようにするポリシーの提案仕様

パスワードの管理に、1PasswordやLastPassといったパスワードマネージャを使うのは一般的になってきています。

そのようなパスワードマネージャはランダムなパスワードを生成しますが、Webサービスによって使える文字の種類や、長さというのはマチマチです。

そこで、Webサービス側からパスワードの要件について記述できるようにする仕様がIETFに提出されています。

どこのWGで議論するのか、標準化が進むのかよくわからないが、とりあえず読んでおく。

Open Password Automation Recipe Protocol

パスワード自動生成出来るように提案されている仕様は「Open Password Automation Recipe (OPAR) Protocol」というタイトルです。

Webサービスはページ内に下記のようなJSONをOPAR_Policyという変数で埋め込むことで、自サービスのパスワード要件を宣言できます。

例えば以下のとおりである

   {
      "version":1,
      "min_length":8,
      "max_length":20,
      "numbers":{
        "allowed": true,
        "minimum": 2
      },
      "lowercase":{
        "allowed": true,
        "minimum": 2
      },
      "uppercase":{
        "allowed": true,
        "minimum": 2
      },
      "special_characters":{
        "allowed": true,
        "valid_characters": "+-_()*&^%$#@!?",
        "minimum": 2
      },
      "wide_characters":{
        "allowed": false,
        "minimum": 0
      },
      "include_extended_ascii": true
   }

各パラメータは以下のとおりです

  • version: 現状、バージョンは1
  • min_length: パスワードの最小長
  • max_length: パスワードの最大長
  • numbers: 数字を許可するか、および最低文字数を指定
  • lowercase: 小文字を許可するか、および最低文字数を指定
  • uppercase: 大文字を許可するか、および最低文字数を指定
  • special_characters: 記号類を許可するか、許可される記号のリスト、および最低文字数を指定
  • wide_characters: マルチバイト文字を許可するか、および最低文字数を指定
  • include_extended_ascii: キリル文字、アクセント記号付き西洋文字、ギリシャ文字など、拡張ASCII文字セットの文字を許可するか


XSSでこのオブジェクトを上書きされると、本来のポリシーに見合うものの弱いパスワードを発行させられたりするのかな?
と、思ったけどXSSあったらパスワード取られるから自動生成しててもリスクと脅威は変わらないか