공개 키
오늘은 공개 키 암호의 기본적인 개념을 살펴보고 키 분배 문제에 대한 준비 과정을 알아보자
공개 키 알고리즘은 수학적 함수에 근거해서 만들었다.
- 서로 다른 두 개의 키를 이용하는 비대칭 방식
- 두 개의 키를 사용하기 때문에 기밀성과 키 분배, 인증 분야에서 성능이 뛰어나다.
공개 키 암호 시스템은 크게 아래 3 분류로 나눌 수 있다.
- 암호화/복호화 - 공개키로 메시지를 암호화
- 디지털 서명 - 자신의 개인키로 복호화
- 키 교환 - 세션 키 교환을 위해 상호 협조
공개 키 암호에 대한 오해
- 공개 키 암호가 관용 암호보다 해독에 있어 안전하다
- 암호 시스템의 안전도는 키의 길이와 암호를 뚫는데 필요한 계산량에 따라 달라진다
- 근본적으로 공개 키 암호화 관용 암호 중 어느 것이 더 암호 해독에 더 강하다고 말할 근거가 전혀 없다
- 대칭 암호는 더 이상 사용하지 않는다?
- 오히려 그 반대로 현재 사용 되는 공개 키 암호 시스템은 계산량이 많아 대칭 암호를 아직도 사용하다
- 대칭 암호는 키 분배 센터를 이용해야해서 성가시지만, 공개 키를 사용하면 키 분배가 매우 쉽다???
- 공개 키 암호도 모종의 프로토콜이나 중앙 에이전트가 필요할 때가 있다
- 사용하는 절차도 대칭 암호와 비교 할 때 더 단순하다거나 더 효과적이라고 말하기 어렵다
공개 키 암호 구조의 핵심
- 평문
- 암호 알고리즘
- 공개 키와 개인 키
- 암호 문
- 복호 알고리즘
핵심 단계
- 사용자는 한 쌍의 키를 생성하여 하나는 메시지 암호화에 사용하고, 다른 하나는 복호화에 사용한다
- 사용자는 두 키 중 하나를 공개한다. 공개 키와 쌍을 이루는 것을 개인 키라고 한다.
- 다른 사람에게 메시지를 보내고 싶으면 해당 사람의 공개 키로 암호화를 해서 상대방에게 보낸다.
- 받는 사람은 자신의 개인키로 받은 메시지를 복호화 한다.
일반적으로 대칭/공개 키 암호에서 사용 되는 키는 구분 되어 불린다
- 대칭 암호에서 사용 되는 키는 일반적으로 비밀키라 불린다
- 공개 키 암호에서 사용 되는 키는 공개키와 개인 키라고 불린다
공개 키 암호 요건
공개 키 암호에서 요구하는 조건을 서술하면 아래와 같습니다
공개키 암호 시스템에서는 A라는 송신자가 B라는 수신자에게 보내려는 메시지를 암호화하는 과정에서, B는 자신의 개인키(PRb)를 사용하여 암호문©을 원문(M)으로 복호화할 수 있습니다.
- B는 한 쌍의 키(공개키: 𝑃𝑈𝑏 , 개인키: 𝑃𝑅𝑏 )를 생성한다.
- 송신자 A는 공개키와 평문 𝑀을 알고 있으며, 암호문을 계산적으로 쉽게 구한다.
- A는 공개키와 암호문 𝐶를 전송한다.
- 수신자 B는 자신의 개인키를 이용하여 원문으로 복호화 한다.
- 공격자가 공개키와 암호문을 알고 있어도, 개인키를 알아내는 것이 계산적으로 불가능해야 한다.
- 공격자가 공개키와 암호문을 알고 있어도, 원문을 알아내는 것이 계산적으로 불가능해야 한다.
- 2개의 키 중 어느 하나를 암호화에 사용하면 다른 하나는 복호화에 사용 할 수 있다.
레퍼런스
- 대칭 암호 원리 기초
- [[대칭 암호 알고리즘]]
728x90
'Computer Science > Security' 카테고리의 다른 글
Diffie-hellman (0) | 2023.04.08 |
---|---|
RSA는 무엇인가? (0) | 2023.04.05 |
블록 암호 기반 MAC(CMAC) (0) | 2023.04.04 |
HMAC (0) | 2023.04.04 |
메시지 다이제스트 (0) | 2023.04.03 |