2025.03.18 (화)

  • 맑음속초-0.8℃
  • 구름많음-0.9℃
  • 구름많음철원-0.2℃
  • 구름많음동두천0.8℃
  • 구름조금파주-1.3℃
  • 구름조금대관령-8.9℃
  • 구름많음춘천0.2℃
  • 맑음백령도2.7℃
  • 구름많음북강릉0.3℃
  • 구름많음강릉0.5℃
  • 구름많음동해0.4℃
  • 구름조금서울1.5℃
  • 구름많음인천1.1℃
  • 구름조금원주1.9℃
  • 구름많음울릉도0.5℃
  • 구름많음수원1.4℃
  • 구름많음영월-0.9℃
  • 흐림충주-0.1℃
  • 구름많음서산1.3℃
  • 구름많음울진1.0℃
  • 흐림청주2.5℃
  • 흐림대전1.8℃
  • 흐림추풍령-1.0℃
  • 구름조금안동1.0℃
  • 구름많음상주1.3℃
  • 구름많음포항2.5℃
  • 구름많음군산2.2℃
  • 눈대구3.1℃
  • 흐림전주2.3℃
  • 눈울산1.3℃
  • 맑음창원3.0℃
  • 맑음광주1.7℃
  • 구름많음부산3.5℃
  • 맑음통영2.5℃
  • 구름조금목포2.1℃
  • 맑음여수1.7℃
  • 구름많음흑산도3.1℃
  • 맑음완도2.3℃
  • 구름조금고창1.0℃
  • 맑음순천-0.1℃
  • 구름많음홍성(예)1.8℃
  • 흐림2.9℃
  • 흐림제주4.4℃
  • 흐림고산4.2℃
  • 구름조금성산3.4℃
  • 구름많음서귀포3.7℃
  • 맑음진주2.5℃
  • 구름많음강화0.8℃
  • 구름많음양평2.9℃
  • 구름많음이천2.7℃
  • 구름조금인제-4.2℃
  • 구름조금홍천-0.5℃
  • 흐림태백-3.8℃
  • 구름많음정선군-3.2℃
  • 맑음제천-1.5℃
  • 흐림보은-0.1℃
  • 구름많음천안2.1℃
  • 구름많음보령1.8℃
  • 구름많음부여1.8℃
  • 흐림금산1.0℃
  • 흐림1.5℃
  • 구름많음부안2.8℃
  • 구름많음임실-0.4℃
  • 구름많음정읍1.9℃
  • 구름많음남원0.2℃
  • 흐림장수-1.5℃
  • 구름조금고창군1.5℃
  • 구름조금영광군1.7℃
  • 구름많음김해시3.1℃
  • 맑음순창군0.1℃
  • 구름조금북창원3.5℃
  • 흐림양산시4.6℃
  • 맑음보성군1.6℃
  • 맑음강진군2.2℃
  • 맑음장흥1.4℃
  • 맑음해남2.5℃
  • 맑음고흥1.0℃
  • 맑음의령군2.5℃
  • 구름많음함양군0.7℃
  • 맑음광양시1.4℃
  • 구름많음진도군2.4℃
  • 구름많음봉화-2.3℃
  • 구름조금영주0.9℃
  • 구름많음문경0.7℃
  • 흐림청송군-0.5℃
  • 구름많음영덕1.2℃
  • 구름많음의성3.1℃
  • 구름많음구미1.5℃
  • 구름많음영천1.6℃
  • 구름많음경주시2.0℃
  • 구름많음거창0.5℃
  • 맑음합천3.0℃
  • 흐림밀양3.9℃
  • 맑음산청1.1℃
  • 맑음거제3.2℃
  • 맑음남해2.2℃
  • 구름많음4.4℃
기상청 제공
표준뉴스 로고
[기획-디지털 ID 표준] ⑮산업단체와 포럼 - 오픈ID(OpenID)
  • 해당된 기사를 공유합니다

[기획-디지털 ID 표준] ⑮산업단체와 포럼 - 오픈ID(OpenID)

Korea Digital ID(iNIS) 2(디지털 ID 산업의 발전 전략 [출처=iNIS]).jpg
▲ 디지털 ID 산업의 발전 전략 [출처=iNIS]

 

디지털 ID(Digital Identity) 분야에서 상호운용(interoperable)이 가능하고 안전한 서비스 보장을 위한 표준에 대한 수요가 증가하고 있다. 다양한 표준 조직 및 산업 기관이 활동하는 이유다.

디지털 ID 표준을 개발하는 곳은 유럽표준화기구(European Standardisation Organistions), 국제표준화기구(International Standardisation Organisations), 상업 포럼 및 컨소시엄, 국가기관 등 다양하다.

