SSL/TLS 암호화란 무엇인가요?
요약: SSL/TLS는 클라이언트와 서버 간의 통신을 암호화하며, 주로 웹 브라우저와 웹사이트/애플리케이션 간의 통신에 사용됩니다.
SSL/TLS 암호화란 무엇인가요?
SSL(Secure Sockets Layer) 암호화와 이를 대체하는 더욱 현대적이고 안전한 TLS(Transport Layer Security) 암호화는 인터넷이나 컴퓨터 네트워크를 통해 전송되는 데이터를 보호합니다. 이를 통해 공격자(및 인터넷 서비스 제공업체)가 두 노드(일반적으로 사용자의 웹 브라우저와 웹/앱 서버) 간에 교환되는 데이터를 보거나 변조하지 못하도록 방지합니다. 대부분의 웹사이트 소유자와 운영자는 비밀번호, 결제 정보 및 비공개로 간주되는 기타 개인정보와 같은 민감한 데이터의 교환을 보호하기 위해 SSL/TLS를 구현할 의무가 있습니다.
SSL/TLS 암호화는 어떻게 작동하나요?
SSL/TLS는 비대칭 암호화와 대칭 암호화를 모두 사용하여 전송 중인 데이터의 기밀성과 무결성을 보호합니다. 비대칭 암호화는 클라이언트와 서버 간에 안전한 세션을 설정하는 데 사용되며, 대칭 암호화는 보안이 설정된 세션 내에서 데이터를 교환하는 데 사용됩니다.
웹사이트에서 SSL/TLS 암호화를 사용하려면 웹 서버/도메인 이름에 대한 SSL/TLS 인증서가 있어야 합니다. 인증서가 설치되면 클라이언트와 서버는 다음 단계에 따라 암호화 수준을 안전하게 협상할 수 있습니다:
- 클라이언트는 보안 URL(HTTPS…)을 사용하여 서버에 접속합니다.
- 서버는 클라이언트에 인증서와 공개 키를 전송합니다.
- 클라이언트는 신뢰할 수 있는 루트 인증 기관을 통해 인증서가 유효한지 확인합니다.
- 클라이언트와 서버는 양측이 모두 지원할 수 있는 가장 강력한 암호화 방식을 협상합니다.
- 클라이언트는 서버의 공개 키로 세션(비밀) 키를 암호화한 후 서버로 다시 전송합니다.
- 서버는 개인 키로 클라이언트 통신을 복호화하고 세션을 설정합니다.
- 이제 세션 키(대칭 암호화)를 사용하여 클라이언트와 서버 간에 전송되는 데이터를 암호화하고 복호화합니다.
이제 클라이언트와 서버는 HTTPS(SSL/TLS + HTTP)를 사용하여 통신합니다. 웹 브라우저에서는 주소 표시줄의 자물쇠 아이콘을 통해 이를 확인할 수 있습니다. HTTPS는 443번 포트를 통해 작동합니다.
웹사이트를 떠나면 해당 키는 폐기됩니다. 다음에 방문할 때는 새로운 핸드셰이크가 협상되고 새로운 키 세트가 생성됩니다.
SSL/TLS 복호화가 보안에 중요한 이유는 무엇인가요?
SSL/TLS 암호화는 데이터 통신의 기밀성과 무결성을 높여 주므로 보안에 매우 유용합니다. 그러나 공격자도 악성 페이로드를 숨기기 위해 암호화를 사용하므로, 검사를 수행하는 데 복호화된 데이터가 필요한 IDS/IPS, 차세대 방화벽, 보안 웹 게이트웨이(SWG) 등의 검사 도구에는 효과적인 SSL/TLS 복호화가 필요합니다.
데이터를 안전하게 보호하는 도구가 오히려 공격에 악용될 수 있습니다
공격자는 조직이 트래픽을 복호화하고 검사하는 데 어려움을 겪는다는 사실을 알고 있으며, 이를 악용합니다. 공격자는 암호화를 이용해 대부분의 검사 장비를 우회하고 네트워크 내부에 멀웨어를 침투시킬 수 있습니다. 또한 암호화된 데이터 유출은 보안 도구의 감시를 피해 이루어집니다.
많은 보안 검사 장비는 쏟아지는 악성 트래픽을 처리할 수 있도록 확장하는 것조차 어려워하며, 이를 복호화하고 검사한 후 다시 암호화하는 작업은 더더욱 감당하기 어렵습니다. 조직이 데이터를 안전하게 보호하려면 보안 검사 영역을 체계적으로 조정하여 트래픽 흐름, 처리 과정 및 위험을 효율적으로 관리하는 동시에 암호화된 트래픽에 대한 가시성을 높여야 합니다.
자세히 알아보기: SSL 복호화.
