본문 바로가기

Backend/정보보안

[정보보안] 공개키 암호화의 특징 및 용도

728x90

대칭키 암호화 vs 공개키 암호화

1) 대칭키 암호화 : 암호화키 = 복호화키 /  permutation, substtiuation [DES, AES, TripleDES ... ] 

2) 공개키 암호화 (비대칭키) : 암호화키 != 복호화키 / 수학에 대한 이해가 필요 (ex mod연산) [RSA ...]

- 인터넷, 뱅킹, 인터넷 주식 거래 등이 가능 (공인인증서) ~ 이런 것들이 가능하게 된 것이 공개키 암호화 덕이다!

- 공인인증서 파일을 들어가보면 공개키, 개인키 이렇게 두개가 있는걸 알 수 있다. 

- One Way function 단방향 함수 사용 ( ex. 소인수분해 factoring)

- 두개의 소수 p, q 가 있을때 N구하는 건 쉽지만, N 이 주어졌을떄 p,q를 찾는건 어렵다.

 

공개키의 용도

1) 암호

예시) 
Alice(Sender)       ->     BOB (Receiver)
{공개키, 개인키}           {공개키, 개인키}

Message를 보낼때 암호화할때 수신자(Bob)의 공개키를 가지고 암호화를 한다. 
C = E( M with bob's 공개키)
복호화할때는 수신자(Bob)의 개인키를 가지고 암호화를 한다.

Trudy가 C(암호문)을 도청할 경우 복호화하기 위해 Bob의 개인키가 필요하다. 따라서 도청해도 복호화가 불가능 하다. 

2) 전자서명(Digital signature) - 사용이유 : 부인 봉쇄 기능 (발뺌 방지)

예시) 
Alice(Sender)       ->     BOB (Receiver)
{공개키, 개인키}           {공개키, 개인키}

서명을 할때는 Alice(본인)의 개인키로 서명을 한다. 
C(서명값) = E(M With alice's 개인키)
서명을 검증할때 누구든지 할 수 있다. ( Alice의 공개키를 활용해서 복호화한다.)​

공개키암호화의 한계

1) 수학적 계산때문에 느려진다.

2) 사용자가 개인키를 실수로 공유하거나 노출하면 보안의 위협이 생긴다.

728x90