코딩마을방범대
공개키 암호화 본문
728x90
대칭키란
A와 B라는 사람이 서로 같은 키를 가지고 있어야하는데, 만나서 서로 키를 교환하면 안전할 수 있지만
만나지 않고 키를 전송하는 방식으로 교환하면 C라는 사람에게 탈취를 당할 수 있게 되는 문제점도 생기고
만약 여러 사람이 있다면, 각자의 사람이 서로의 키를 교환해야 하기 때문에 결국
nC2라는 키 생성이 필요함 (즉, 사람이 많아질수록 키가 너무 방대하게 많아져 관리하기 불편해짐)
공개키(비대칭키)란
A자신의 공개키를 여기저기 뿌려두고 B가 A에게 정보를 전송해야할 경우가 생기면
B는 A의 공개키로 암호화 한 후 A에게 보내면 그 정보는 A만 볼 수 있게 됨
관용 암호(대칭 키) | 공개키 암호(비대칭 키) |
암호/복호에 동일한 키와 동일한 알고리즘이 사용된다 | 암호/복호에 동일한 알고리즘 사용하지만 서로 다른 키를 이용 |
수신자와 송신자는 키를 교환해야 한다 | 수신자와 송신자는 키 교환이 필요없다.(공개키 이용) |
공유한 키(비밀키)는 비밀로 유지 | 키 쌍중 하나(개인키)를 비밀로 유지 |
키 분배가 어려움, 디지털 서명이 불가능 | 공개키만 공개하면 됨, 디지털 서명 가능 |
속도가 비대칭키 방식에 비해 1000배 빠르다. | 속도가 대칭키 방식에 비해 1000배 느리다. |
절차
- B의 공개키와 개인키 생성
- B의 공개키는 공개하고 개인키는 개인이 소유
- A는 B의 공개키로 메시지를 암호화
- B는 자신의 개인키로 메시지 복호화
(B의 개인키를 모르는 제 3자는 메시지 복호 불가능)
공개키 암호의 문제점
공격 유형
- 전사적 공격에 취약
- 키의 크기를 크게 함으로써 방지(상대적으로 속도가 느려진다.) - 공개키로부터 개인키를 계산하는 방법
- 수학적으로 계산이 불가능함을 증명하지 못함(즉, 가능할 수 도 있다) - 가능한 메시지 공격(메시지 길이가 작을 때)
모든 가능한 메시지를 공개키로 암호화하여 암호문과 비교
- 메시지에 임의의 비트를 추가함으로써 방지
공개키를 공개 발표 하는 경우 생길 수 있는 문제점
- 어떤 사용자 C가 A와 B사이의 메시지 교환 중간에서 B의 공개키를 탈취하여 C의 공개키를 보낸다.
- A는 눈치채지 못한 채 C의 공개키로 평문을 암호화 하여 B에게 보낸다.
- C는 C의 개인키로 복호화하여 평문을 습득하고 다시 B의 공개키로 암호화하여 B에게 보낸다.
- B는 B의 개인키로 복호화하여 평문을 습득했지만, 이미 해킹당했다.
728x90
'🎃 기타 > 상식 ❗' 카테고리의 다른 글
DAS & NAS & SAN의 차이 & VM이란 (0) | 2023.05.25 |
---|---|
온프레미스와 클라우드 & IDS & IPS (0) | 2023.05.25 |
리눅스에 대해서 (1) | 2023.05.25 |
IP에 관하여 (0) | 2023.05.25 |
블록체인 & Xshell & SSH & Gradle/Maven의 정의 (1) | 2023.05.25 |