Attribute Provider と替え玉問題
- SITFのWGにて技術面で検討したことと今後やっていくこと - r-weblife
- Identity と Attribute が別々に提供される
- OAuth を二段に連携させることによって Identity + Attribute が結びついた情報を得られる
- 二段のうちの片方である、IdP が AtP から ユーザー識別子を取得するフローに注目してみましょう
- IdP は、ログイン中のアカウントが持つ Identity と、取得した Attribute を結び付けます
- http://sitf-idp.openidconnect.info/ が http://sitf-ap.openidconnect.info/ から取得する Attribute の例
ユーザー識別子 : 22
組織名称(英字) : Bakada University
組織内所属(英字) : Philosophy
組織名称(日本語) : バカ田大学
組織内所属(日本語) : 社会学部哲学科
学生判定 : 学生
- 問題
- Attribute 所有者の協力によって、無関係の Identity にその Attribute を結びつけることが可能
- OAuth の特徴によって、Attribute 所有者は Attribute へのアクセス権限だけを安全に譲渡することができる
- IdP が持つ複数の Identity に、同一の Attribute を結びつけることが可能
- 対策
- AtP は、必ず Attribute にユーザー識別子を含めなければならない
- RP(IdP が単一の場合は IdP でも可)は、ユーザー識別子がユニークであるか確認しなければならない
- IdP が複数あり、ユーザー識別子が PPID である場合、RP は IdP ごとにユニークであることしか確認できない
- 対策
- Attribute 所有者の協力によって、無関係の Identity にその Attribute を結びつけることが可能
- デモ
- http://sitf-idp.openidconnect.info/ でアカウントを作成
- http://sitf-idp.openidconnect.info/sitfap/reauth にアクセスすると http://sitf-ap.openidconnect.info/users/login にリダイレクトするので
- 下記のブックマークレットを実行してください
-
- バカ田大学に入学できます