program story

양방향 SSL 설명

inputbox 2020. 11. 1. 17:42
반응형

양방향 SSL 설명


양방향 SSL이 작동하는 방식에 대해 다소 혼란 스럽습니다. 클라이언트는 서버로 보낼 인증서를 어떻게 생성합니까? 서버에서 생성되어 클라이언트에 배포됩니까?

또한 단방향 SSL보다 양방향 SSL의 장점은 무엇입니까?


연결 전에 두 인증서가 모두 있어야합니다. 일반적으로 인증 기관에서 생성합니다 (반드시 동일하지는 않음). (검증이 다르게 수행 될 수있는 대체 사례가 있지만 일부 검증 필요합니다.)

서버 인증서는 클라이언트가 신뢰하는 CA에서 생성해야하며 RFC 6125에 정의 된 명명 규칙을 따라야합니다 .

클라이언트 인증서는 서버가 신뢰하는 CA에서 만들어야합니다.

신뢰하는 것을 선택하는 것은 각 당사자의 몫입니다.

브라우저 내에서 인증서를 신청하고 CA가 발급 한 후에 설치할 수있는 온라인 CA 도구가 있습니다. 클라이언트 인증서 인증을 요청하는 서버에있을 필요는 없습니다.

인증서 배포 및 신뢰 관리는 CA를 통해 구현되는 PKI (공개 키 인프라)의 역할입니다. SSL / TLS 클라이언트 및 서버와 해당 PKI의 사용자.

클라이언트가 클라이언트 인증서 인증을 요청하는 서버에 연결하면 서버는 클라이언트 인증서 요청의 일부로 수락 할 수있는 CA 목록을 보냅니다. 그러면 클라이언트는 원하는 경우 클라이언트 인증서를 보낼 수 있으며 적절한 인증서를 사용할 수 있습니다.

클라이언트 인증서 인증의 주요 이점은 다음과 같습니다.

  • 개인 정보 (개인 키)는 서버로 전송되지 않습니다. 클라이언트는 인증 중에 비밀을 전혀 공개하지 않습니다.
  • 해당 인증서를 가진 사용자를 모르는 서버는 인증서를 발급 한 CA를 신뢰하고 인증서가 유효한 경우 해당 사용자를 계속 인증 할 수 있습니다. 이것은 여권이 사용되는 방식과 매우 유사합니다. 여권을 보여주는 사람을 한 번도 만난 적이 없을 수도 있지만 발급 기관을 신뢰하기 때문에 신원을 그 사람과 연결할 수 있습니다.

클라이언트 인증을위한 클라이언트 인증서의 장점에 관심이 있으 십니까? (Security.SE) .


"양방향 SSL"이라고 부르는 것을 일반적으로 클라이언트 인증서 인증을 사용하는 TLS / SSL이라고합니다.

example.com에 대한 "정상"TLS 연결에서는 클라이언트 만 example.com의 서버와 실제로 통신하고 있는지 확인합니다. 서버는 클라이언트가 누구인지 모릅니다. 서버가 클라이언트를 인증하려는 경우 일반적인 것은 암호를 사용하는 것이므로 클라이언트는 사용자 이름과 암호를 서버에 보내야하지만 이는 내부 프로토콜 (예 : HTTP)의 일부로 TLS 연결 내에서 발생합니다. TLS 프로토콜 자체의 일부입니다. 단점은 암호를 서버로 보내기 때문에 모든 사이트에 대해 별도의 암호가 필요하다는 것입니다. 따라서 예를 들어 PayPal 및 MyPonyForum에서 동일한 암호를 사용하는 경우 MyPonyForum에 로그인 할 때마다이 암호를 MyPonyForum의 서버로 전송하여이 서버의 운영자가이를 가로 채서 PayPal에서 시도하고 귀하의 이름으로 결제 할 수 있습니다. .

클라이언트 인증서 인증은 TLS 연결에서 클라이언트를 인증하는 또 다른 방법을 제공합니다. 비밀번호 로그인과 달리 클라이언트 인증서 인증은 TLS 프로토콜의 일부로 지정됩니다. 클라이언트가 서버를 인증하는 방식과 유사하게 작동합니다. 클라이언트는 공개 개인 키 쌍을 생성하고 서명을 위해 공개 키를 신뢰할 수있는 CA에 제출합니다. CA는 클라이언트를 인증하는 데 사용할 수있는 클라이언트 인증서를 반환합니다. 클라이언트는 이제 동일한 인증서를 사용하여 다른 서버에 인증 할 수 있습니다 (즉, PayPal 및 MyPonyForum에 대해 동일한 인증서를 악용 할 위험없이 사용할 수 있음). 작동 방식은 서버가 인증서를 보낸 후 클라이언트에게 인증서를 제공하도록 요청하는 것입니다. 그런 다음 일부 공개 키 마술이 발생합니다 (세부 정보를 읽고 싶다면RFC 5246 ) 이제 클라이언트는 올바른 서버와 통신한다는 것을 알고 있고, 서버는 올바른 클라이언트와 통신한다는 것을 알고 있으며 둘 다 연결을 암호화하고 확인하기위한 몇 가지 공통 키 자료를 가지고 있습니다.


양방향 SSL에서 클라이언트는 서버에 디지털 인증서를 요청하고 서버는 클라이언트로부터 동일한 것을 요청합니다. 조금 느리지 만 양방향이므로 더 안전합니다. 일반적으로 우리는 서버가 클라이언트의 신원을 신경 쓰지 않기 때문에 그것을 따르지 않지만 클라이언트는 연결하는 서버의 무결성에 대해 확인해야합니다.

참고 URL : https://stackoverflow.com/questions/10725572/two-way-ssl-clarification

반응형