본문 바로가기
IT/이슈 및 정보

무조건 이해 시켜드립니다. 대칭키와 비대칭키에 대하여

by ghostzoominn 2020. 9. 6.

「 볼때마다 헷갈리는 대칭키와 비대칭키, 이 글로 마무리 합시다. 」

대칭키 암호화와 비대칭키 암호화

※ 글 아래쪽에 한국인터넷진흥원(KISA) 면접 기출 문제도 포함되어있습니다.

 

컴퓨터 보안을 조금이라도 공부하셨던 분, 또는 랜섬웨어에 대한 공부를 하셨던 분은 한번 쯤 들어보셨을 겁니다.

 

대칭키와 비대칭키, 공개키(Public key)와 개인키(Private key), 단어도 비슷비슷한데 보통 같이 언급되는 경우가 많아 혼란스러웠던 기억이 있으실 겁니다.

 

이번 글을 통해, 알고계시는 분은 한번 더 정리를, 모르고 계셨던 분은 처음부터 확실하게 개념을 잡을 수 있게 설명드리겠습니다.

 

 ※ 공개키란, 누구든지 키를 확인할 수 있고 사용할 수 있도록 대중에게 공개된 키를 의미합니다.

 ※ 개인키란, 자기자신만이 관리하고 가지고 있는 키를 의미합니다.

(공개키와 개인키에 대한 개념은 이정도로만 이해하신 후 아래의 대칭키, 비대칭키 암호화에 대한 설명을 읽으시면 자연스럽게 이해 하실 수 있습니다.)

 

「 대칭키 암호화 」

대칭키는 이름에서 알 수 있듯이, 어떤 정보를 암호화·복호화 할 때 사용하는 키가 동일(대칭)한 경우입니다.

 

즉, 암호활 할 때 필요한 키값과, 해당 정보를 복호화 할 때 필요한 키값이 동일한 경우입니다.

 

어떠한 정보가 대칭키를 통해 암호화 되었다면, 똑같은 키를 갖고 있는 사용자가 아니면 해당 정보를 확인 할 수 없습니다.

 

따라서, 암호화 된 정보를 전달하고 확인하기 위해서는 송·수신자 둘 다 똑같은 키를 가지고 있어야합니다.

 

이러한 키를 안전하게 교환하는것이 대칭키 암호화 방식의 가장 중요한 부분이라 할 수 있습니다.

 

쉽게 예를 들자면, 부산에 살고있는 철수는 A라는 열쇠로만 열 수 있는 보물상자를 서울에 있는 영희에게 안전하게 전달 하고자 합니다. 

 

그렇다면 철수는 보물상자를 영희에게 보내는 것은 물론이고, 이 상자를 열 수 있는 A열쇠 또한 안전하게 영희에게 전달해야합니다.

 

만약 보물상자와 함께 열쇠를 담아 보낸다면, 중간에 다른사람이 가로채 상자를 열어볼 수 있게됩니다.

 

따라서 이 열쇠는 보물상자와는 다른 경로로 안전하게 영희에게 전달되어야합니다.

 

이처럼 대칭키 암호화 방식은 키가 없다면 누구도 열어볼 수 없어 안전하지만, 이 키를 안전하게 전달하는것이 핵심이라 할 수 있습니다.

 

「 비대칭키 암호화」

비대칭키 또한 이름에서 알 수 있듯이, 어떠한 정보를 암호화·복호화 할 때 사용하는 키가 서로 다른 경우를 의미합니다.

 

대칭키와 다르게 비대칭키를 활용한 암호화에는 개인키와 공개키 두가지가 사용됩니다.

 

또한, 비대칭키를 활용한 암호화는 개인키로 암호화를 하는 방식과 공개키로 암호화를 하는 방식 두가지로 나뉘게됩니다.

 

1) 공개키로 정보를 암호화하는 경우

 공개키는 누구나 알 수 있도록 공개된 키이므로, 어떤 정보를 특정 사용자에게 보낼 때 해당 사용자의 공개키를 통해 정보를 암호화하여 전송합니다.

 

쉽게 예를 들자면, 부산에 살고있는 철수는 누구나 알 수 있는 영희의 공개키를 통해 보물상자를 암호화 한 후 영희에게 보냅니다.

 

이 보물상자는 영희의 공개키로 암호화 되었기때문에 열어보기 위해서는 영희의 개인키가 필요합니다.

(공개키로 암호화 되었다면 개인키로 해제할 수 있습니다. 공개키로 해제는 불가능합니다.)

 

하지만 영희의 개인키는 영희 자기자신만 가지고 있기 때문에, 받아 본 보물상자를 안전하게 열어볼 수 있습니다.

 

위에서 언급한 대칭키에서의 키값 교환에 따른 문제를 해결한 방법이라 할 수 있습니다.

 

2) 개인키로 정보를 암호화하는 경우

 개인키는 자신만이 가지고 있는 키이므로, 어떠한 정보를 특정 사용자에게 보낼 때 자기자신의 개인키를 통해 정보를 암호화하여 전송합니다.

 

이또한 쉽게 예를 들어보자면, 부산에 살고있는 철수는 자신만의 개인키를 통해 보물상자를 암호화하여 영희에게 보냅니다.

 

이 보물상자는 철수의 개인키를 통해 암호화 되었기 때문에, 철수의 공개키가 있어야만이 열어볼 수 있습니다.

 

하지만 철수의 공개키는 누구나 알 수 있도록 공개가 되어있습니다.

 

따라서 영희는 보물상자를 받아 본 후 공개되어있는 철수의 공개키를 통해 보물상자를 열어볼 수 있습니다.

 

여기서 잠깐, 이러한 의문이 드실 수 있습니다.

 

Q. 그렇다면 다른사람들이 이 보물상자를 중간에서 가로챈다면 공개된 철수의 공개키를 통해 보물상자를 열어볼 수 있지 않나요?

 

A. 네 맞습니다. 누구나 열어볼 수 있습니다.

 

Q. 그렇다면 보안에 취약한게 아닌가요? 이런 방법을 왜쓰는건가요?

 

A. 이러한 방법은 '보물상자안에 뭐가 들었냐'보다는 '이 보물상자를 누가 보냈냐'에 초점을 둔 방법입니다.

 

즉 철수의 개인키로 암호화 한 보물상자는 철수의 공개키를 통해서만 열어볼 수 있기 때문에, 만약 어떤 보물상자가 철수의 공개키로 열린다면, 이 보물상자는 철수가 보낸게 확실하다는 뜻입니다.

 

이러한 기술은 데이터 제공자의 신원이 보장되는 '전자서명'등의 공인인증체계의 기본이 됩니다.

 

예시를 통해 쉽게 이해할 수 있습니다.

「  대칭키 비대칭키 암호화 간단 요약」

1) 대칭키 암호화는 똑같은 개인키를 송·수신자가 공유하여 정보를 암·복호화 하는 것을 의미합니다.

 

2) 비대칭키 암호화는 공개키와 개인키를 각각 암호화·복호화에 적용하여 암·복호화 하는 것을 의미합니다.

 - 상대방의 공개키를 통한 암호화, 상대방이 개인키를 통한 복호화

   : 정보 자체에 대한 암호화가 필요 할 때 사용.

 - 자신의 개인키를 통한 암호화, 자신의 공개키를 통한 복호화

   : 정보를 생산(송신)한 사람의 신원에 대한 정보가 필요할 때 사용.

 

「 2018년 상반기 한국인터넷진흥원 면접기출 」

Q. 전자서명에 활용되는 비대칭키 암호화에 대해 설명해 보세요.

댓글