산업단체와 포럼은 공식적으로 표준화 조직으로 간주되지 않지만 디지털 ID 영역을 포함한 특정 영역에서는 사실상의 표준을 제공하고 있다.

몇몇의 경우 이들 단체들이 추가 비준을 위해 자신들이 생산한 사양을 ISO/IEC, ITU 통신 표준화 부문(ITU-T), ETSI 등 표준 기관에 제출할 수 있다.

이러한 산업단체 및 포럼에는 △인증기관브라우저 포럼(Certification Authority Browser Forum,  CA/Browser Forum) △클라우드 서명 컨소시엄(Cloud Signature Consortium, CSC) △국제자금세탁방지기구(Financial Action Task Force, FATF) △신속온라인인증(Fast Identity Online, FIDO) △국제인터넷표준화기구(Internet Engineering Task Force, IETF) △구조화 정보 표준 개발기구(오아시스)(Organization for the Advancement of Structured Information Standards, OASIS) △오픈ID(OpenID) △SOG-IS(Senior Officials Group-Information Systems Security) △W3C(World Wide Web Consortium) 등이다.

오픈ID(OpenID)는 개인 및 기업의 비영리 국제 표준화 조직으로 OpenID(개방형 표준 및 분산 인증 프로토콜)를 활성화, 홍보, 보호하기 위해 노력하고 있다.

오픈ID 코넥트 코어(OpenID Connect Core)는 핵심 OpenID 기능을 정의하고 있다. OpenID 기능은 OAuth 2.0 기반에 구축된 인증과 최종 사용자에 대한 정보를 전달하기 위한 클레임의 사용이다.

추가적인 기술 사양 문서는 검증 가능한 자격 증명 및 검증 가능한 프리젠테이션의 발급을 확장하기 위해 작성됐다. 또한 OpenID Connect 사용에 대한 보안 및 개인 정보 보호 고려 사항에 대해 설명하고 있다.

아래는 오픈ID가 발행한 'OpenID Connect Core 1.0 incorporating errata set 1' 목차 내용이다.

■ 목차(Table of Contents)

1. Introduction
1.1. Requirements Notation and Conventions
1.2. Terminology
1.3. Overview

2. ID Token

3. Authentication
3.1. Authentication using the Authorization Code Flow
3.1.1. Authorization Code Flow Steps
3.1.2. Authorization Endpoint
3.1.2.1. Authentication Request
3.1.2.2. Authentication Request Validation
3.1.2.3. Authorization Server Authenticates End-User
3.1.2.4. Authorization Server Obtains End-User Consent/Authorization
3.1.2.5. Successful Authentication Response
3.1.2.6. Authentication Error Response
3.1.2.7. Authentication Response Validation
3.1.3. Token Endpoint
3.1.3.1. Token Request
3.1.3.2. Token Request Validation
3.1.3.3. Successful Token Response
3.1.3.4. Token Error Response
3.1.3.5. Token Response Validation
3.1.3.6. ID Token
3.1.3.7. ID Token Validation
3.1.3.8. Access Token Validation
3.2. Authentication using the Implicit Flow
3.2.1. Implicit Flow Steps
3.2.2. Authorization Endpoint
3.2.2.1. Authentication Request
3.2.2.2. Authentication Request Validation
3.2.2.3. Authorization Server Authenticates End-User
3.2.2.4. Authorization Server Obtains End-User Consent/Authorization
3.2.2.5. Successful Authentication Response
3.2.2.6. Authentication Error Response
3.2.2.7. Redirect URI Fragment Handling
3.2.2.8. Authentication Response Validation
3.2.2.9. Access Token Validation
3.2.2.10. ID Token
3.2.2.11. ID Token Validation
3.3. Authentication using the Hybrid Flow
3.3.1. Hybrid Flow Steps
3.3.2. Authorization Endpoint
3.3.2.1. Authentication Request
3.3.2.2. Authentication Request Validation
3.3.2.3. Authorization Server Authenticates End-User
3.3.2.4. Authorization Server Obtains End-User Consent/Authorization
3.3.2.5. Successful Authentication Response
3.3.2.6. Authentication Error Response
3.3.2.7. Redirect URI Fragment Handling
3.3.2.8. Authentication Response Validation
3.3.2.9. Access Token Validation
3.3.2.10. Authorization Code Validation
3.3.2.11. ID Token
3.3.2.12. ID Token Validation
3.3.3. Token Endpoint
3.3.3.1. Token Request
3.3.3.2. Token Request Validation
3.3.3.3. Successful Token Response
3.3.3.4. Token Error Response
3.3.3.5. Token Response Validation
3.3.3.6. ID Token
3.3.3.7. ID Token Validation
3.3.3.8. Access Token
3.3.3.9. Access Token Validation

