Skip to main content

TLS (Transport Layer Security)

TLS (전송 계층 보안) 는 컴퓨터 네트워크 통신 시 도청과 변조를 방지하기 위해 설계된 암호화 프로토콜입니다.

웹사이트 주소가 https://로 시작할 때 사용되는 기술이며, 결제 정보를 포함한 모든 민감한 데이터 전송의 국제 표준입니다.


🆚 TLS와 SSL의 차이점

흔히 'SSL 인증서' 라고 부르지만, 기술적으로 SSL(Secure Sockets Layer) 은 TLS의 오래된 조상입니다.

구분SSL (Secure Sockets Layer)TLS (Transport Layer Security)
개발Netscape사 (1995년)IETF 표준화 기구 (1999년~)
버전1.0, 2.0, 3.01.0, 1.1, 1.2, 1.3
상태⛔ 사용 중단 (Deprecated)✅ 현재 표준
보안성취약점 존재 (POODLE 등)강력한 암호화 알고리즘 지원
💡 왜 아직도 SSL이라고 부르나요?

SSL이라는 명칭이 워낙 오랫동안 굳어져서, 업계에서는 관습적으로 **'SSL'**이라고 부릅니다. 하지만 실제 통신은 99% 이상 TLS 프로토콜을 통해 이루어집니다.


🤝 작동 원리 (Handshake)

클라이언트와 서버는 본격적인 통신 전에 '핸드셰이크(Handshake)' 과정을 통해 암호화 규칙을 합의합니다.


⚠️ 결제 연동 개발자 필독

금융 보안 규정 및 PCI-DSS 표준에 따라, TLS 1.1 이하 버전은 보안 취약점으로 인해 사용이 금지되었습니다.

📌 TLS 1.2 이상 필수 지원

KICC를 포함한 모든 결제 API는 TLS 1.2 이상의 프로토콜로만 접속을 허용합니다.

  • 오류 증상:
    • 구형 서버(Java 6, Windows Server 2008 등)에서 API 호출 시 Handshake Failure 또는 Connection Reset 오류 발생.
  • 해결 방법:
    • Java: JDK 1.8 이상 사용 권장 (JDK 1.7은 별도 옵션 필요).
    • Server: OS 및 OpenSSL 라이브러리를 최신 버전으로 업데이트.
차단 경고

SSLv3, TLS 1.0, TLS 1.1 프로토콜을 사용하는 클라이언트 요청은 방화벽 단계에서 즉시 차단됩니다.