OpenID(
2016年現在の最新版のOpenIDは2014年2月に発行され[2]同年11月にアップデートされた[3]OpenID Connect (OIDC) 1.0である。
OpenID財団では、誰でも参加可能な手順「OpenID Process」を経て、デジタルアイデンティティ関連の標準化を行なっている。現在有効、ないしは策定中の仕様には以下のようなものがある。
2009年にOAuth 2.0の標準化がIETFで始まったことを受けて策定が始まった、次世代の認証・連合アイデンティティシステムの標準。
HTTP上で使う場合にはOAuth 2.0をベースにしながら、HTTP以外のプロトコル(XMPP他)にも拡張可能になっており、スマートフォン上でのアプリの台頭を意識した作りになっている。
セキュリティ的にも、OpenID Authentication 2.0がNIST SP800-63ベースでレベル2程度までしかサポートできないのに対して、最高レベルであるレベル4まで対応できるように設計されている。
これに当たって、別規格としてJSON Web Token(JWT)、JSON Web Signature(JWS)、JSON Web Encryption(JWE)、JSON Web Key(JWK)が、IETFに於いて、同じ著者達によって標準化されている。
OpenID Connect は幾つかの部分規格にわかれている。
これらは、2014年2月26日に、OpenID Foundation 標準として採択された。 その後以下が標準として採択されている。
また、引き続き以下の仕様が策定中である。
2018年8月22日現在、上記1~3は実装者仕様案[4]である。
OIDCがOAuth2.0を認証で利用するにあたって追加した最大の要素がID Tokenである[5]。ID Tokenは以下の属性を持つJSON Web Tokenである[5]。
interface ID_Token {
iss: url; // Issuer Identifier
sub: string; // Subject Identifier
aud: string[]; // Audience
exp: number; // Expiration date [UNIXtime]
iat: number; // Issued at [UNIXtime]
auth_time?: number; // End-User authentication time [UNIXtime]
nonce?: string;
acr?: string; // Authentication Context Class Reference
amr?: string[]; // Authentication Methods References
azp?: string; // authorized party
at_hash?: string;
c_hash?: string;
sub_jwk?: object;
anything_you_want?: any;
}
すなわちID TokenはそのID Token自身が、どの発行者/issから、どの対象者/subの情報を、どの利用者/audに対して、いつまでの有効期限/expで、いつ発行された/iatか、という情報を必ず含んでいる。例えば以下のclaimをもつID Tokenがあったとする。
interface ID_Token {
iss: "https://JapanGav.go.jp";
sub: "山田太郎_1234567";
aud: ["マイナポータル"];
exp: 1577890800;
iat: 1577804400;
}
これはこのID Tokenが、iss/日本政府から、sub/山田太郎の情報を、aud/マイナポータル(アプリ)に対して、exp/2020-01-02の有効期限で、iat/2020-01-01に発行されたということを意味し、これを保証している。
ID Tokenの発行者(issuer)はOpenID Provider(OP)と呼ばれる[6][7]。
ID Tokenの発行を担うIssuerとして様々なサービスが存在している。
発行主体 | サービス | iss |
---|---|---|
OAuth 2.0 APIs[8] | accounts.google.com | |
Amazon | Amazon Cognito User Pools | https://cognito-idp.{region}.amazonaws.com/{userPoolId}[9] |
OpenID Authentication 2.0、OpenID Connect のみではなく、SAMLなどでも問題になるユーザーインターフェースの問題(NASCAR問題、WAIF問題)を解決すべく検討されている仕様。
携帯電話会社がOpenID ConnectのIdPになるために必要になる追加仕様を規定している。
健康情報交換のための仕様。
注:OpenID Authentication 2.0 は、OpenID Connectによって置換えられた。
2007年12月に制定された、ウェブサイトによらず使用できる認証・連合アイデンティティシステムの規格の一つ。ユーザを識別するには、URIベースの主張識別子[10]を用いる。これは、ユーザが入力したものではなく、認証サーバが割り当てた再利用されないURIである。その為、ユーザ識別子の使い回しによる、旧ユーザのアカウントを新ユーザがのっとってしまう ユーザー・インパーソネイション[11] と呼ばれる問題が解決されるなどの特徴を持っている。
また、OpenID Simple Registration Extension、OpenID Attribute Exchange などの拡張仕様を利用することによって、ユーザの属性情報を連携することができる他、どのような本人確認や認証手段(パスワード、OTP、ICカードなど)を使ったかなどの認証コンテキスト[12]も同時に連携可能である。
拡張仕様には、
がある。
プロバイダには、ヤフー、AOL、フランステレコム、ドイチェ・テレコム、NTT、KDDI、ソフトバンクなど多数が対応している。
OpenID Process Document[13]によって規定される標準化プロセス。概ね以下の経緯をとって仕様として標準化される。
米国オレゴン州で設立された、501(c)(6) 非営利団体である。著作権管理、商標管理、仕様をライセンス費用無しに使うことができるようにする(制限付き特許権非行使ライセンス)ための標準化プロセスの管理、OpenID財団の標準化プロセスで標準化された各種規格についての普及啓蒙を行うことを使命としている。
特許権管理は、「制限付き特許権非行使ライセンス」と呼ばれるモデルで、OpenID財団標準仕様の実装に対して、不可逆的特許権非行使宣言を行った主体に対しては特許権を互いに行使しないというものになっている。OpenID財団標準を実装したある企業が、他の企業に対して特許権の主張を行った場合、他の特許権保持者は当該企業に対しては特許権の行使ができるようになる。このため、特許権の行使には抑制的に働き、結果的に通常のロイヤリティ・フリーモデルよりも安全に利用できるようになることを狙っている。
役員[15]は以下の通り。
役職 | 担当者 |
---|---|
理事長 | Nat Sakimura (崎村夏彦) |
副理事長 | Adam Dawes(アダム・ドーズ) |
会計担当 | John Bradley(ジョン・ブラッドレイ) |
書記 | Mike Jones(マイク・ジョーンズ) |
執行役員 | Don Thibeau(ドン・ティボー) |
法人理事[16]は、各スポンサー企業(年50,000ドル)によって指定された個人であり、所属が変わると他の人に引き継がれる。
スポンサー企業 | 担当者 | 備考 |
---|---|---|
野村総合研究所 | 崎村夏彦 | 理事長 |
グーグル | Adam Dawes | 副理事長 |
KDDI | ||
マイクロソフト | Anthony Nadalin | |
ペイパル | ||
シマンテック | Brian Berliner | |
ピング・アイデンティティー | Sarah Squire | |
ベライゾン | Bjorn Hjelm | |
アメリカ合衆国保健福祉省 | Debbie Bucchi |
コミュニティ理事 [17] は、選挙によって選ばれる。なお、コミュニティ理事は、企業を離れた個人として選ばれており、所属が変わっても継続するので、所属はあくまで参考である。
担当者 | 備考 |
---|---|
John Bradley | Yubico、会計 |
Michael B. Jones | マイクロソフト所属、書記 |
George Fletcher | OATH所属 |
2008年2月28日OpenIDファウンデーション・ジャパンの設立が発表され、2008年10月1日OpenIDファウンデーション・ジャパンが有限責任中間法人として設立された、OpenID財団の日本支部。発起人企業は、シックス・アパート、日本ベリサイン、野村総合研究所の3社。参加企業は、ウェブ系だけでなく、銀行、保険、運輸など幅広く、2012年7月現在で42社に及ぶ[18]。
iss
クレームの形式は次のとおりです。 ユーザープールのトークンの使用 - 発行者 (iss)