콘텐츠로 이동

Definition and Terms

1. 기본 용어

○ DID(Decentralized Identifier)

  • 기존 신원확인 방식과 달리 중앙 시스템에 의해 통제되지 않으며 개개인이 자신의 정보에 완전한 통제권을 갖도록 하는 기술. W3C등에서 표준을 작성하고 있다.
  • Public DID - Public 공개하는 DID. 주로 기관등이 Issuer(발급자)로 DID를 Ledger에 공개한다. Initial에서 일반 사용자(Holder)는 DID를 Ledger에 공개하지 않는다.
  • Pairwise DID - Peer-to-Peer 연결을 위해 Private 생성하는 DID이고 오직 연결 상대에게만 공개한다. 매번 연결하다 Pairwise DID가 생성된다.

○ Issuer

  • VC/증명서등을 발행하는 주체. 주로 신뢰성 있는 기관들이 해당되며 Issuer로 참여하기 위해서는 Blockchain ledger에 등록할 수 있는 권한(Endorser)을 관리자로 부터 획득해야 한다.

○ Verifier

  • Holder가 제출하는 VC를 검증하는 주체.

○ Holder

  • VC를 보관하고 제출하는 Self Sovereign을 담당하는 주체.

○ Peer

  • Issuer,Verifier,Holder등은 DID 환경에서 모두 동일한 peer에 해당한다.

○ VC(Verifiable Credential)

  • Issuer(발급자)가 발행한 검증이 가능한 증명서.
  • e.g)신분증, 출입증, 학생증, 계좌증명서등.

○ Schema

  • Credential의 기본 Template. 권한이 있는 Issuer만 생성 가능하고 Ledger에 기록됨.
  • Ledger에 등록된 Schema는 모든 Issuer들이 사용 가능함.

○ Credential Definition

  • 이미 생성된 Schema로 부터 VC를 발행하기 위한 최종 설정.
  • Revocation 사용 여부, 총 발행량, 버전 정보등이 Ledger에 기록.
  • 권한이 있는 Issuer만 생성 가능하고, 생성한 Isser 자신만 사용 가능.

○ Wallet

  • 사용자의 중요 정보를 담기 위한 공간.
  • Initial에서 Wallet은 Secret Key 뿐만 아니라 VC, Connection 정보등 많은 data 저장한다.

2. Keys

DID는 보안 강화를 위해 다양한 종류의 Key들을 사용한다

○ MasterKey

  • Wallet Key을 암호화 하기 위한 Symmetric Encryption Key(chacha20-poly1305)
  • 사용자는 MasterKey를 직접 관리해야 하며, 보안 사고시 Rotate key를 통해 변경를 해야 한다.

○ Wallet Key

  • Wallet의 실제 data를 암호화 할때 사용하는 Symmetric Encryption Key(chacha20-poly1305).
  • MasterKey에 의해서 암호화 되어, Wallet의 Metadata 영역에 저장/관리 된다
  • Wallet key는 총 7개의 Key로 구성되어 있다

○ DID Key

  • DID를 사용하기 위한 Asymmetric Key로 Wallet에 저장되어 있음(ed25519)있고 Digital Sign, Public Key Encryption에 사용함.
  • Pairwise DID Key : 상대방과 연결(Connection)에서만 사용하는 DID. Private DID라고 불리기도 함.
  • Enterprise DID (Issuer DID) : Blockchain Ledger에 접근하기 위한 용도의 DID. Ledger 접근하기 위해 Trustee, Steward, Endorser 권한이 있으며, Transaction을 발생할 수 있다. 권한이 없는 사용자는 Read만 가능하다.

○ VerKey

  • verification key. 공개키로 public key와 동일한 개념이다.
  • DID와 같이 공개된 정보이나, 비밀키 유출 시 rotate-key를 통해 DID는 유지하면서 VerKey를 변경할 수 있다.

3. Agency 용어

○ Agency

  • Agent to Agent 메시징 기본 개념은 중개자(Mediator) 및 중계(Relay)의 요소가 존재하고, Peer(Issuer,Verifier,Holder) Agent들 간의 연결 및 Message 중계를 위해 Agency가 존재.
  • Initial Platform 기반의 DID 메시지 communication은 모두 SKT Agency를 통해서 동작.

○ Mediator

  • Agency의 역할은 Relayer(단순 메시지 전달), Mediator(Peer의 서버 역할), Full Function(Cloud Wallet등 모든 기능 포함)등으로 구분가능 하다.
  • Mediator는 Message을 encryption 하여 임시 보관하고, Target으로 전달하는 역할하는 능동적인 일을 하지만, 메시지 내용 확인은 불가능 하다.
  • https://github.com/hyperledger/aries-rfcs/blob/master/concepts/0046-mediators-and-relays/README.md

○ Cloud Agent

  • Agency 내부에 Peer를 대신해서 wallet 및 message등을 관리하는 프로그램. Client당 한개의 Agent가 생성된다.

○ Connection Agent

  • 참여자들과 연결마다 생성되는 특별한 용도의 프로그램.

○ Initial Client

  • 이니셜 eco-system의 서비스를 제공 받는 참여자들을 말함. Holder, Issuer, Verifier등 해당. 여기서 서비스 서비스를 제공하는 Server는 Agency를 말함.

4. Web Console

  • Web GUI 기반 DID Agent 동작을 지원하는 서비스

5. Cryptography (암호기법)

  • Initial에서 사용하는 암호기술

○ 영지식증명(ZKP or Zero Knowledger Proof)

  • 내정보를 공개하지 않고, 참/거짓을 판별할 수 있는 기술

○ Accumulator

  • Revocation에서 개인정보를 공개하지 않고 사용되는 수학적 암호 기술