본문 바로가기
IT/Network

[데이터 전송] 평문 전송 vs 암호화 전송

by Echinacea 2025. 2. 9.
반응형

 

📌 평문 데이터란?

자바스크립트에서 데이터가 평문으로 전달된다는 말은, 데이터가 암호화되지 않은 상태(즉, 누구나 읽을 수 있는 형태)로 네트워크나 시스템 내부에서 전달된다는 뜻입니다.

✅ 평문(Plaintext)과 암호화(Encryption)

  • 평문(Plaintext): 사람이 읽을 수 있는 형태의 데이터.
  • 암호화(Encryption): 데이터를 읽을 수 없도록 변환하는 과정.

예를 들어, 웹사이트에서 로그인할 때 ID와 비밀번호를 입력하면, 이 정보가 서버로 전달됩니다.

fetch("https://example.com/login", {
  method: "POST",
  body: JSON.stringify({ username: "user123", password: "mypassword" }),
  headers: { "Content-Type": "application/json" }
});

위 요청이 암호화되지 않은 HTTP(예: http://example.com)로 전송되면, 네트워크를 가로채는 사람이 user123mypassword를 그대로 볼 수 있습니다. 즉, 데이터가 평문으로 전달된 것입니다.


🔒 평문 전송의 위험성

  1. 해커가 가로채기 쉽다
    • 네트워크에서 패킷을 가로채면 ID, 비밀번호, 신용카드 정보 등을 쉽게 훔칠 수 있음.
  2. 중간자 공격(Man-in-the-Middle Attack, MITM)에 취약
    • 공격자가 사용자와 서버 사이에서 데이터를 몰래 수정할 수 있음.

✅ 안전하게 데이터 전송하는 방법

  1. HTTPS 사용하기
    • http:// 대신 https://를 사용하면, 브라우저와 서버 간 데이터가 자동으로 암호화됩니다.
  2. 데이터 암호화하기
    • 중요한 정보를 보내기 전에 AES, RSA 같은 암호화 알고리즘을 사용하여 데이터를 암호화할 수 있음.
    예제:
  3. const encryptedData = btoa("mypassword"); // Base64 인코딩 (간단한 인코딩 방식) console.log(encryptedData); // 암호화된 형태로 변환됨
  4. JWT (JSON Web Token) 또는 해싱 사용
    • 비밀번호를 그대로 전송하는 대신, 해싱된 값을 보내면 보안이 강화됩니다.

🚀 결론

  • "데이터가 평문으로 전달된다"는 누구나 읽을 수 있는 형태로 데이터가 네트워크를 통해 전송된다는 뜻입니다.
  • HTTPS를 사용하고, 민감한 데이터는 암호화하여 전송하는 것이 중요합니다. 🔐
반응형

댓글