CS/네트워크
대칭키 공개키
sun._.ny
2022. 7. 23. 22:36
대칭키 암호 알고리즘 (symmetric-key algorithm)
- 암복호화에 사용하는 키가 동일한 암호화 방식
- 공개키 암호화 방식에 비해 속도가 빠르다는 장점이 있지만, 키를 교환해야한다는 문제 (키 배송 문제)가 발생
- 키를 교환하는 중 키가 탈취될 수 있는 문제도 있고 사람이 증가할수록 전부 따로따로 키 교환을 해야하기 때문에 관리해야 할 키가 방대하게 많아짐
- 키 배송 문제를 해결하기 위한 방법으로 키의 사전 공유에 의한 해결, 키 배포센터에 의한 해결, Diffie-Hellman 키 교환에 의한 해결, 공개키 암호에 의한 해결 등이 있음
공개키 암호 알고리즘 (public-key cryptography)
- 암복호화에 사용하는 키가 서로 다르며 따라서 비대칭키 암호화라고도 함
- 대칭키의 키교환 문제를 해결하기 위해 등장
- 송수신자 모두 한쌍의 키(개인키, 공개키)를 가짐
- 이름 그대로 키가 공개되어있기 때문에 키를 교환할 필요가 없어지며 공개키는 모든 사람이 접근 가능한 키이고 개인키는 각 사용자만이 가지고 있는 키
- A는 B의 공개키로 암호화한 데이터를 보내고 B는 본인의 개인키로 해당 암호화된 데이터를 복호화해서 보기 때문에 암호화된 데이터는 B의 공개키에 대응되는 개인키를 갖고 있는 B만이 볼 수 있게 되는 것
- 중간 공격자가 B의 공개키를 얻는다고 해도 B의 개인키로만 복호화가 가능하기 때문에 기밀성을 제공하며 개인키를 가지고있는 수신자만이 암호화된 데이터를 복호화할 수 있으므로 일종의 인증기능도 제공한다는 장점 존재 (기밀성/인증/부인방지 기능을 제공)
- 속도가 느리다는 단점이 존재
- B 공개키/개인키 쌍 생성
- 공개키 공개(등록), 개인키는 본인이 소유
- A가 B의 공개키를 받아옴
- A가 B의 공개키를 사용해 데이터를 암호화
- 암호화된 데이터를 B에게 전송
- B는 암호화된 데이터를 B의 개인키로 복호화 (개인키는 B만 가지고 있기 때문에 B만 볼 수 있음)