arakene.log
로그인
arakene.log
로그인
SSL / TLS
Arakene
·
2021년 12월 10일
팔로우
0
간단 정리
SSL(Secure Socket Layer) 및 TLS(Transport Layer Security)는 네트워크를 통해 작동하는 서버, 시스템 및 응용프로그램간 전송계층 보안 프로토콜이다.
TCP/IP 네트워크를 사용하는 통신에 적용되며, 전송계층 종단간 보안과 데이터 무결성을 확보해준다.
4 계층(전송계층)과 7 계층(애플리케이션) 사이에서 동작한다.
TLS는 SSL3.0을 기반으로 만들었지만 서로 상호작용은 안된다.
TLS 3단계 절차
지원 가능한 알고리즘 상호 교환
키 교환 및 인증
대칭키 암호로 암호화하고 메세지 인증
일반적인 알고리즘들
키교환 - RSA
인증 - RSA, DSA
대칭키 암호 - 3DES, AES, DES
버전별 차이점
TLSv1.2
key를 유도할 때 사용되는 PRF(Pseudo Random Function)함수가 MD5와 SHA-1 모두 사용 했지만 TLSv1.2부터는 SHA-256만 사용가능하다. 옵션으로 더 강한 방식을 선택할 순 있다.
Finish 메세지에도 hash값 생성 시 MD5-SHA-1 방식에서 SHA-256으로 변경
Authenticated encryption cipher 지원. 주로 AES GCM, CCM mode가 많이 사용됨.
모든 TLS 버전은 SSL과 호환성을 제거하도록 재정의함
TLSv1.3
가장 큰 특징은
강화된 보안
과
향상된 속도
이다.
안전하지 않은 암호화 방식들을 과감하게 제거했다.
RSA key transport — Doesn’t provide forward secrecy
CBC mode ciphers — Responsible for BEAST, and Lucky 13
RC4 stream cipher — Not secure for use in HTTPS
SHA-1 hash function — Deprecated in favor of SHA-2
Arbitrary Diffie-Hellman groups — CVE-2016-0701
Export ciphers — Responsible for FREAK and LogJa
HandShake 과정이 2-RTT에서 1-RTT로 변경되어 지연이 줄어들었다. 그리고 이전 handshake한 두 대의 컴퓨터가 서로의 정보를 저장한 뒤, 향후 연결에 이전 키를 사용하는 것을 허용하는 0-RTT Resumption도 지원함으로써 속도가 향상되었다.
Arakene
안녕하세요 삽질하는걸 좋아하는 4년차 안드로이드 개발자입니다.
팔로우
이전 포스트
MVVM 정리
다음 포스트
URL 입력 시 일어나는 일 정리
0개의 댓글
댓글 작성