4. Initiating Login from a Third Party

5. Claims
5.1. Standard Claims
5.1.1. Address Claim
5.1.2. Additional Claims
5.2. Claims Languages and Scripts
5.3. UserInfo Endpoint
5.3.1. UserInfo Request
5.3.2. Successful UserInfo Response
5.3.3. UserInfo Error Response
5.3.4. UserInfo Response Validation
5.4. Requesting Claims using Scope Values
5.5. Requesting Claims using the "claims" Request Parameter
5.5.1. Individual Claims Requests
5.5.1.1. Requesting the "acr" Claim
5.5.2. Languages and Scripts for Individual Claims
5.6. Claim Types
5.6.1. Normal Claims
5.6.2. Aggregated and Distributed Claims
5.6.2.1. Example of Aggregated Claims
5.6.2.2. Example of Distributed Claims
5.7. Claim Stability and Uniqueness

6. Passing Request Parameters as JWTs
6.1. Passing a Request Object by Value
6.1.1. Request using the "request" Request Parameter
6.2. Passing a Request Object by Reference
6.2.1. URL Referencing the Request Object
6.2.2. Request using the "request_uri" Request Parameter
6.2.3. Authorization Server Fetches Request Object
6.2.4. "request_uri" Rationale
6.3. Validating JWT-Based Requests
6.3.1. Encrypted Request Object
6.3.2. Signed Request Object
6.3.3. Request Parameter Assembly and Validation

7. Self-Issued OpenID Provider
7.1. Self-Issued OpenID Provider Discovery
7.2. Self-Issued OpenID Provider Registration
7.2.1. Providing Information with the "registration" Request Parameter
7.3. Self-Issued OpenID Provider Request
7.4. Self-Issued OpenID Provider Response
7.5. Self-Issued ID Token Validation

8. Subject Identifier Types
8.1. Pairwise Identifier Algorithm

9. Client Authentication

10. Signatures and Encryption
10.1. Signing
10.1.1. Rotation of Asymmetric Signing Keys
10.2. Encryption
10.2.1. Rotation of Asymmetric Encryption Keys

11. Offline Access

12. Using Refresh Tokens
12.1. Refresh Request
12.2. Successful Refresh Response
12.3. Refresh Error Response

13. Serializations
13.1. Query String Serialization
13.2. Form Serialization
13.3. JSON Serialization

14. String Operations

15. Implementation Considerations
15.1. Mandatory to Implement Features for All OpenID Providers
15.2. Mandatory to Implement Features for Dynamic OpenID Providers
15.3. Discovery and Registration
15.4. Mandatory to Implement Features for Relying Parties
15.5. Implementation Notes
15.5.1. Authorization Code Implementation Notes
15.5.2. Nonce Implementation Notes
15.5.3. Redirect URI Fragment Handling Implementation Notes
15.6. Compatibility Notes
15.6.1. Pre-Final IETF Specifications
15.6.2. Google "iss" Value
15.7. Related Specifications and Implementer's Guides

16. Security Considerations
16.1. Request Disclosure
16.2. Server Masquerading
16.3. Token Manufacture/Modification
16.4. Access Token Disclosure
16.5. Server Response Disclosure
16.6. Server Response Repudiation
16.7. Request Repudiation
16.8. Access Token Redirect
16.9. Token Reuse
16.10. Eavesdropping or Leaking Authorization Codes (Secondary Authenticator Capture)
16.11. Token Substitution
16.12. Timing Attack
16.13. Other Crypto Related Attacks
16.14. Signing and Encryption Order
16.15. Issuer Identifier
16.16. Implicit Flow Threats
16.17. TLS Requirements
16.18. Lifetimes of Access Tokens and Refresh Tokens
16.19. Symmetric Key Entropy
16.20. Need for Signed Requests
16.21. Need for Encrypted Requests

17. Privacy Considerations
17.1. Personally Identifiable Information
17.2. Data Access Monitoring
17.3. Correlation
17.4. Offline Access

18. IANA Considerations
18.1. JSON Web Token Claims Registration
18.1.1. Registry Contents
18.2. OAuth Parameters Registration
18.2.1. Registry Contents
18.3. OAuth Extensions Error Registration
18.3.1. Registry Contents

19. References
19.1. Normative References
19.2. Informative References

Appendix A. Authorization Examples
A.1. Example using response_type=code
A.2. Example using response_type=id_token
A.3. Example using response_type=id_token token
A.4. Example using response_type=code id_token
A.5. Example using response_type=code token
A.6. Example using response_type=code id_token token
A.7. RSA Key Used in Examples
Appendix B. Acknowledgements
Appendix C. Notices
§ Authors' Addresses









포토

 
모바일 버전으로 보기