[Node] HTTP와 HTTPS의 차이: 보안 통신 프로토콜의 필요성과 암호화 방식

MinJae·4일 전
1

Node

목록 보기
2/4

💡 HTTPS란 ?

1. HTTPS의 기본 개념

HTTPS는 Hypertext Transfer Protocol Secure의 약자로, HTTP에 보안 프로토콜 SSL/TLS를 추가하여 데이터를 암호화하는 통신 프로토콜입니다. HTTPS는 HTTP와 마찬가지로 클라이언트와 서버 간 데이터를 주고받지만, 데이터를 암호화하여 제3자가 정보를 중간에 가로채거나 변조할 수 없도록 보호합니다.

2. HTTPS의 필요성

HTTP는 전송되는 데이터가 암호화되지 않기 때문에, 네트워크를 통해 주고받는 정보가 누출될 위험이 있습니다. 예를 들어, 로그인 정보나 결제 정보 같은 민감한 데이터가 유출될 경우, 사용자는 개인정보가 악용될 위험에 처할 수 있습니다. HTTPS를 사용하면 이러한 위험을 방지할 수 있습니다. SSL/TLS는 데이터를 암호화하여 통신 내용을 보호하고, 데이터의 무결성을 보장하며, 클라이언트와 서버 간의 상호 인증을 통해 신뢰성을 제공합니다.

3. SSL/TLS 작동 방식

  • 데이터 암호화: 데이터는 SSL/TLS를 통해 암호화되어 전송되므로, 가로채더라도 내용을 해석할 수 없습니다.
  • 인증서 기반 신뢰성: HTTPS 연결을 설정할 때 서버는 인증서(Certificate)를 사용하여 신뢰할 수 있는 기관임을 클라이언트에게 증명합니다.
  • 무결성 보장: 전송 중에 데이터가 변조되지 않았음을 보장합니다.

정리하면, HTTPS는 보안이 중요한 웹사이트에서 데이터를 안전하게 주고받을 수 있도록 하는 필수 프로토콜로, 현재 대부분의 웹사이트는 HTTPS를 기본으로 사용하고 있습니다.


암호화 방식

1. 대칭키 암호화

대칭키
이미지출처

대칭키 암호화는 암호화와 복호화에 동일한 키를 사용하는 방식으로, 주로 AES(Advanced Encryption Standard)와 같은 알고리즘을 사용합니다. 양측이 동일한 키를 공유하고 있어야 통신이 가능하므로, 데이터 전송 전 키를 안전하게 공유하는 것이 중요합니다.

❗️ AES (Advanced Encryption Standard): 고급 암호화 표준

장점

  • 빠른 연산 속도: 대칭키는 암호화와 복호화에 필요한 연산이 상대적으로 적기 때문에 대용량 데이터를 처리할 때 유리합니다.
  • 구현이 용이: 알고리즘 구조가 간단하여 구현이 쉽고, 효율적입니다.

단점

  • 키 관리 문제: 키를 양측에 안전하게 전달하고 관리하는 것이 어려워, 키가 노출될 경우 보안이 위협받을 수 있습니다.
  • 주기적 키 교체 필요: 같은 키를 장기간 사용할 경우 해킹에 취약하므로, 주기적으로 키를 교체해주는 것이 좋습니다.

2. 비대칭키

비대칭키
이미지출처

비대칭키 암호화는 서로 다른 키 쌍(공개 키와 개인 키)을 사용하는 방식입니다. 공개 키는 자유롭게 공유하여 암호화에 사용하고, 개인 키는 소유자가 복호화에 사용하므로, 한쪽이 키를 잃어버리지 않는 한 데이터 보호가 가능합니다. 대표적인 알고리즘으로 RSAECC가 있습니다.

❗️ RSA(Rivest Shamir Adleman) - 소인수분해의 어려움에 기반한 비대칭 암호화 알고리즘으로, 높은 보안성을 제공하지만 상대적으로 연산 속도가 느린 편입니다.
❗️ ECC(Elliptic Curve Cryptography) - 타원 곡선 수학을 이용한 비대칭 암호화 알고리즘으로, RSA에 비해 짧은 키 길이로도 높은 보안성을 제공하며, 연산이 비교적 빠릅니다.

장점

  • 키 분배의 안전성: 암호화에 사용하는 공개 키는 누구에게나 공유할 수 있으므로 키를 분배할 때 보안에 대한 부담이 적습니다.
  • 무결성 및 부인 방지 기능: 공개 키 암호화 방식은 데이터의 무결성을 확인하고, 송신자의 신원을 확인하는 전자 서명 기능을 통해 부인 방지를 제공합니다.

단점

  • 느린 연산 속도: 복잡한 연산 과정을 거치기 때문에, 대칭키에 비해 속도가 느립니다.
  • 키 길이: 같은 수준의 보안을 제공하려면 비대칭키의 키 길이가 더 길어져야 하므로, 처리 속도가 더 느릴 수 있습니다.

정리하면, 대칭키는 빠르고 효율적이지만 키 관리가 어려운 반면, 비대칭키는 안전한 키 분배와 부인 방지를 제공하지만 연산이 느리다는 특징이 있습니다.


✅ 참고

profile
반갑습니다
post-custom-banner

0개의 댓글