암호학 기초 - 양방향 암호화 방법(4)
그럼 이제 돌아와서 암호학이란?(1)편에서 나온 단방향 암호화 방법에 대해서 먼저 이야기를 하겠습니다.
▶ 암호학이란?(1)편 : https://yujinsong412.github.io/%EC%95%94%ED%98%B8%ED%95%99-%EC%95%94%ED%98%B8%ED%95%99%EA%B8%B0%EC%B4%88/cryptography/
양방향 암호화 방식 - 대칭키 방식
대칭키 방식은 하나의 키로 암호화와 복호화 둘 다 하는 것입니다. (키가 1개)

평문을 암호문으로 바꿀 때 키를 사용하는데, 복호화할 때도 같은 키로 그대로 하는 것입니다. 그런데 여기서 문제점은 송수신자가 동일한 키를 가지고 있어야 하며 이는 키 분배와 보관에 큰 문제가 있습니다. 만약 키가 탈취되거나 복사된다면 보안 측면에서 굉장히 문제가 있습니다.
아래의 그림에서 B라는 사람이 A라는 사람한테 암호화된 정보랑 key를 전달하려고 하고, 도청하고 있는 cracker가 있다고 했을 때 어떤 문제가 발생할 수 있는지 보겠습니다.

B가 대칭키 방식으로 암호화해서 암호문을 만듭니다. A라는 사람에게 암호문을 전달할 때 key도 같이 전달해야합니다. (그래야 key를 이용해서 암호문을 평문으로 만들 수 있기 때문)
그런데 여기서 문제는 A는 인터넷을 통해서 암호문과 key를 전달 받지만 동시에 cracker한테도 같이 노출될 수 있습니다. 이렇게 되면 A라는 사람도 암호문을 풀 수 있지만 cracker도 풀 수 있습니다. 이렇게 원하지 않는 사람에게 노출이 돼서 보안이 뚫릴 수 있다는 것이 대칭키의 한계점입니다.
그래서 이를 해결하기 위해 비대칭키 방식(Two-Key)이 고안되었습니다.
양방향 암호화 방식 - 비대칭키 방식
비대칭키 방식은 암호화와 복호화할 때 다른 키를 사용하는 것입니다. (키가 2개)
그리고 비대칭키 방식은 공개키 방식이라고도 부릅니다.
그러면 비대칭키 방식은 어떻게 동작을 할까요?
B는 자신의 메시지를 A에게 안전하게 보내고 싶고, 감청하고 싶은 cracker가 있다고 하겠습니다.

비대칭키(공개키) 방식에서는 공개키(public key)와 비공개키(private key)가 등장합니다. 이 공개키와 비공개키는 동시에 만들어져야 하는 한 쌍이기 때문에 key pair이라고도 부릅니다.
-
A는 비대칭키를 이용해서 공개키(public key)와 비공개키(private key) 2개를 만듭니다.
-> 여기서 공개키는 누구나 볼 수 있는 곳에 공개되어 있습니다.
▶ public key : 누가봐도 상관 없음
private key : 절대 노출되면 안됨 -
A가 공개키를 인터넷이나 홈페이지에 올립니다.
-
B가 공개키를 받지만 동시에 cracker도 공개키를 받을 수 있습니다.
-
B는 자신이 가지고 있는 비밀 메시지를 A의 공개키를 가지고 암호화를 합니다. 그러면 암호문(cipherText)이 생기는데, 이 암호문을 인터넷에 올립니다. A와 cracker 둘 다 암호문을 획득하게 됩니다.
-
A는 자신의 private key를 이용해서 암호문을 복호화하면 원래의 정보를 알 수 있지만 cracker는 private key를 가지고 있지 않기 때문에 복호화할 수 없습니다. (public key로는 복호화할 수 없음)
그럼 이제 암호학이란?(1)편에서 “대칭키, 비대칭키”에 대해 이해됐을거라고 생각합니다!
대칭키와 비대칭키의 대표적인 알고리즘은 AES와 RSA는 다음에 설명하도록 하겠습니다!
댓글남기기