작성
·
305
0
답변 1
1
안녕하세요 강사 최일선입니다.
인증서 2개와 개인키 하나가 어떻게 사용되는지 궁금하시군요.
1. 먼저 CA 인증서는 사용자가 정당한 사용자인지 인증하는데 사용됩니다.
다음은 KISA에서 가져온 내용입니다.
"공인인증기관(Certificate Authority : CA)은 전자서명법에 따라 거래사실을 공정하게 관리ㆍ보증할 수 있는 공신력과 인증시스템을 안전하게 구축ㆍ관리할 수 있는 인력, 기술력, 자금력을 갖춘 기관을 말합니다."
2. 클라이언트가 왜 서버의 Certificate와 키를 사용하는지를 물으셧는데 사실 단순합니다. "etcd 권한이 있기 때문에 사용했다"고 보시면 될 듯 합니다. 물론 적절한 권한이 다른 키와 Cert를 사용하셔도 됩니다. 다음 명령을 사용하면 현재 etcd 컨테이너가 어떤 인자로 실행됐는지를 확인할 수 있습니다.
ps -aux | grep -i etcd
감사합니다!
이 인증 방식은 TLS 통신 중에서 MTLS 방식이라고 부르는데요. 구글에 mtls athentication이라고 치면 많이 나옵니다ㅎㅎ
다음 사이트 그림이 잘 그린 것 같아서 첨부드립니다.
https://github.com/smallstep/autocert/blob/master/examples/hello-mtls/README.md
2번은 다음 사이트에 플래그와 /etc/kubernetes/manifests/etcd.yaml 파일에 옵션을 확인하시면 될 것 같습니다. etcd.yaml에는 --cert-file과 --key-file로 전달되는 경로를 확인할 수 있습니다. 이 두 인자는 서버에 사용되는 TLS cert와 key 파일을 전달합니다.
https://etcd.io/docs/v3.2/op-guide/configuration/#security-flags
감사합니다~
답변 감사합니다!
답변주신 내용에도 이해가 안되는데,,
1번 같은 경우 정당한 사용자를 ca인증서로 어떻게 하는걸까요..?
TLS쪽에서 이 서버의 인증서가 CA에서 발급한 정당한 인증서를 확인하는 방법이, CA의 비밀키로 암호화된 인증서가 CA의 공개키로 열릴때 이게 검증되는것으로 알고있는데.. CA.crt 인증서로도 정당한 사용자인지 확인이 가능한지 궁금합니다..
2번은 etcd 권한이 있기때문이라고 말씀해주셨는데,, 여기에 입력한 server.crt는 서버의 인증서구, server.key는 서버의 개인키가 맞는걸까요??