대칭키 암호화
: 똑같은 개인 키를 송 · 수신자가 공유하여 정보를 암호화 · 복호화 하는 것
대칭키 : 어떤 정보를 암호화 · 복호화할 때 사용하는 키가 동일한 경우
- 암호화된 정보의 전달, 확인을 위해서는 송 · 수신자 둘 다 같은 키를 가져야 한다.
- 어떤 정보가 대칭 키를 통해 암호화 되었을 시, 똑같은 키를 갖고 잇는 사용자가 아닐 경우 해당 정보 확인이 불가능하다.
- 암호화한 정보를 보낼 때, 암호키도 함께 보내야 한다.
- 키의 안전한 교환이 대칭 키 암호화 방식의 가장 중요한 부분이다.
(암호키 자체는 암호화가 되지 않은 평문으로 분실하거나 타인에게 노출되면 보안에 매우 취약하다.)
장점
- 암 · 복호화 과정이 단순하다.
- 암 · 복호화 과정의 속도가 빠르다 → 송 · 수신자가 동일한 키를 가지고 있기 때문
- 효율적인 암호 시스템을 구축할 수 있다.
단점
- 송 · 수신자 간 키 교환이 이루어져야 한다.
- 키 교환 과정 중 키 노출 위험이 있다.
- 송 · 수신자가 늘어날 수록 관리해야 할 키의 증가로 관리가 어렵다.
비대칭키(공개키) 암호화
1개의 쌍으로 구성된 공개키 / 개인키로 암호화 · 복호화 하는 방식
비대칭 키 : 어떤 정보를 암호화 · 복호화할 때 사용하는 키가 서로 다른 경우
- 대칭키 암호화 방식의 키 전달의 취약점을 해결하기 위해 나온 방식
- 암호화에 사용하는 키와 복호화에 사용하는 키 분리
- 공개키 (Public Key) : 누구나 알 수 있고, 공유 가능
- 비밀키 (Private Key, 개인키) : 소유자만 알고 있다.
- 암호화 방식
- 자신이 가지고 있는 고유한 개인키(Private Key)를 사용하여 암호화
공개 키로만 복호화 가능 = 공개 키는 모두에게 공개되어 있으므로, 인증된 정보임을 알려 신뢰성을 보장할 수 있다.- 정보를 생산(송신)한 사람의 신원 정보 필요 시 사용
- 데이터 제공자의 신원이 보장되는 '전자서명'등의 공인인증체계의 기본
- 공개 키 암호화 방식 (진행과정) : 공개키를 통해 암호화하여 개인키로만 복호화 가능
- 사용자 B는 자신의 공개키를 공개 : 이 공개키는 암호화에 사용되는 키이며 누구나 열람이 가능하다.
(복호화에 사용되는 키는 B 자신만 가지고 있다. 분실하면 안됨..) - 사용자 A는 사용자 B의 공개키로 데이터를 암호화한다.
- 암호화된 문서를 사용자 B에게 전송한다.
- 사용자 B는 자신 만의 개인키(복호화키)를 이용하여 전송 받은 암호화 문서를 복호화하여 데이터를 열람한다.
- 사용자 B는 자신의 공개키를 공개 : 이 공개키는 암호화에 사용되는 키이며 누구나 열람이 가능하다.
- 정보 자체에 대한 암호화가 필요 시 사용
- 대칭 키 암호화 방식에서 키 값 교환에 따른 문제를 해결한 방법이다. (노출 및 해킹의 위험이 있음)
- 자신이 가지고 있는 고유한 개인키(Private Key)를 사용하여 암호화
장점
- 대칭키 암호화 방식의 키 전달 문제 해결
- 단 하나의 공개 키를 사용함으로써 모든 수신자와 개별 키를 만들 필요가 없다.
- 데이터 송신과정 중 키를 탈취 당하더라도 해당 키로 복호화가 불가능하기에 공개키 방식보다 안전하다.
단점
- 암호화, 복호화에 서로 다른 키를 사용하므로 대칭키에 비해 비용이 많이 들고, 속도가 느리다.
- 암호화, 복호화를 위해 복잡한 수학 연산을 하기 때문에 대칭키에 비해 속도가 느리고 복잡하다.
대칭키 암호화의 장점과 공개키 암호화의 장점을 채택하여 용량이 큰 정보는 대칭키로 암호화하고, 암호화에 사용된 대칭키는 공개키로 암호화하여 대상에게 전달하는 하이브리드 암호화 방법이 일반적으로 사용되고 있다.
공개키 기반 구조
특정 사람의 개인키와 공개키는 어떻게 생성할 것이고, 어떻게 배포할 것이고 어떻게 관리해야 하는가에 대한 이슈가 존재
또한 어떤 공개키가 특정 사람의 공개키라는 것을 어떻게 보장할 수 있는지에 대한 이슈도 존재
이를 해결하기 위해 디지털 인증서 도입
이를 활용하는 소프트웨어, 하드웨어, 정책, 제도, 사용자 등을 총칭하여 공개키 기반 구조라고 한다.
'네트워크' 카테고리의 다른 글
[네트워크] DNS (Domain Name System) (0) | 2025.03.17 |
---|---|
[네트워크] DNS와 웹 통신 흐름 (0) | 2025.03.17 |
[네트워크] 3-way handshake, 4-way handshake (0) | 2025.03.03 |
[네트워크] HTTP & HTTPS (0) | 2025.02.27 |
[네트워크] TCP와 UDP (0) | 2025.02.17 |