SSL(Secure Sockets Layer, 시큐어 소켓 레이어)은 네트워크를 통해 파일을 안전하게 전송하기 위한 표준 보안 프로토콜입니다. 넷스케이프(Netscape)가 개발한 이 기술은 웹 서버와 브라우저 사이에 암호화된 보안 연결을 만들어, 데이터가 외부에 노출되거나 변조되지 않고 기밀성과 무결성을 유지한 채 전송되도록 보장합니다. SSL은 통신을 위해 TCP(전송 제어 프로토콜)를 기반으로 동작합니다.
SSL 인증서란 무엇인가?
웹에서 안전한 거래를 위해 SSL을 사용하려면 웹 서버에 SSL 인증서가 설치되어 있어야 합니다. SSL은 전송 계층 위에서 네트워크 연결 구간을 암호화하며, 응용 프로그램 계층과 전송 계층 사이에서 보안 기능을 수행합니다.
비대칭 암호화 방식
SSL은 비대칭 암호화(asymmetric cryptography) 방식을 따릅니다. 이 방식에서는 인터넷 브라우저가 공개키(public key)와 개인키(private key) 한 쌍을 생성합니다. 공개키는 CSR(Certificate Signing Request, 인증서 서명 요청)이라는 데이터 파일에 담겨 인증기관에 제출되며, 개인키는 오직 메시지 수신자만 알 수 있도록 비밀리에 보관됩니다.
두 개의 키로 이루어진 암호화 시스템
SSL이 사용하는 암호화 시스템은 두 개의 키를 활용해 데이터를 암호화합니다. 하나는 모든 사람에게 공개되는 공개키이고, 다른 하나는 메시지 수신자만 아는 개인키(비밀키)입니다. 일부 웹 브라우저는 SSL과 그 후속 기술인 TLS를 지원하며, 많은 웹사이트가 신용카드 번호와 같은 기밀 사용자 정보를 안전하게 수집하기 위해 이 프로토콜을 활용합니다. 관례상 SSL 연결이 필요한 URL은 http 대신 https로 시작합니다.
SSL 핸드셰이크: 3단계 보안 연결 과정
SSL은 TCP 연결 위에서 3단계 핸드셰이크(handshake) 절차를 통해 보안 세션을 설정합니다.
- 1단계 – 서버 인증 요청: 브라우저가 웹사이트에 접속을 시도하면, 먼저 웹 서버에게 자신의 신원을 확인해 줄 것을 요청합니다. 이에 따라 서버는 브라우저에 SSL 인증서 사본을 전송합니다.
- 2단계 – 인증서 검증: 브라우저는 받은 인증서가 신뢰할 수 있는 것인지 확인하고, 신뢰 가능하다고 판단되면 웹 서버로 검증 완료 메시지를 보냅니다.
- 3단계 – 암호화 세션 시작: 서버는 디지털 서명된 승인 응답을 브라우저에 보내 암호화 세션을 시작합니다. 이후 브라우저와 서버 사이에서 암호화된 정보를 주고받을 수 있으며, 주소창에는 HTTP 대신 HTTPS가 표시됩니다.
SSL이 제공하는 보안 효과
SSL은 두 장치 사이를 오가는 모든 데이터가 제3자에게 노출되지 않고 비공개로 유지된다는 것을 보장합니다. 덕분에 이메일 같은 온라인 통신이나 신용카드 결제 등 금융 거래를 안전하게 보호하는 데 널리 활용됩니다. SSL로 보호되는 웹사이트는 브라우저 주소창에 자물쇠(padlock) 아이콘이 표시되며, URL 접두사도 기존의 HTTP 대신 HTTPS로 나타납니다.
SSL 인증서 발급 절차
SSL 연결을 구축하려면 먼저 공인 인증기관(CA, Certificate Authority)으로부터 SSL 인증서를 구입한 뒤 이를 웹 서버에 연결해야 합니다. 인증기관은 심사 수수료를 청구하므로, 신청자는 인증기관과 협의하고 필요한 서류를 제출해야 합니다. 이 절차가 완료되면 인증기관은 해당 서비스 제공자에게 SSL 사용 권한을 부여합니다. 인증서에는 유효 기간이 있으므로, 만료 전에 반드시 인증기관을 통해 갱신(재승인)받아야 합니다.