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.0 | 1.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 6, Windows Server 2008 등)에서 API 호출 시
- 해결 방법:
- Java: JDK 1.8 이상 사용 권장 (JDK 1.7은 별도 옵션 필요).
- Server: OS 및 OpenSSL 라이브러리를 최신 버전으로 업데이트.
차단 경고
SSLv3, TLS 1.0, TLS 1.1 프로토콜을 사용하는 클라이언트 요청은 방화벽 단계에서 즉시 차단됩니다.