본문 바로가기

yedam

SSL(Secure Sockets Layer) 보안 방식의 정의와 작동방식 보안의 특징

SSL(Secure Sockets Layer)은 웹 서버와 클라이언트(브라우저) 간의 데이터 전송을 암호화하여 보안을 제공하는 프로토콜입니다. SSL은 주로 웹사이트와 사용자 간의 정보 보호, 특히 금융 거래와 개인정보를 보호하는 데 사용됩니다. 1990년대 중반 넷스케이프에서 개발되었고, 현재는 TLS(Transport Layer Security)라는 이름으로 진화하였지만, 여전히 SSL이라는 용어가 널리 사용되고 있습니다.

SSL의 작동 방식

1. 핸드셰이크(Handshake): SSL/TLS 통신은 '핸드셰이크'라는 초기 과정을 통해 시작됩니다. 클라이언트(예: 웹 브라우저)는 서버와 연결할 때 먼저 통신할 프로토콜 버전, 암호화 방식, 인증서를 요청합니다. 이때 서버는 자신의 SSL 인증서를 클라이언트에게 전송합니다. 인증서에는 서버의 공개키와 서버의 정보를 포함하고 있으며, 이를 통해 서버의 신원을 확인할 수 있습니다.


2. 서버 인증: 클라이언트는 서버의 인증서를 받은 후, 인증서의 유효성을 검사합니다. 이때 인증서가 신뢰할 수 있는 인증기관(CA)으로부터 발급되었는지, 만료되지 않았는지, 도메인 이름과 일치하는지 등을 확인합니다. 인증이 완료되면 안전한 통신을 위한 암호화 방식이 설정됩니다.


3. 비밀키 교환: 클라이언트와 서버는 비대칭 키 암호화 방식(공개키 암호화)을 사용하여 세션 키를 안전하게 교환합니다. 이때 클라이언트는 서버의 공개키를 사용해 세션 키를 암호화하여 전송합니다. 서버는 자신의 개인키로 이를 복호화하여 세션 키를 얻고, 양측은 이 세션 키를 사용해 대칭 키 암호화로 빠르고 효율적으로 데이터를 암호화하고 복호화합니다.


4. 암호화된 데이터 전송: 세션 키가 설정되면, 그 이후의 데이터 전송은 이 대칭 키 암호화 방식을 사용하여 이루어집니다. 이렇게 함으로써, 데이터를 중간에서 가로채더라도 해독할 수 없게 됩니다.


5. 연결 종료: 세션 종료 시, 연결을 안전하게 종료하는 절차가 필요합니다. 이때, 양측은 세션을 종료하고 연결을 닫기 위한 메시지를 교환합니다.



SSL 보안의 특징

1. 데이터 암호화: SSL은 클라이언트와 서버 간의 데이터가 제3자에 의해 가로채지 않도록 암호화합니다. 이를 통해 데이터가 안전하게 전송됩니다.


2. 서버 인증: SSL을 통해 클라이언트는 연결하려는 서버의 신뢰성을 확인할 수 있습니다. SSL 인증서가 서버의 신원을 확인해주며, 이를 통해 클라이언트는 피싱 사이트나 악성 서버에 연결되는 위험을 줄일 수 있습니다.


3. 데이터 무결성: SSL은 데이터 전송 중에 데이터가 변경되거나 손상되지 않도록 보호합니다. SSL은 전송 중 데이터의 무결성을 검증하는 기술(예: 해시 함수)을 사용하여 무단 변경을 방지합니다.


4. 신뢰성: SSL 인증서는 공인된 인증기관(CA)에서 발급되어야 하며, 이를 통해 웹사이트가 실제로 신뢰할 수 있는 곳인지 확인할 수 있습니다. 브라우저는 이러한 인증서를 통해 사용자에게 보안 경고를 표시하지 않으며, 사이트에 대한 신뢰를 제공합니다.



요약

SSL은 웹사이트와 사용자 간의 데이터를 안전하게 암호화하고, 중간자 공격 및 데이터 도청을 방지합니다. 이를 통해 사용자에게 안전하고 신뢰할 수 있는 인터넷 환경을 제공합니다.