「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- Pairwise Pseudonymous Identifier (PPID)
- SAMLや、OIDCにある概念。
- Pairwise の対義語は Publicになる。
詳細 †
導入の目的 †
- 一般的に、結託したRPによる名寄せを防ぐ目的で導入される。
- Pairwise Pseudonymous Identifier (PPID)とは、
- ある Relying Party(RP) に対してのみ, ある Entity の識別子として提供される値.
- 他の RP には, 当該 PPID を当該 Entity と関連付けることはできない.
効果と事例 †
しかし、実際は、名寄せで使用された事例はなく、
セキュリティを高める副作用が確認されたことはある(らしい)。
- userid のみを送信して認証とみなす。
みたいな非推奨をやってしまう人たちの
アプリのセキュリティを高めてはいる。
導入の考察 †
- Pairwise Pseudonymous Identifier (PPID)の方がセキュア。
- 以下のGistの記事が参考になる。
トレンド †
ウェブサービス事業者のトレンドを分析する。
- Apple:Pairwise
- Facebook:Pairwise
- LINE:Pairwise
- Twitter:Public
- Google:
昔、PairwiseだったものをPublicに変更した。
- Yahoo:
アプリ横断の共通ID(Yahoo IDとは異なる)
Public †
以下のように実装しなければ、Publicでもそれほど問題は無さそう。
- 「userid のみを送信して認証とみなす。」の様な実装をしない。
- トークンに署名する。できればクレームセットにも署名する。
sub=email †
- メールが乗っ取られると、外部ログイン経由で乗っ取られる。
- sub=email(username)だと、Pairwiseを実装し難い。
- Publicを選択しているGoogleでも以下のように言っているらしい。
「Emailはユニークではない可能性があり、
ユーザーを識別する主キーとしては適さない」
- 汎用認証サイトのケースを考えると。
- useridをクレームとして返すことはできる。
- 以下の様にemail特性別に使い分ける。
- 企業メアド前提なら、sub = emailで実装。
- フリーメール等が許容されるなら、useridも使う。
参考 †
OpenID Connect †
Tags: :IT国際標準, :認証基盤, :クレームベース認証