컴퓨터 공학 & 통신

[개념 정리/네트워크] HTTPS와 TLS - 암호화

왈왈디 2023. 7. 14. 15:41
728x90

본격적으로 HTTPS와 TLS에 대해 정리하기 전에

바탕이 되는 개념인 암호화에 대해 정리해보자.

 

암호화

암호화란 승인된 당사자만이 정보를 이해할 수 있도록 데이터를 스크램블하는 방법이다.

암호화된 데이터를 복호화하기 위해서는 송신자와 수신자가 서로 동의한 가 필요하다.

암호화 과정에서 가 쓰이기도 한다.

ciphertext = plaintext + key

 

스크램블

단어나 문자를 패턴에 따라 암화하지 않고,

무작위 방식으로 개별 데이터 비트를 섞는 것을 말한다.

 

예를 들어, 공통 128비트 고급 암호화 표준(Advanced Encryption Standard, AES)으로 암호화된 파일의 경우

이 파일을 구성하는 비트는 약 10회 스크램블 되며,

다른 컴퓨터가 키 없이 해독하려면 아주 오랜 시간이 걸린다.

 

비트가 높아질 수록 스크램블을 많이 하게 되고 더 복잡해진다.

128비트는 AES의 가장 약한 버전이다.

192비트, 256비트의 키 크기도 제공된다.

 

비대칭 암호화

비대칭 암호화공개 키 암호화라고도 부른다.

공개 키 암호화는 두 개의 다른 키, 공개 키 개인 키로 데이터를 암호화 또는 서명하고

키 중 하나인 공개 키를 누구나 사용할 수 있도록 하는 방식이다.

공개 키로 암호화된 데이터는 개인 키로만 복호화할 수 있다.

 

일반적으로 사용되는 비대칭 암호화 알고리즘에는 RSADH(Diffie-Hellman)이 있다.

 

HTTPS를 가능하게 하는 프로토콜인 TLS 부분적으로 비대칭 암호화를 사용한다. 

 

TLS 핸드셰이크 과정에서 처음 인증 시 비대칭 암호화를 사용하여 인증 후,

이후 클라이언트와 서버는 세션 키라고 하는 키를 기반으로 대칭 암호화 기반 보안적 통신을 시작하는 방식이다.

 

암호화의 필요성

암호화는 의도된 수신자 또는 송신자를 제외하고는 통신을 하이재킹, 가로 채어 읽을 수 없도록 한다.

이를 통해 민감한 데이터의 유출을 방지하고 데이터 무결성을 보장한다.

 

*하이재킹:

비행 중인 비행기 납치에서 유래된 단어

 

*데이터 무결성: 

데이터의 정확성과 일관성

 

참고: inflearn 강의 'CS 지식의 정석 - 큰돌'

728x90