본문 바로가기
BlockChain/Hyperledger Fabric

[Hyperledger Fabric] Identity란?

by 손정빈 2019. 2. 28.
728x90
반응형

Identity


What is an Identity?


블록체인 네트워크의 다양한 Actor에는 Peer, Orderer, Client application, administrators 등이 포함됩니다. 이러한 각 Actor(서비스를 사용할 수 있는 네트워크 내부 또는 외부의 활성요소)는 X.509 디지털 인증서에 캡슐화된 디지털 신월을 가집니다. 이러한 ID는 리소스에 대한 정확한 사용 권한을 결정하고 Actor가 블록체인 네트워크에 있는 정보에 접근하기 때문에 중요합니다.


또한 디지털 신원(ID)는 Fabric이 사용 권한을 결정하는데 사용하는 몇 가지 추가 속성이 있으며 ID 및 관련 속성의 조합에 특수한 이름(주체)가 부여됩니다. 주체는 사용자 ID 또는 그룹 ID와 같지만 Actor의 조직, 조직 단위, 역할 또는 Actor의 특정 ID와 같은 Actor의 신원에 대한 다양한 속성을 포함 할 수 있기에 좀 더 유연하며, 주체에 대한 이야기를 할 때, 주체는 사용 구너한을 결정하는 속성입니다.


확인이 가능한 신원의 경우 신뢰할 수 있는 기관에서 가져와야 합니다. Membership service provider(MSP)는 이 질문에 fabric이 어떻게 달성하는지 보여줍니다. 보다 구체적으로 MSP는 조직의 유효한 ID를 관리 규칙을 정의하는 구성 요소입니다. Fabric의 기본 MSP 구현은 PKI (public key infrastructure) 계층 구조 모델을 채택하여 X.509 인증서를 ID로 사용합니다.



A Simple Secnario to to Explain the Use of an Identity


슈퍼마켓을 방문하여 식료품을 사는 걸 상상해보세요. 계산대에는 Visa, Mastercard 및 AMEX 카드만 허용된다는 표시가 있습니다. 다른 카드로 지불하려고하면 카드가 진짜인지, 당신의 계좌에 충분한 돈이 있는지는 신경쓰지 않고 그냥 받아 들여지지 않습니다.

PKI 인증 기관 및 MSP는 유사한 기능 조합을 제공합니다. PKI는 카드 제공 업체와 같아서 여러 가지 유형의 검증 가능한 ID를 분배하지만 반면에 MSP는 상점에서 사용가능한  카드 제공 업체 목록과 동일하며 매장 지불 네트워크의 신뢰할수 있는 회원(Actor)인지 식별합니다. MSP는 검증 가능한 ID를 블록 체인 네트워크 구성원으로 변환시킵니다.



What are PKIs?


공개키 인프라(PKI)는 네트워크에서 보안 통신을 제공하는 인터넷 기술 모음입니다. HTTPS에 S를 넣은 것 또한 PKI입니다.


PKI의 요소는 디지털 인증서를 당사자 ( 예 : 서비스 사용자, 서비스 제공자 )에게 발행하는 인증 기관으로 구성되며, 디지털 인증서를 사용하여 자신의 환경과 교환하는 메시지에서 자신을 인증합니다. CA의 인증서 해지 목록은 더 이상 유효하지 않는 인증서에 대한 참조로 구성되어 있습니다. 인증서 철회는 여러 가지 이유로 발생할 수 있는데, 예를 들어 인증서와 연관된 암호화 개인 자료가 노출되었을 때 폐기 될 수 있습니다.


블록체인 네트워크는 통신 네트워크 그 이상이지만, 다양한 네트워크 참여자 간의 안전한 통신을 보장하고 블록체인에 게시된 메시지가 올바르게 인증되도록 하기 위해 PKI 표준을 사용합니다. 따라서 PKI의 기본사항을 이해하고 MSP가 중요한 이유를 이애하는 것이 중요합니다.



PKI에는 4가지 핵심 요소가 있습니다.


- 디지털 인증서

- 공개키 및 개인키

- 인증 기관

- 인증성 해지 목록




디지털 인증서


디지털 인증서는 인증서 보유자와 관련된 속성 집합을 보유하고 있는 문서입니다. 가장 일반적인 유형의 인증서는 X.509 표준을 준수하는 인증서로, 당사자의 식별 세부 정볼르 해당 구조로 인코딩 할 수 있습니다.


