#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/
'Hyper_Ledger > 자습실' 카테고리의 다른 글
[dapp campus / 개념] #8. 패브릭 가십 프로토콜 (0) | 2019.11.20 |
---|---|
[dapp campus / 개념] #7. 패브릭 채널 (0) | 2019.11.20 |
[dapp campus / 개념] #4. 패브릭 네트워크 세팅 가이드(이론) (0) | 2019.11.19 |
[dapp campus / 개념] #2. 패브릭 Write& Read & #3. 스터디가이드 (0) | 2019.11.19 |
[dapp campus / 개념] #1. 패브릭 구조 (0) | 2019.11.19 |