1. 대칭키 & 공개키

1) 대칭키(Symmetric Key)

  • 하나의 암호키를 Client, Server가 모두 사용 (암호와 복호화에 같은 암호키 사용)
    -> 동일한 키를 주고 받으므로, 매우 빠르다는 장점이 있음
    -> 비밀키 하나만 알아내면 암호화된 내용이 해독 가능하므로 해킹 위험에 노출
  • 암호 알고리즘 : DES, AES, SEED, ARIA, MASK 등

2) 공개키(Public Key)

  • 공개키와 비밀키 두 개가 존재
    -> 암호화와 복호화에 사용하는 키가 서로 다름 (암호화 : 공개키(public Key), 복호화 : 개인키(Private key))
  • 공개키는 누구나 알 수 있지만, 공개키에 맞는 비밀키는 키의 소유자만 알 수 있어 특정한 비밀키를 가지는 사용자만이 내용을 확인할 수 있는 방식
  • 암호 알고리즘 : Elgamal, RSA 등

* 대칭키 암호화 방식과 공개키 암호화 방식을 적절히 혼합하여, 이론적으로 완벽한 암호화 방식이 고안됨 ! -> SSL의 시초

1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하여 B에게 보냄
2. B는 암호문을 받아, 자신의 비밀키로 복호화함
3. B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보냄
4. A는 자신의 대칭키로 암호문을 복호화함
5. 계속 대칭키로 암호화 통신함

2. Http & Https

1) HTTP(HyperText Transfer Protocol)

  • 서로 다른 시스템들 사이에서 통신을 주고받게 해주는 가장 기초적인 프로토콜
  • 웹사이트에서 기본적으로 사용되는 프로토콜
    -> 웹 브라우저로 데이터를 전송해주는 용도로 가장 많이 사용
  • 암호화가 되지 않은 평문 데이터를 전송하기 때문에 제 3가 정보 조회 가능

2) HTTPS(HyperText Transfer Protocol Secure)

  • 서버에서 브라우저로 전송되는 정보가 암호화되지 않는 단점을 SSL(보안 소켓 계층)을 사용함으로써 보완한 프로토콜
    -> HTTP 프로토콜에 보안 기능을 추가한 것