citylabs-study

5일차 study(hyperledger fabric - identity)

seongjin08 2022. 1. 14. 14:06

indentity 란 무엇인가?

 

fabric 은 private block chain 으로 누구나 사용가능한 public blockchain 과 다르게 정해진 사람 또는 기업 만 사용 할 수 있는 

폐쇄형 blockchain 이다. 그럼 fabric 은 그걸 어떻게 확인할까?

 

블록체인 네트위크의 다양한 행위자들은 X.509(공개키 인증서 표준) 에 캡슐화된 디지털 아이디를 가지고 있음.

ID는 자원에 대한 정확한 권한과 행위자가 블록체인 네트워크에서 가지고 있는 정보에 대한 액세스를 결정하기 때문에 중요!

 

 ID 에는  Fabric이 권한을 결정하는 데 사용하는 몇가지 추가 속성이 있으며 ID와 관련 속성의 조합에 principal(주요한) 이라는 이름 부여.

보안 주체 의 권한을 결정하는 속성.

 

MSP(membership service provider) 는 이조직의 유효한 ID를 제어하는 규칙을 정의하는 구성요소.

Fabric의 기본 MSP 구현은 X.509 인증서를 ID로 사용하여 기존 PKI(public Key infrastructure) -공개키 인프라

계층 모델을 채택.

 

ID  시나리오

식료품을 사기위해 마켓을 간다고 상상해보자.

이 마켓에서는 비자 카드만 사용가능 하다는 표기가 있다.

비자 카드가 아닌 다른 카드로 결제를 시도하는 경우 이카드가 돈이 있건 없건 결제가 되지 않는다.

 

이처럼 이상점에서 결제하기 위해서는 비자 카드가 있어야한다.

PIK는 ID목록을 제공 MSP는 네트워크에 참여하는 특정 조직의 구성원인지 알려준다.

 

PKI는 카드 공급자

다양한 유형의 확인 가능한 ID를 제공  

MSP

상점에서 승인한 카드 공급자 목록과 같으며 상점 지불 네트워크의 신뢰할 수 있는 구성원을 결정

MSP는 검증 가능한 신원을 블록체인 네트워크의 구성원으로 바꾼다.

 

MSP ( membership service provider)

인증서를 발급하거나 검증하고 사용자 및 서비스의 신원에 대한 작업과 관련된 일을 한다는 의미

- 주민등록증 발급 기관이라고 생각하면 된다

- 인증서 발급 및 유효성 검사와 사용자의 신원 인증에 필요한 모든 암호화 규칙을 추상화하고 정의한다.

 - 트랜잭션 결과에 서명(보증)할 수 있다.

- 인증 기관(CA)을 사용한다. (기본 인터페이스로 Fabric-CA API가 사용되는데, 외부 CA를 사용할 수 있다.)

- 종류

  • Local MSP(로컬 MSP): 관리 권한이나 참가 권한을 가진 사용자를 로컬 레벨에서 정의한다. -> 모든 사용자나 노드는 정의된 로컬 MSP가 있어야 한다.
  • Channel MSP(채널 MSP): 관리 권한이나 참가 권한을 해당 조직의 구성원이 참여하는 채널 레벨에서 정의한다. -> 채널에는 정의된 채널 MSP가 있어야 한다.
  • 로컬 MSP와 채널 MSP는 동작 방식이 아닌 동작 범위의 차이점이 있다.

 

 

PKI 란 무엇인가?

PKI 는 네트워크에서 보안 통신을 제공하는 인터넷 기술 모음

HTTPS 에서 S 를 넣은것도 PKI

PKI 디지털 증명서의 생성, 관리, 배포, 사용, 저장 및 파기, 공개키 암호화의 관리에 필요한 역할, 정책 등 일련의 절차들을 집합한 것이다.

데이터를 암호화하는 방법은 크게 공개키(비대칭키)와 비밀키(대칭키) 방식으로 구분할 수 있다. 비밀키 암호 시스템이 송수신자 양측에서 똑같은 비밀키를 공유하는데 반해 공개키는 암호화와 복호화키가 다르다. 따라서 공개키 방식은 데이터를 암호화하고 이를 다시 복원하는 열쇠가 다르기 때문에 거의 완벽한 데이터 보안이 가능하고 정보 유출의 가능성은 현저히 낮아진다.

 

PKI의 핵심 요소 

- 디지털 인증서

- 공개 및 개인 키

- 인증 기관

- 인증서 해지 목록

 

디지털 인증서

소유자와 관련된 속성 집합을 보유하는 문서.

mary morris 를 설명하는 디지털 인증서다. 

mary 의 공개키는 인증서 내에서는 배포되지만, 그녀의 개인 서명키는 배포되지 않는다.

서명키는 비공개로 유지

CA가 개인 서명키를 안전하게 유지 함으로 인증서는 변조 되지 않았음을 확인 할 수있다.

 

 

인증 ,  공개 키 및 개인 키

인증 및 메시지 의 무결성은 보안 통신에서 중요한 개념.

기존 인증 매커니즘은 당사자가 메세지에 디지털 서명을 할 수 있도록 하는 디지털 서명에 의존.

 

디지털 서명 매커니즘은 각 당사자가 두개의 암호화 키를 보유

널리 사용 가능하고 인증 앵커 역할을 하는 공개키 와 메시지에 디지털 서명을 생성하는 데 사용되는 개인키

 

디지털 서명된 메시지의 수신자는 첨부된 서명이 발신자의 공개키에서 유효한지 확인하여 수신된 메시지의 출처와 무결성을 확인할 수 있다.

 

 

인증 기관

 

디지털 ID를 통해 블록체인 네트워크에 참여 할 수 있다.

디지털 아이티는 X.509 표준을 준수 하고 CA에서 발행하는 검증된 디지털 인증서 다.

블록체인 환경에서 네트워크와 상호작욕하려는 모든 행위자는 ID 가 필요 .

 

 

루트 CA, 중간 CA 및 신뢰 관계

 

CA 는 루트 CA 와 중간 CA 의 두가지 유형으로 제공됨.

 

제일 위의 Root CA 는 스스로 인증을 하며, 그 아래 CA들은 그 부모(상위) CA에 의해서 인증된다. 

 

인증서 해지 목록 - CRL(Certificate Revocation List) 

 

상점 시나리오 에서 CRL은 도난당한 신용카드 목록 과 같다.

제 3자가 다른 사람의 신원을 확인 하려고 할 때 CA의 CRL을 확인하여 인증서가 해지되지 않았는지 먼저 확인한다.

손상된 ID를 수락하지 않기 위한 check

'citylabs-study' 카테고리의 다른 글

7일차 study (hyperledger indy)  (0) 2022.01.18
6일차 study(용어 및 스터디 내용 점검)  (0) 2022.01.17
4일차 study (hyperledger fabric)  (0) 2022.01.13
4일차 (신입 OJT)  (0) 2022.01.13
3일차 study (middl block 및 DID)  (0) 2022.01.12