전송 계층 보안(Transport Layer Security, TLS) 과 보안 소켓 레이어(Secure Sockets Layer, SSL)은 암호 규약이다.
이 규약은 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보 해준다.
이 규약은 웹 브라우징, 전자 메일, 인스턴트 메신저, voice-over-IP(VoIP) 같은 응용 부분에 적용되고 있다.
TLS는 국제 인터넷 표준화 기구(Internet Engineering Task Force, IETF) 표준 규약이다.
-------------------------------------------------------------------------------------------------------------------
TLS는 클라이언트/서버 응용 프로그램이 네트워크로 통신을 하는 과정에서 도청, 간섭, 위조를 방지하기 위해 설계되었다.
또한 암호화를 해서 최종단의 인증, 통신 기밀성을 유지시켜준다.
TLS의 3단계 기본 절차:
1. 지원 가능한 알고리즘 서로 교환
2. 키 교환, 인증
3. 대칭키 암호로 암호화하고 메시지 인증
첫 단계에서 서버와 클라이언트는 암호 스위트(Cipher Suites)를 교환한다. 이 단계에서 키 교환와 인증에 사용될 암호화 방법, 메시지 인증 코드(MAC)가 결정된다. 키 교환과 인증 알고리즘은 공개키 방법을 사용하거나 미리 공유된 키(TLS-PSK)를 사용 할 수도 있다. 메시지 인증 코드들은 HMAC해시 함수로 만든다. SSL에서는 비표준 무작위 함수를 사용한다.
일반적인 알고리즘:
- 키교환 : RSA, Diffie-Hellman, ECDH, SRP, PSK
- 인증 : RSA, DSA, ECDSA
- 대칭키 암호 : RC4, 트리플 DES, AES, IDEA, DES, Camelia, (Old Version SSL - > RC2)
- 해시함수 : TLS에서는 HMAC-MD5 or HMAC-SHA
SSL에서는 MD5와 SHA.(Old Version SSL-> MD2, MD4)
'Miscellaneous' 카테고리의 다른 글
삼성전자 하만 카돈(Harman Kardon) 인수, 그리고 LG의 미래는? (0) | 2016.11.15 |
---|---|
뜬금 : Framework 와 Library의 차이에 대하여... (0) | 2016.09.23 |
BLE(Bluetooth Low Energy) 이해하기 (0) | 2015.07.09 |
HTML 과 XML의 차이? (0) | 2014.03.24 |
UPNP Stack 및 정리 (0) | 2014.03.24 |