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
'Backend > 정보보안' 카테고리의 다른 글
[정보보안] Diffie-Hellman란? (1) | 2022.03.20 |
---|---|
[정보보안] 공개키 암호화인 RSA에 대해서 (0) | 2022.03.18 |
[정보보안] Java를 활용하여 CBC 모드에서 AES 암복호화 실습 (0) | 2022.03.16 |
[정보보안] Block cipher Modes(ECB, CBC, CTR) 이란? (0) | 2022.03.16 |
[정보보안] DES를 대체하는 AES란? (0) | 2022.03.16 |