<Hyperledger Fabric : Block Structure>

#5. 패브릭 아이덴티티(1)

ㅁ아이덴티티(Identity)

 

PKI 인증서 기반의 시스템

-패브릭 구성요소인 오더러 피어 유져는 각각의 공개키, 개인키, 인증서가 있기 때문에

-유져는 개인키로 서명.

-피어를 엔도스 해서 트랜잭션을 검증한 후 개인키로 서명.

-오더러 또한 피어에게 배포할 블록을 생성한 후 개인키로 서명.

 

PKI

-공개키 암호화

ㆍ개인키+공개키. 둘 중 하나의 키로 암호화한 데이터는 나머지 키로 복호화 가능.

ㆍ개인키는 만든 이 소유. 절대 비밀 개인키는 데이터 서명에 사용.

ㆍ공개키는 타인에게 알려주는 용도.

 

ㅇ전자서명(Signiture)

-데이터가 위/변조 되지 않았음을 PKI 시스템에서 알려주기 위한 시스템.

(1) 원본의 digest(원본해쉬)를 만듬.

(2) 개인키로 digest를 서명 후 원본에 붙임.

(3) 공개키로 해당 digest를 복호화 함.

(4) 원본을 통해서 만든 digest와 비교하여 검증.

ㆍ피어와 오더러, 블록 안에 각자의 전자서명이 들어있음.

msg digest (메시지 다이제스트 , 원본의 해쉬값) -> 개인키로 암호화 -> 암호화된 digest

 

ㅇ인증서(X.509)

-PKI에서 사용하는 인증서 포맷이 X.509. 공개키를 기본적으로 포함하는 것이 특징.

-인증서에는 발행자, ‘’, 도메인, root ca에 대한 정보(root ca로 부터 받은 게 아닌 경우).

 

-Fabric 인증서

ㆍ인증서 위치 : OrdererOganization 의 하위 폴더에 걸맞는 인증정보들이 들어가 있음.

cryptogen을 사용하여 yaml파일을 소모해서 크립토 관련 메테리얼 만들면 crypto-config 폴더에 들어감.

ㆍ패브릭 샘플스 - 베이직 네트워크 - crypto config - OrdererOganization - example.com - ca - ca.example.com-cert.pem 의 전체내용을 복사하여 https://www.sslshopper.com/certificate-decoder.html 에 올리면 certificate 정보를 볼 수 있음.

keystore- 개인키들. signcerts- 인증서들.

 

 

#6. 패브릭 아이덴티티(2)

MSP(Membership Service Provider)

 

ㅇ패브릭에서의 권한

-ex) 일반적인 웹커뮤니티 까페에서의 유저 레벨에 따른 게시판 권한을 설정해 주는 기능.

-패브릭에서 노드/유저/채널 등등 서로간의 인증, 권한 관리를 해주는 기본적 개념(서비스)

-노드(피어, 오더러, 유져)msp 폴더 내 인증서를 가지고 함.

-채널/네트워크는 크립토젠 등과 같은 여러 가지 방법을 통한 멤버쉽 관리.

-' docker-compoese.yaml ’ 파일 내 노드들의 상태, 어떤 폴더를 가지고 가는 지 있음.

-노드들 서로 간의 인증과 권한 등을 제공해 줌.

 

-실제로 노드들은 msp폴더를 직접 가지고 있어야함.

-피어들이 도커로 띄어질 때 프로세스로 띄어질 때 msp 폴더를 들고 (도커 안으로) 들어가야 함.(도커 안으로)

-) (밸런스 트랜스퍼 예제 중) artifacts - docker-compoese.yaml - “volumes: ~ ” 내용이 가리키는 폴더가

-“ : ” 의 우측 주소(도커) 안으로 들어가는 것임. [ volumes: -(msp위치) : (도커위치) ]

- msp 폴더를 peer가 들고 있게 되는 것임.

 

제이슨포맷 보기 좋게 바꿔주는 사이트 : https://jsonformatter.org/

+ Recent posts