원서 : https://hyperledger-fabric.readthedocs.io/en/release-1.4/enable_tls.html
- Fabric에서는 node간 보안통신을 위해, TLS를 사용합니다.
- (TLS는 '단방향 server 인증' 및 '양방향 server-client 인증' 을 모두 제공합니다.)
- Configuring TLS for peers nodes
- peer-node는 "TLS server" 이자 "TLS client" 입니다.
- "TLS server"인 경우는, '다른 peer-node' or 'application' or 'CLI' 에서 연결되는 경우 입니다.
- "TLS client"인 경우는, '다른 peer-node' or 'orderer' 으로 연결하는 경우 입니다.
- "TLS server"는 아래와 같이 peer configuration 속성을 설정하면 됩니다.
- peer.tls.enabled = true
- peer.tls.cert.file = TLS server 인증서
- peer.tls.key.file = TLS server 개인키
- peer.tls.rootcert.file = root CA 인증서체인
- 디폴트론, peer-node에서 "TLS server"를 활성화 하면~ "TLS client"는 비활성 되는것으로 간주 됩니다.
- 왜냐? "TLS server"는 '다른 peer-node' or 'application' or 'CLI' 의 인증서가 TLS-handshake 과정에서 필요없기때문 입니다.
- "TLS client"는 아마도 아래와 같이 명시적으로 peer configuration 속성을 설정하면 됩니다.
- peer.tls.clientAuthRequired = true
- peer.tls.clientRootCAs.files = root CA 인증서체인
- peer.tls.clientCert.file = TLS client 인증서 (TLS server와 동일해도 됨)
- peer.tls.clientKey.file = TLS client 개인키 (TLS server와 동일해도 됨)
- 물론 peer-node "환경변수" 으로 설정하셔도 됩니다.
- CORE_PEER_TLS_ENABLED
- CORE_PEER_TLS_CERT_FILE
- CORE_PEER_TLS_KEY_FILE
- CORE_PEER_TLS_ROOTCERT_FILE
- CORE_PEER_TLS_CLIENTAUTHREQUIRED
- CORE_PEER_TLS_CLIENTROOTCAS_FILES
- CORE_PEER_TLS_CLIENTCERT_FILE
- CORE_PEER_TLS_CLIENTKEY_FILE
- peer가 channel에 참여하게 되면, channel의 config-block에서 'root CA 인증서체인'을 읽어서~ member 판단을 합니다.
- 그리고 peer는 "TLS client"으로 추가되고, "서버 root CA 데이터구조"에도 추가 됩니다.
- 이렇게 되어, peer는 다른 peer 이나 orderer 와 원활하게 TLS 보안통신을 할수있게됩니다.
- Configuring TLS for orderer nodes
- "TLS server"는 아래와 같이 orderer configuration 속성을 설정하면 됩니다.
- General.TLS.Enabled =
- General.TLS.PrivateKey =
- General.TLS.Certificate =
- General.TLS.RootCAs =
- "TLS client"는 아마도 아래와 같이 명시적으로 orderer configuration 속성을 설정하면 됩니다. (디폴트 비활성화)
- General.TLS.ClientAuthRequired =
- General.TLS.ClientRootCAs =
- 마찬가지로 orderer-node "환경변수" 으로 설정하셔도 됩니다.
- ORDERER_GENERAL_TLS_ENABLED
- ORDERER_GENERAL_TLS_PRIVATEKEY
- ORDERER_GENERAL_TLS_CERTIFICATE
- ORDERER_GENERAL_TLS_ROOTCAS
- ORDERER_GENERAL_TLS_CLIENTAUTHREQUIRED
- ORDERER_GENERAL_TLS_CLIENTROOTCAS
- "TLS server"는 아래와 같이 orderer configuration 속성을 설정하면 됩니다.
- Configuring TLS for the peer CLI
- CLI 사용시, TLS 옵션 설정입니다.
- ...
- Debugging TLS issues
- ...
-끝-
'hyperledger > fabDoc.Ops-Guides' 카테고리의 다른 글
The Operations Service (0) | 2019.08.03 |
---|---|
Access Control Lists (ACL) (0) | 2019.08.03 |
Pluggable transaction endorsement and validation (0) | 2019.08.03 |
Endorsement policies (0) | 2019.08.03 |
Channel Configuration (configtx) (0) | 2019.08.03 |