SSL
웹서버와 웹사이트에서 이루어지는 모든 정보전송이 https://로 암호화프로토콜을 통해 안전하게 전송되게 하는 인증서
SSL인증서의 사용목적
스니핑 방지(Sniffing Prevention)
네트워크를 공동으로 쓰는 PC방, 회사, 학교 등에서 간단한 스니핑 툴로 인해 개인정보가 누출 되기 쉽다. 하지만 SSL인증서를 설치하면 모든 정보가 암호화되어 정보가 유출되더라고 안심 할 수 있다.
피싱 방지 (Phishing Prevention)
피싱이란 개인정보와 낚시의 합성어로 개인정보를 낚는다는 의미다.
SSL 보안서버 인증서를 구축한 사이트는 SSL인증서 발급 전 신뢰받은 인증기관에 의해 진짜 사이트임을 검증받는다. 이를 통해 클라이언트의 신뢰를 얻을 수 있다.
데이터변조 방지 (Data Modulation Prevention)
제 3자의 악의적인 개입으로 인하여 데이터 값이 변조될 가능성에 대하여 SSL보안서버 구축을 통해서 봉쇄할 수 있다.
기업 신뢰도 향상 (Improved Business Confidence)
정식으로 기업 실체성 인증을 받고 보안인증마크를 설치함으로써 기업자체에 대한 신뢰성을 향상 시킬 수 있다.
handshake 방법
먼저 클라이언트에서 서버에 ClientHello 메시지를 보낸다. 여기에는 클라이언트에서 가능한 TLS 버전, 서버 도메인, 세션 식별자, 암호 설정 등의 정보가 포함된다.
클라이언트의 메시지를 받은 서버는 ServerHello 메시지를 클라이언트에게 보낸다. 여기에는 ClientHello 메시지의 정보 중 서버에서 사용하기로 선택한 TLS 버전, 세션 식별자, 암호 설정 등의 정보가 포함된다.
서버가 클라이언트에 Certificate 메시지를 보낸다. 여기에는 서버의 인증서가 들어간다. 이 인증서는 별도의 인증 기관에서 발급받은 것이며, 서버가 신뢰할 수 있는 자임을 인증한다. 전송이 끝나면 ServerHelloDone 메시지를 보내 끝났음을 알린다.
클라이언트는 서버에서 받은 인증서를 검증한다. 인증서의 유효 기간이 만료되지 않았는지, 그 인증서가 해당 서버에게 발급된 인증서가 맞는지 등을 확인한다. 인증서를 신뢰할 수 있다고 판단하였다면 다음 단계로 넘어간다.
클라이언트는 임의의 pre-master secret을 생성한 뒤, 서버가 보낸 인증서에 포함된 공개 키를 사용해 암호화한다. 이렇게 암호화된 pre-master secret을 ClientKeyExchange 메시지에 포함시켜 서버에 전송한다.
서버는 전송받은 정보를 복호화하여 pre-master secret을 알아낸 뒤, 이 정보를 사용해 master secret을 생성한다. 그 뒤 master secret에서 세션 키를 생성해내며, 이 세션 키는 앞으로 서버와 클라이언트 간의 통신을 암호화하는데 사용할 것이다. 물론 클라이언트 역시 자신이 만들어낸 pre-master secret을 알고 있으므로, 같은 과정을 거쳐 세션 키를 스스로 만들 수 있다.
이제 서버와 클라이언트는 각자 동일한 세션 키를 가지고 있으며, 이를 사용해 대칭 키 암호를 사용하는 통신을 할 수 있다. 따라서 우선 서로에게 ChangeCipherSpec 메시지를 보내 앞으로의 모든 통신 내용은 세션 키를 사용해 암호화해 보낼 것을 알려준 뒤, Finished 메시지를 보내 각자의 핸드셰이킹 과정이 끝났음을 알린다.
이제 서버와 클라이언트 간에 보안 통신이 구성된다.
![]() |
https://www.imperva.com/learn/performance/cdn-and-ssl-tls/
|
SSL 종류
싱글(Single) 인증서
Domain 형식 : www.yourdomain.co.kr
2010년 까지는 호스트 네임의 "www" 여부에 따라 별도의 인증서로 인식하였지만, 2011년 인증기관의 정책이 변경됨에 따라 "www"호스트에 한해 인증서의 DNS Name "www가 있는 도메인과 없는 도메인 모두 인증이 되도록 변경 되었다.
![]() |
https://www.ucert.co.kr/ssl/sslinfo.html
|
글로벌(SGC) 인증서
Domain 형식 : www.yourdomain.co.kr
글로벌(SGC)인증서는 암호화강도가 강제로 256bit까지 끌어올려 암호화되는 인증서이며,형식은 싱글인증서와 같다.
인증기관에서는 SGC 인증서라고 표시하지만, 국내에 들어오면서 글로벌(Global)이라고 이름이 붙여졌다.
![]() |
https://www.ucert.co.kr/ssl/sslinfo.html
|
와일드카드(WildCard) 인증서
Domain 형식 : *.yourdomain.co.kr
일반적으로 호스트네임이 많거나, 추가될 가능성이 있는 경우 많이 사용한다.
서브도메인의 변경에만 사용이 가능하므로, 메인 도메인이 변경되실 경우는 멀티인증서를 구매해야 한다.
![]() |
https://www.ucert.co.kr/ssl/sslinfo.html
|
멀티(MDC) 인증서
Domain 형식 : www.yourdomain.co.kr
www.yourdomain1.co.kr
www.yourdomain2.co.kr
일반적으로 하나의 서버에 여러개의 도메인을 사용하는 호스팅 업체 및 웹솔루션 업체에서 많이 채택하고 있으며, 관리하는 도메인의 개수가 많은 경우 사용한다.
하나의 인증서에 많은 도메인이 등록되기 때문에 설치 시 포트를 별도로 나누지 않아도 되는 장점이 있다.
![]() |
https://www.ucert.co.kr/ssl/sslinfo.html
|
EV(Green Bar) 인증서
Domain 형식 : www.yourdomain.co.kr
https 통신구간에서 주소창이 녹색으로 변하는 인증서이다.
형식은 싱글인증서와 동일하며, 국내에서는 다음, 네이버 등에서 사용하고 있다.
발급시 DNS 등록 등 조건이 까다롭고 가장 강력한 기업실체성 인증으로 인증서가 발급된다.
![]() |
https://www.ucert.co.kr/ssl/sslinfo.html
|
![]() |
https://namu.wiki/w/TLS
|






