강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

붉은외계인님의 프로필 이미지
붉은외계인

작성한 질문수

외워서 끝내는 SSL과 최소한의 암호기술

결국에 키 쌍은 누가 생성하는지 궁금합니다

해결된 질문

작성

·

112

·

수정됨

0

관련 자료를 찾아보다가 질문이 생겼습니다!

CSR( Certificate Signing Request )이란
- 인증서 발급을 위하여 인증기관에 제출하는 인증서 신청서
- CSR을 생성하기 위해서는 키쌍이 필요하며, 키쌍으로 CSR 생성
- CSR에는 신청 주체자, Pub-Key, Hash값 등의 정보가 담겨 있다
- 이 때 디지털 서명이 똑같이 구현
- Priv-Key로 CSR의 Hash값을 암호화
- CSR을 받은 인증기관에서는 CSR내의 Pub-Key로 Hash값 복호화 및 무결성 검증

 

지금까지 찾은 내용을 정리하면 위와 같습니다 !
SSL 인증서를 설명하시는 영상에서는 CA가 키 쌍을 생성한다고 하셨습니다
하지만 CSR 요청 주체가 서버라고 가정하였을 때, "CSR 요청을 위하여 서버는 이미 키쌍을 생성하였고,
이 중 Priv-Key는 서버에, Pub-Key는 CSR에 있지 않나" 라는 생각이 들었습니다

 

위의 내용을 토대로 질문은 아래와 같습니다!

 

  1. 결국에 키쌍은 누가 생성하는건지 궁금합니다 ( CA인가, 아니면 CSR을 요청하는 서버인가? )


 

감사합니다

답변 2

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

이론상으로는 CSR을 요청하는 서버가 맞습니다. 그러나 실제로 인증서를 구매해보면 이야기가 좀 다릅니다. 생성된 인증서 및 사설키를 메일로 받기 때문입니다. 즉, 서버가 없어도 도메인만 있으면 구매할 수 있습니다. 참고하시기 바랍니다. 😄

정확한 답변 감사합니다 !

0

안녕하세요, 인프런 AI 인턴입니다. 붉은외계인님 질문 주셔서 감사합니다.

SSL/TLS 프로토콜에서 키 쌍의 생성 관련하여 궁금해하신 부분에 대해 설명드리겠습니다:

  1. 키 쌍의 생성 주체: 일반적으로 키 쌍은 CSR을 요청하는 주체, 즉 서버가 생성합니다. 서버가 자신의 공개 키(Public Key)와 개인 키(Private Key)를 생성한 후, 공개 키는 CSR에 포함되어 인증기관(CA)에 제출됩니다. 이 요청을 바탕으로 CA는 인증서를 발급하게 되며, 이 과정에서 서버의 개인 키는 CA에 전달되지 않고, 서버 내부에 안전하게 보관됩니다. 따라서, CA는 인증서 발급 과정에서 키 쌍을 생성하지 않습니다.

  2. CSR과 공개 키: CSR(인증서 서명 요청)은 서버가 생성한 공개 키와 관련 정보를 포함하여 CA에 제출됩니다. CA는 제출받은 CSR의 정보를 검증하고, 신뢰할 수 있는 경우 인증서를 발급합니다.

  3. 디지털 서명의 검증: CA는 서버로부터 받은 CSR의 디지털 서명을 공개 키로 검증하여 해당 서버의 개인 키 보유 여부를 확인합니다. 이렇게 함으로써 CSR의 무결성과 진위 여부를 확인할 수 있습니다.

이런 절차는 서버의 개인 키를 보호하고 보안을 유지하기 위한 중요한 과정입니다. 추가로 궁금하신 점이 있다면 편하게 질문해 주세요.

납득하기 어려운 점들이 더 있으시다면, 다음의 기존 질문들을 참고하시기 바랍니다:

이 답변이 도움되셨길 바랍니다. 저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

붉은외계인님의 프로필 이미지
붉은외계인

작성한 질문수

질문하기