94 views
# (OpenID Connect Core 1.0) 1. Introduction ###### tags: `oauth2/oidc` 担当::@hijiki51: [toc] ## 1. Introduction OpenID Connect CoreはOAuth2.0 の上にシンプルな認証レイヤーを付与したものである。 これによって、以下のことが可能になる。 - Authorizaton Server での認証結果を利用してEnd-Userのアイデンティティの検証 - End-Userの必要最低限のプロフィールをRESTfulな形で公開 OpenID Connect はOAuth 2.0 の認可プロセスを拡張して、認証目的で利用できるようにする。本拡張を利用する場合、Client は scope に`openid`を指定してAuthorization Requestを送信する。 認証結果は、ID Token と呼ばれる JWT として返却される。 ## 1.2 Terminology 重要なものだけかいつまんで紹介する。 今後の輪読会資料においては、必要に応じて、()内で定義された略称をいる。 - OpenID Connect(OIDC) - この仕様によって定義されたプロトコルのこと - OpenID Provider(OP) - OpenID Connect を実装した OAuth2.0 Authorization Server - End-Userの認証を行うことができる。 - Relying Party(RP) - OpenID Connect を利用する OAuth2.0 Client - 本仕様では、すでにRPはOPに必要な情報を登録しているものとする - また、OPの必要な情報も取得しているものとする - 通常 OpenID Discovery で取得可能 - Authentication Context - RPが認証を行う前に要求できる情報 - 認証方式やLoAのようなものがそうとするが、これに限られない - Authentication Contest Class - 特定のコンテキストで等価と考えることのできる認証方式の集合 - Authentication Context Class Reference - Authentication Context Class の識別子 - `urn:oasis:names:tc:SAML:2.0:ac:classes:Password`など - SAMLがベースになってるっぽいけどよくわからん - Entity - あるコンテキストの中で識別される、ほかと独立した存在。 - End-Userが該当する - Pairwise Pseudonymous Identifier (PPID) - 特定のコンテキストで一意になる識別子 - OIDCの文脈では、 RP内でのみ一意になる識別子を指す - ほかのRPではこのIDをEntityと紐づけることができない - Personally Identifiable Information (PII) - 特定の人物に直接・間接的に紐づき、実際の人物の識別に用いることができる情報 - 個人情報 - Subject Identifier - 単純に Subject といわれることもある - Issuer にとって特定のコンテキスト、もしくは全体で一意な End-User 識別子 - 詳細は 8. Subject Identifier Types で - Validation - あるものごとの正当性や健全性を確立するためのプロセス - ものごとが「正常な」形式・フォーマットであることが保証される - その値自身が「正しい」かどうかを検証するものではない - Verification - その値自身が「正しい」かどうかを検証する - AuthN - **Auth**e**N**tication - AuthZ - **Auth**ori**Z**ation