728x90
반응형
구성요소
- 식별자 : ID 사용자 식별
- 속성 : ID 사용자 특징 확인
- 인증 수단 : ID 소유권 확인
- 발행인 : ID 발행인 확인
SSO(Single Sign On, 통합 로그인)
- IdP(Identity Provider) 웹 사이트의 회원정보를 이용하여 RP(Relying Party) 웹사이트로 회원 가입 혹은 로그인할 수 있는 기능
- ex) IdP : 구글 RP : 익스피디아
- 프로토콜
- OAuth(Open Authorization)
- SAML(Security Assertion Markup Language)
- JWT(Json Web Token)
- 디지털 인증서
- 대칭키
- 동일한 키를 사용해서 암/복호화 수행
- 비대칭키
- 비밀키, 공개키라 불리는 서로 다른 키 쌍을 사용해서 암/복호화 수행
- 비밀키로 암호화를 수행하면 데이터 송신자/사용자에 대한 사용자 인증 가능
- 공개키로 암호화를 수행하면 데이터 암호화/원하는 상대한테만 데이터 공개가 가능
- 대칭키
- Hash(일방향 함수)
- sha256 = Data → 256bit Result(64개의 16진수, 개당 4bit)
- 디지털 서명
SSL/TLS
- CA(Ceritificate Authority, 인증기관)의 인증노드 활용 SSL/TLS 프로토콜
-
- 웹 사이트 → 자신의 정보와 공개키 → CA 제출
- CA는 웹사이트가 제출한 정보를 검증한 후 올바른 웹사이트라 판단되면 웹사이트의 정보가 포함된 인증서 정보 생성
- 이후 CA는 자신의 비밀키를 사용하여 웹 사이트의 공개키가 포함된 인증서 정보에 대한 디지털 서명 생성
- 인증서 정보 해시
- a의 결괏값을 CA의 비밀키로 암호화
- CA가 b의 결괏값(CA의 디지털 서명)을 인증서 정보에 추가하여 디지털 인증서 생성
- CA는 웹사이트의 공개키 및 정보와 CA의 서명이 포함된 디지털 인증서를 웹 사이트에게 발행
- 사용자는 웹 브라우저를 통해 웹사이트에 접속
- ‘Client hello’라는 Message 전송, 이때 세션키 생성에 필요한 CR(Client Random)이 포함
- 웹사이트는 ‘Client hello’에 대한 응답으로 ‘Server Hello’와 웹 사이트 디지털 인증서를 사용자에게 전송
- ‘Server hello’에 향후 세션키 생성에 필요한 SR(Server Random)이 포함
- 웹 사이트의 디지털 인증서를 수신한 사용자 웹브라우저는 디지털 인증서에 포함된 CA의 서명을 검증하여 신뢰할 수 있는 CA가 인증서 내용을 보증해 주는지에 대한 진위 판단
- 웹브라우저 - CA 공개키 획득 (대부분 CA의 공개키 내재)
- 획득한 CA의 공개키를 이용하여 인증서에 포함된 서명 복호화
- 디지털 서명 생성 방식 b값을 공개키로 복호화, 결괏값으로 인증서 정보의 해시값 나옴
- 사용자 - 디지털 인증서의 인증서 정보를 CA가 사용했던 것과 동일한 해시 함수를 사용하여 해시. (인증서 정보에 CA가 사용한 해시 함수 명시)
- b와 c가 동일한 결괏값을 출력한다면 해당 디지털 인증서는 신뢰할 수 있는 CA에 의해 검증된 디지털 인증서로 증명
- 디지털 인증서로부터 웹사이트 공개키 획득. 웹사이트의 공개키는 추후 사용자와 웹사이트 간의 실제 통신에 사용되는 동일 세션키(대칭키) 생성을 위한 암호화 용도로 사용
- 사용자와 웹사이트는 세션키 생성을 위한 PS(Premaster Secret)와 MS(Master Secret)를 생성
클라이언트가 46바이트의 난수 생성 + 프로토콜 버전 2바이트 = 48바이트의 PS 생성디지털 서명 생성 방식 - +12. 이후 생성한 PS를 앞서 취득한 웹사이트의 공개키로 암호화하여 웹사이트에 전송
- 웹사이트는 자신의 공개키로 암호화된 데이터를 자신의 비밀키로 복호화하여 PS를 획득
- PS가 무사히 교환되면 사용자와 웹사이트는 앞서 교환했던 CR과 SR을 PS와 합쳐서 MS 생성
- 다시 MS와 CR, SR을 합쳐 세션키 생성
- 사용자와 웹사이트 간에 동일한 세션키 공유 → 이용하여 암호화 통신 가능
반응형
'블록체인 > 자기주권 신원증명 구조 분석서' 카테고리의 다른 글
DID (1) (0) | 2023.07.17 |
---|---|
SSI (0) | 2023.05.25 |