대칭키
- 암호화, 복호화에 사용하는 키가 동일한 암호화 방식
- Session Key, Secret Key, Shared Key 키라고도 불림
- 기밀성을 제공하나, 무결성/인증/부인방지 를 보장하지 않음
- 암호화방식에 속도가 빠름
- 대용량 Data 암호화에 적합
- 알고리즘 : SEED, DES, 3DES, AES, ARIA, ChaCha20
암호화, 복호화에 사용하는 키가 동일하기 때문에, 필수적으로 한번은 한쪽에서 다른 한쪽으로 키를 전송해야하는데
중간에 누군가 암호화 키를 가로챈다면 암호화된 정보가 유출될 수 있기에 아래와 같은 문제점이 존재함
- 키를 교환해야 하는 문제
- 탈취 관리 걱정
- 사람이 증가할수록 키관리의 어려움
- 확장성 떨어짐
이러한 단점를 보완한 것이 비대칭키
비대칭키(공개키)
- 암호화, 복호화에 사용하는 키가 서로 다른 암호화 방식
- 노출되면 안되는 개인키와 개방되어 있는 공개키를 쌍으로 이룬 형태
- 암호화방식에 속도가 느림
- 키분배가 필요없고 기밀성/인증/부인방지 기능 제공
- 알고리즘 : Diffie Hellman, RSA, DSA, ECC, PDA
- 송수신자 모두 한쌍의 키(개인키, 공개키)를 갖고있게 됨
- 공개키 : 모든사람이 접근 가능한 키
- 개인키 : 각 사용자만이 가지고 있는 키
- 방식
- 암호 모드 : 송신자 공개키로 암호화 -> 송신자 개인키로 복호화 소량의 메시지 암호화 목적, 주로 키 교환의 용도로 사용
- 인증 모드 : 송신자 개인키로 암호화 -> 송신자 공개키로 복호화 메시지를 인증(부인방지)하는 것이 목적임
공개키와 개인키로 각각 암호화 했을 때의 효과
- 공개키 암호화 : 공개키로 암호화를 하면 개인키로만 복호화할 수 있음 (개인키는 자신만 가지고 있으므로, 자신만 볼 수 있음)
- 개인키 암호화 : 개인키로 암호화하면 공개키로만 복호화할 수 있음 (공개키는 모두에게 공개되어 있으므로, 내가 인증한 정보임을 알려 신뢰성을 보장할 수 있음)
Reference Path
'CS' 카테고리의 다른 글
TLS/SSL Handshake (0) | 2022.11.20 |
---|---|
GET과 POST 방식 (0) | 2022.11.13 |
HTTP와 HTTPS (0) | 2022.11.13 |
TCP vs UDP (0) | 2022.11.06 |
TCP의 3/4 way Handshake (0) | 2022.11.06 |