HTTPS와 TLS(Transport Layer Security) -- 암호화

carlkim·2023년 11월 2일
0

CS학습 - 네트워크

목록 보기
25/48

HTTPS

암호화된 HTTP
HTTP + TLS(Transport Layer Security)
암호화된 통신이 가능하다.

그러면 암호화란 무엇인가??

암호화는 승인된 당사자만 정보를 이해할 수 있도록 데이터를 "스크램블" 한 방법.
이를 복호화하려면 송신자와 수신자가 서로 동의한 "키"가 필요하다. 또한 이를 만들기 위해 키가 쓰이기도 한다.

ciphertext = plaintet + key 가 된다.

스크램블

각 단어나 문자를 패턴에 따라 암호화하는 것이 아니라 무작위 방식으로 개별 데이터 비트를 섞는 것을 말한다.

예를 들어.
공통 128비트 고급 암호화 표준(Advanced Encryption Standard, AES)로 암호화된 파일의 경우 이 파일을 구성하는 비트는 약 10회 스크램블되며 다른 컴퓨터가 키 없이 해독하려면 아주 오랜 시간이 걸린다. 비트가 높아질 수록 스크램블을 많이 하게 되고 더 복잡해지는 것.
이 128비트는 AES의 가장 약한 버전, 192비트 및 256비트 키 크기도 제공된다.

대칭 암호화

대칭 암호화 키를 하나만 사용하는 암호화 방법. hello라는 텍스트를 키로 암호화 한다해보자.
동일한 키로 암호를 해독해서 hello를 반환한다.

일반적으로 사용되는 암호화 알고리즘은 DES, AES가 있다.

비대칭 암호화

비대칭 암호화는 공개키 암호화라고 합니다.

공개 키 암호화는 두 개의 다른 키(공개키, 개인키)로 데이터를 암호화하거나 서명하고 키 중 하나인 공개 키를 누구나 사용할 수 있도록 하는 방법.
공개키로 암호화된 데이터는 개인키로만 복호화 할 수 있게 한다. 일반적으로 사용되는 비대칭 암호화 알고리즘은 RSA, DH(Diffle-Hellman)이 있다.
HTTPS를 가능하게 하는 프로토콜인 TLS는 부분적으로 비대칭 암호화를 사용한다.
비대칭 암호화로 인증 한 후, 대칭 암호화로 보안적 통신을 시작한다.

TLS 핸드세이크 과정에서 처음 인증할 때
비대칭암호화를 하고 그 이후 클라이언트와 서버는 "세션키"라고 하는 키를 기반으로 대칭 암호화를 기반으로 암호화된 통신을 합니다

암호화 왜 하는데?

암호화는 의도된 수신자 또는 송신자를 제외하고는 통신을 하이재킹하여 읽을 수 없게 한다.
이를 통해 민감한 데이터 유출을 방지하고 데이터 무결성을 보장한다.

profile
가장 나답게 문제해결.

0개의 댓글