우리가 보통 인터넷사이트를 이용할려면 우선 회원가입을 통해 ID와 Password 를 설정한 후
로그인을 통해 해당 사이트에 접속을 하고 있다.
해당 사이트는 사용자가 입력한 ID와 Password를 자신의 서버에 저장되어 있는 사용자의
정보와 대조해서 일치하면 접속을 허용하는 방식인 것이다.
이 ID/Password 인증방식은 지식기반의 인증방식의 하나로 널리 쓰이고 있지만 치명적인
약점 또한 가지고 있다. 사용자의 정보를 각 사이트의 서버에 저장되어 있다는 것이다.
이는 유출의 위험이 항상 있을 수 밖에 없는 구조이다. 물론 암호화 등 다양한 보안조치를 통해
유출의 위험을 줄이고는 있다고 하지만 100% 안전할 수는 없다.
또한 각 사이트마다 ID,Password를 설정해야 하다 보니깐 잊어버리는 경우도 있고, 보통 동일한
ID.Password로 설정하기 때문에 한곳에서 노출되면 전체가 다 노출되는 위험성이 크다.
요즘은 이런 걸 보완하기 위해 네이버/구글/페이스북/카카오 등에서 로그인서비스를 제공하는
데 이를 연합인증(Federated Identity) 이라고 하는데 OpenID, OAuth 등을이용해서 기존에
가입된 소셜미디어 계정으로 다른 사이트나 앱에 로그인 하는 방법이다.
이로 인해서 개별 회원가입을 해야하는 불편함이 확 줄었지만 이 또한 개인정보 유출 및
해킹에서는 자유롭지 못하다. 오히려 특정서비스로의 개인정보 집중화로 인해 대량개인정보유출
사고가 일어날 수 있다.
이러한 문제점은 모두 개인정보가 중앙서버에 저장되어 있기 때문이다. 그래서 나온 개념이
이 DID (Decentralized Identifiers) 즉 분산ID, 탈중앙화 신원확인시스템이다.
간단히 이야기하면 개인정보를 중앙서버에 저장하는 것이 아니라 각 개인이 가지고 있고
각 개인이 가지고 있는 개인정보에 대한 유효성은 블록체인 기술을 이용해서 인증하는 방식이다.
블록체인을 통해 개인정보를 분산저장하고 한쪽에서 이 개인정보를 위조하더라도 나머지 분산
저장된 개인정보와 비교를 통해서 위조여부를 알수 있는 것이다.
이는 자기주권(self-soverign) 의 개념을 도입한 것으로 개인정보를 개인 본인이 보관하는 방법으로
사용자는 블록체인에 자기 개인정보를 올리고 자기 스마트폰에 저장하면 된다.
블록체인ID인증은 다음과 같은 단계로 이루어진다.
1. 사용자는 자신에 대한 인증이 필요한경우 Issuer에게 자신의 증명자료와 요청정보를 제공한다.
(여기서 Issuer 는 지금의 공인인증서 인증기관같은 걸 말한다.)
2. Issuer는 증명자료와 요청정보를 기반으로 Verifiable Claims 를 발급해서 사용자에게 준다.
(이때 Issuer는 증명자료나 요청정보를 따로 저장하지 않는다. ◀◀◀◀이게 핵심!!!!!)
3. 사용자는 Issuer로부터 전달받은 Verifiable Claims 를 자기 스마트폰에 저장한다.
4. 사용자는 은행사이트 로그인 시 이 Verifiable Claims를 제출한다.
5. 은행사이트는 사용자가 제출한 Verifiable Claims 를 블록체인에서 비교 검사해서
위조여부를 검사한 후 로그인을 허용한다.
(DID는 결국 블록체인의 DLT (Distributed Ledger Technology) 상에서 신원을 확인하는데
사용되는 식별자 역할을 하는 셈이다)
● DID 구성도와 기술요소
< 출처 : 118회 정보관리기술사 두드리 동기회 >
Digital Wallet (전자지갑) | DID를 개인이 저장할 수 있는 지갑으로 DKMS 을 이용한다. ▶ DKMS : DID 즉 사설키를 저장관리하는 표준 블록체인의 분산원장을 통해 검증 |
DKMS (Decentralized Key Management System) | DID 즉 사설키를 저장관리하는 공개표준 |
DID Auth (본인인증 | Digital Wallet에 있는 DKMS에 저장된 키 기반 본인인증 외부에 정보요청, 전달, 거래 등 수행 |
Verify Credential | 본인 인증을 위해 상대방에게 증명서(DID) 제출 |
Peer | 거래 상대방으로 제출받은 증명서(DID)를 블록체인 분산원장 을 통해 검증한다. |
Issue Credential | 거래 상대방이 증명이 되었다는 결과를 사용자에게 전달 |
● DID 와 공인인증서 방식 비교
구분 | 공인인증서 | DID |
개념 | 중앙집중형 분산인증 | 블록체인 기반 탈중앙화 신원확인시스템 |
신원관리주체 | 서비스제공자 | 이용자 본인 |
특징 | 개인정보를 중앙서버에 저장 | 개인정보는 중앙서버에 저장되지 않고 개인 본인이 자기한테 저장 |
보안 | 중앙서버가 실패 단일점 중앙서버의 데이터 유출가능 |
블록체인 원장에 분산저장되어 무결성및 위조 불가 |
확장성 | 서버가 추가되면서 신뢰관계 구축이 필요해서 확장성낮음 |
노드 추가를 통해 블록체인 원장에 쉽게 확장 가능 |
기술요소 | SSL/TLS, SAML, OAuth, PKI | DID, DLT, DKMS, Digial Wallet, 블록체인 |
'디지털서비스' 카테고리의 다른 글
머클트리(Merkle Tree) (0) | 2019.09.19 |
---|---|
Data Lake - 데이터 단일 저장소 (0) | 2019.09.09 |
망중립성 (Network Neutrality) (0) | 2019.09.08 |
제로레이팅 (Zero Rating) (0) | 2019.09.06 |
도커(Docker) (0) | 2019.09.05 |