예를 들어, Mary Morris는 디트로이트에서 미첼 자동차의 제조 부문, 인증서는 SUBJECT의 속성을  C=US, ST=Michigan, L=Detroit, O=Mitchell Cars, OU=Manufautring, CN=Mary Morris / UID=123456으로 가지고 있습니다. Mary의 인증서는 정보 신분증과 유사합니다. Mary에 대한 중요한 사실을 증명할 수 있는 Mary에 대한 정보를 제공합니다. X.509 인증서에는 다른 많은 속성이 있지만 지금은 이것들에 집중하곘습니다.

위 그림은 Mary Morris라는 팀원을 묘사하는 디지털 인증서입니다. Mary는 Subject의 인증 되었으며, 강조 표시된 Subject 테스트는 Mary에 대한 주요 사실들을 보여줍니다. 또한 인증서에는 더 많은 정보가 포함되어 있습니다. 가장 중요한 것은 Mary의 공개 키가 인증서에 배포되는 반면 개인 서명 키는 배포되지 않는다는 것입니다. 이 서명키는 비공개로 유지해야 합니다.


중요한 것은 Mary의 모든 속성을 암호화라는 수학 기법을 사용하여 기록하여 인증서의 변조를 무효화 할 수 있다는 것입니다. 암호화는 Mary가 인증기관(CA)으로 알려진 인증서 발급자를 신뢰하는 한 자신의 신원을 주명하기 위해 다른 사람에게 인증서를 제시 할 수 있게 합니다. CA가 특정 암호화 정보(서명키)를 안전하게 유지하는 한 인증서를 읽는 사람은 Mary에 대한 정보가 변경되지 않음을 확신 할 수 있습니다.



Authentication, Public keys, and Private Keys


인증 및 메시지의 무결성은 통신 보안의 중요한 개념입니다. 인증을 위해서는 메세지를 교환하는 당사자가 특정 메세지를 생성하는 신원을 보증해야 합니다. 메세지가 "무결성"을 가질려면 전송 중에 수정할 수 없다는 의미를 가지게 됩니다. 


전통적인 인증 메커니즘은 이름에서 알 수 있듯이 당사자가 메세지에 디지털 서명을 할 수 있도록한느 디지털 서명에 의존합니다. 디지털 서명은 서명 된 메세지의 무결성을 보장합니다.


기술적으로 말하자면 디지털 서명 메커니즘은 각 당사자가 두 개의 암호로 연결된 키, 즉 널리 사용 가능한 공개키와 인증 앵커 역할을 하고 메세지의 디지털 서명을 생성하는데 사용 되는 개인키를 보유해야 합니다. 디지털 서명 된 메세지를 받은 사람은 첨부 된 서명이 보낸 사람으로 예상된 사람의 공개키에서 유효한지 확인하여 받은 메세지의 원본관 무결성을 확인 할 수 있습니다.


개인키와 공개키 간의 고유 관계는 통신 보안을 가능하게하는 암호화 방법입니다. 키 사이의 고유한 수학적 관계는 개인키를 사용하여 해당 공용키만 일치할 수 있는 매세지의 서명을  생성하고 동일한 메세지에서만 서명을 생성 할 수 있도록 하게합니다.


Certificate Authorities


보다시피 참가자나 노드는 시스템에서 신뢰하는 기관에서 발급한 디지털 신원(ID)를 통해 블록체인 네트워크에 참여 할 수 있습니다. 가장 일반적인 경우 디지털 신원은 X.509표준을 준수하고 CA에서 발급한 암호를 인증 된 디지털 인증서의 형태입니다.


CA는 인터넷 보안 프로토콜의 공통된 부분이며 Symantec (originally Verisign), GeoTrust, DigiCert, GoDaddy 및 Comodo와 같은 인기 있는 프로토콜에 대해 들어 보셨을 것입니다.

인증기관은 다른 참가자들에게 인증서를 배포합니다. 이러한 인증서는 CA에 의해 디지털 서명이 되며 참가자와 참가자의 공개키를 바인딩하게 됩니다. 결과적으로 CA를 신뢰하고 공개키를 알고 있으면 특정 참가자의가 인증서에 포함된 공개키를 바인딩되어 있고, 참가자의 인증서에 대한 CA의 서명을 확인하여 포함 된 속성을 소유하고 있음을 신뢰할 수 있습니다.


인증서는 참가자나 CA의 개인키를 포함하지 않으므로 널리 배포 될 수 있습니다. 따라서 다른 참가자에게 오는 메세지를 인증하기 위해 트러스트 앵커로 사용 할 수 있습니다.

반응형

댓글