728x90
공개키는 통장의 계좌번호와 유사하고
개인키는 비밀번호 PIN과 유사
공개키와 개인키를 이해하려면 대칭키와 비대칭키 부터 알아야합니다.
1. 대칭키
- 암호화, 복호화 할 때 사용하는 키가 동일한 경우, 1개의 키 사용
- 어떤 키로 암호화 했다면, 수신자도 같은 키가 있어야 복호화 가능
- 말 그대로 대칭시켜 봐서 맞을 시 자물쇠가 열리는 개념
2. 비대칭키
- 암호화 할 때 사용하는 키와 복호화할 때 사용하는 키가 다른 경우
- 2개의 키를 사용하며, 비밀키(개인키)와 비밀키를 토대로 만든 공개키가 쌍을 이룬 형태
- 공개키(public key): 사람들에게 공개된 키, 정보를 암호화 할 수 있다.
- 비밀키(private key): 사용자만 알고 있는 암호를 풀 수 있는 키
3. 대칭키 vs 비대칭키
|
대칭키
|
비대칭키
|
키 관계
|
암호화 키 = 복호화키
|
암호화 키 ≠ 복호화 키
|
암호화 키
|
비밀키
|
공개키
|
복호화 키
|
비밀키
|
개인키
|
비밀키 전송
|
필요
|
불필요
|
키 길이
|
짧다
|
길다
|
인증
|
곤란
|
용이
|
암복화 속도
|
빠르다
|
느리다
|
경제성
|
높다
|
낮다
|
전자서명
|
복잡
|
간단
|
주 용도
|
고용량 데이터 암호화(기밀성)
|
키 교환 및 분배, 인증, 부인방지
|
장점
|
- 암▪복호화 키 길이가 짧다
- 구현이 용이하고, 암▪복호화가 빠르다 - 암호화 강도 전환이 용이 - 암호화 기능이 우수 - 각종 암호 시스템의 기본으로 활용 |
- 사용자가 증가하더라도 관리해야 할 키의 개수가 상대적으로 적다
- Key 전달이나 교환에 적합하다 - 인증과 전자 서명에 이용 - 대칭키 보다 확장성이 좋다 - 여러가지 분야에서 응용이 가능 - 키 변화의 빈도가 적음 |
단점
|
- 키 교환 원리가 명시되지 않음
→ 키 분배가 어렵다 - 관리할 암▪복호화 키가 많다 N명 → N(N-1)/2 - 확장성이 낮다 - 전자서명(디지털서명)이 불가능 - 부인방지 기능이 없다 |
- 키 길이가 길다
- 복잡한 수학적 연산을 이용함으로 암호화▪복호화 속도가 느리다 - 중간에 인증과정이 없으므로 중간자 공격에 취약하다 (전자서명,인증서 등으로 해결) |
예
|
[Feistel] : SEED, DES
[SPN] : ARIA, AES, IDEA 메시지 인증코드(MAC) |
Diff-Hellman, RSA, ECC, DAS
[Block chain] [TPM] |
4. Public key vs Private key 사용 예
Public Key로 암호화 하면 Data 보안에 중점을 두고,
Private Key로 암호화 하면 인증 과정에 중점을 둔다.
Public Key로 암호화 하는 경우
- 상대방이 송신한 Public key로 data를 암호화 하고 전송
-> data를 수신한 사람은 자신의 Private key로 수신한 data를 복호화 - A 키로 암호화 한다면, B키로 복호화가 가능하고, B키로 암호화를 한다면 A키로 복호화가 가능
- Public Key는 널리 배포될 수 있기 때문에 많은 사람들이 한 명의 Private Key 소유자에게 data를 보낼 수 있다.
Private Key로 암호화 하는 경우
- Private Key의 소유자가 Private Key로 data를 암호화하고 Public Key와 함께 전달
이 과정에서 Public Key와 data를 획득한 사람은 Public key를 이용하여 복호화가 가능 - 이런 위험에도 불구하고 이 방법을 사용하는 이유는 data 보호의 목적 보다는 Public Key data 제공자의 신원을 보장해주기 때문
- 암호화된 data가 Public Key로 복호화 된다는 것은 Public Key와 쌍을 이루는 Private Key에 의해서 암호화 되었다는 것을 의미한다. 즉 data 제공자의 신원 확인이 보장
- 이 방법이 공인인증체계의 기본 바탕이 되는 전자 서명
참조:
https://blog.naver.com/PostView.naver?blogId=chodahi&logNo=221385524980
728x90
댓글