티스토리 뷰

컴퓨터 공학 및 알고리즘

HTTPS

네스사 2023. 5. 1. 22:54

HTTPS


  • HTTPS는 HTTP Secure의 약자로, HTTP 프로토콜을 보안하여, 클라이언트와 서버 간의 통신을 암호화하여 보안성을 높입니다
  • HTTPS는 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security) 프로토콜을 사용하여 데이터를 암호화합니다.
  • 이를 통해, 중간에 HTTP 요청 및 응답을 탈취해도 기밀성을 보존할 수 있습니다.

 

 

 

암호화 방식


  • 데이터를 암호화를 할 때에는 암호화할 때 사용할 키, 암호화한 것을 해석(복호화)할 때 사용할 키가 따로 필요합니다.
  • 이때 암호화와 복호화할 때 사용하는 키가 동일하다면 대칭 키 암호화 방식, 다르다면 공개 키(비대칭 키) 암호화 방식이라고 합니다.

 

1. 대칭 키 암호화 방식

  • 대칭 키 암호화 방식은 암호화와 복호화에 같은 암호키를 사용하는 방식이로, 암호화된 데이터를 전송하고, 수신 측에서는 동일한 암호키를 사용하여 데이터를 복호화합니다.
  • 대칭 키 암호화 방식은 암호화와 복호화 속도가 빠르고, 간단하며 효율적입니다.
  • 그러나 키를 주고받는 과정에서 탈취당했을 경우에는 암호화가 소용없어지기 때문에 키를 관리하는데 주의를 요합니다.
  • 가장 대표적인 대칭 키 암호화 방식으로는 DES(Data Encryption Standard)와 AES(Advanced Encryption Standard)가 있습니다.

 

2. 공개 키(비대칭 키) 암호화 방식

  • 공개 키(비대칭 키) 암호화 방식은 암호화와 복호화에 서로 다른 키를 사용하는 방식입니다. 
  • 암호화에 사용하는 키를 공개 키(public key)라고 하고, 복호화에 사용하는 키를 개인 키(private key)라고 합니다.
  • 공개 키는 누구나 알 수 있지만, 개인 키는 해당 키의 소유자만이 알 수 있습니다.
  • 공개 키 암호화 방식은 대칭 키 암호화 방식과는 달리, 키를 전송하는 과정에서 안전하게 전송할 수 있습니다.
  • 그러나 공개 키 암호화 방식은 대칭 키 암호화 방식보다 느리고, 복잡하다는 단점이 있습니다.

 

SSL/TLS 프로토콜


  • HTTPS는 HTTP 통신을 하는 소켓 부분에서 SSL 혹은 TLS라는 프로토콜을 사용하여 서버 인증과 데이터 암호화를 진행합니다. 
  • SSL/TLS는 CA를 통한 인증서 사용, 대칭 키와 공개 키 암호화 방식을 모두 사용같은 특징을 가집니다.

 

인증서와 CA(Certificate Authority)

  • HTTPS를 사용하면 브라우저가 서버의 응답과 함께 전달된 인증서를 확인할 수 있는데, 이러한 인증서는 서버의 신원을 보증해 줍니다.
  • 이런 인증서를 발급해 주는 공인된 기관들을 Certificate Authority, CA라고 부릅니다.
  • 서버는 인증서를 발급받기 위해서 CA로 서버의 정보와 공개 키를 전달하고, CA는 서버의 공개 키와 정보를 CA의 비밀 키로 암호화하여 인증서를 발급합니다.
  • 서버는 클라이언트에게 요청을 받으면 CA에게 발급받은 인증서를 보내줍니다.
  • 브라우저는 내장된 CA들의 리스트 중에서 발급한 인증서인지 확인하고, 리스트에 있는 CA라면 해당하는 CA의 공개 키를 사용해서 인증서의 복호화를 시도합니다.
  • CA의 비밀 키로 암호화된 데이터(인증서)는 CA의 공개 키로만 복호화가 가능하므로, 정말로 CA에서 발급한 인증서가 맞다면 복호화가 성공적으로 진행되어야 합니다.
  • 복호화가 성공적으로 진행된다면, 클라이언트는 서버의 정보와 공개 키를 얻게 됨과 동시에 해당 서버가 신뢰할 수 있는 서버임을 알 수 있게 됩니다.
  • 복호화가 실패한다면, 이는 서버가 보내준 인증서가 신뢰할 수 없는 인증서임을 확인하게 됩니다.
  • 보통 클라이언트와 서버가 함께 사용하게 될 대칭 키를 주고받을 때 사용합니다.

 

 

 

'컴퓨터 공학 및 알고리즘' 카테고리의 다른 글

자료구조-트리  (0) 2023.05.11
자료구조-스택,큐  (0) 2023.05.10
HTTP  (0) 2023.05.01
네트워크 계층 모델  (0) 2023.05.01
네트워크  (0) 2023.05.01
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함