Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

암호화에 대해 이야기할 때 많은 사람들은 불과 십여 년 전쯤 생긴 기술이라고 생각하기 쉽습니다. 하지만 암호화는 역사 깊은 뿌리를 지니고 있습니다. 가장 유명한 사례는 제2차 세계대전 당시 독일이 해군으로 전달할 메시지를 '에니그마(Enigma)'라는 기계로 암호화했던 것입니다.

전통적인 데이터 암호화 방식은 역설계(reverse engineering)를 통해 비교적 쉽게 해독될 수 있었습니다. 그러나 현대의 암호화 기술은 훨씬 더 복잡하여 해독하려면 막대한 컴퓨팅 성능이 필요합니다.

암호화는 주로 발신자와 수신자 사이의 메시지를 가로채려는 제3자가 정보를 읽지 못하도록 만드는 데 사용됩니다. 두 당사자 외의 누군가 데이터를 열람하려 해도, 데이터는 뒤섞이거나 코드화된 형태로 나타나 읽을 수 없습니다. 복호화되면 데이터는 원래의 형태를 되찾습니다.

일상생활에서도 WhatsApp 같은 메신저 플랫폼이나 인터넷뱅킹 포털처럼 노드 간 데이터를 안전하게 전송하기 위해 암호화 기술을 활용하는 서비스를 자주 접합니다. '암호화'라는 단어는 익숙하지만, 그 안에는 반드시 알아두어야 할 다양한 용어 체계가 숨어 있습니다.

그럼 지금부터 하나씩 살펴보겠습니다!

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

컴퓨터 사용자가 반드시 알아야 할 암호화 용어

1. 평문(Plaintext)

평문 또는 클리어텍스트(cleartext)는 가장 기본적인 용어로, 암호화되지 않아 누구나 읽을 수 있는 데이터를 의미합니다. 암호화 알고리즘에 입력되기 전 상태로 대기 중인 데이터가 바로 평문입니다.

2. 암호문(Ciphertext)

암호문은 암호화 알고리즘의 결과물로, 읽을 수 없는 형태의 데이터입니다. 무작위 숫자와 문자의 조합으로 이루어져 있어 그 자체로는 아무런 의미가 없습니다. 참고로 '사이퍼(Cipher)'라고도 부르지만, 엄밀히 말해 Cipher는 평문을 암호문으로 변환하는 알고리즘을 가리키는 용어입니다.

3. 키(Key)

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

암호학적 키는 데이터를 암호화하고 복호화하는 수단입니다. 암호화 알고리즘이 평문을 어떻게 암호문으로 변환할지 결정하는 데 필수적인 요소이며, 복잡한 암호화 알고리즘 전체를 외울 필요 없이 강력한 보안을 제공합니다. 키와 비밀번호의 차이점은 키가 알고리즘에 의해 생성되는 반면, 비밀번호는 사용자가 직접 만든다는 점입니다.

4. 해싱(Hashing)

웹사이트에서 평문 비밀번호를 암호화 알고리즘을 통해 해시 값으로 변환하는 과정을 해싱이라고 합니다. 발신자는 암호화된 메시지와 함께 해시 값을 수신자에게 보내고, 수신자는 이를 복호화한 후 자신이 새로 생성한 해시 값과 비교합니다. 두 값이 일치하면 안전한 전송이었다고 판단할 수 있습니다.

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

해싱은 축약된 키 값을 처리하는 것이 원본 값을 다루는 것보다 효율적이기 때문에 더 빠른 처리 방식입니다.

5. 솔팅(Salting)

전통적인 보안 방식은 보안을 한층 강화하기 위해 추가적인 절차를 필요로 합니다. 솔팅은 해시된 비밀번호에 임의의 데이터인 '솔트(salt)'를 덧붙이는 과정을 말합니다.

여러 사람이 동일한 비밀번호를 사용할 가능성이 있기 때문에, 더 강력한 보호를 위해 솔팅이 활용됩니다.

예를 들어 두 사용자가 같은 비밀번호 admin@wsxdn.com을 사용한다면, 해싱 후 두 값은 동일하게 변환됩니다.

f52fbd32b2b3b86ff88ef6c490628285f482af15ddcb29541f94bcf526a3f6c7

그런데 해커가 데이터베이스를 공격해 이 해시 값을 확보하면, 같은 해시를 가진 모든 계정이 똑같이 위험에 노출됩니다. 이를 방지하기 위해 각 사용자마다 고유한 솔트를 추가하여 보안을 강화합니다.

예시 #1: admin@wsxdn.com + tuna

3436d420e833d662c480ff64fce63c7d27ddabfb1b6a423f2ea45caa169fb157

예시 #2: admin@wsxdn.com + Raisins

728963c70b8a570e2501fa618c975509215bd0ff5cddaf405abf06234b20602c

각 사용자의 비밀번호에 솔트를 추가한 후, 동일한 비밀번호의 해시 값을 솔팅 여부에 따라 비교해 보겠습니다.

솔팅하지 않은 경우:

f52fbd32b2b3b86ff88ef6c490628285f482af15ddcb29541f94bcf526a3f6c7

솔팅 예시 #1:

3436d420e833d662c480ff64fce63c7d27ddabfb1b6a423f2ea45caa169fb157

솔팅 예시 #2:

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

728963c70b8a570e2501fa618c975509215bd0ff5cddaf405abf06234b20602c

같은 비밀번호라도 솔트가 다르면 완전히 다른 해시 값이 생성되는 것을 확인할 수 있습니다.

6. 대칭형 및 비대칭형 알고리즘

현대의 암호화 알고리즘은 대칭형과 비대칭형 두 가지 방식으로 작동합니다. 대칭형 알고리즘은 암호화와 복호화에 동일한 키를 사용하며, 양측이 상호 합의를 통해 키를 공유합니다. 반면 비대칭형 알고리즘은 공개 키와 개인 키라는 서로 다른 두 개의 키를 사용하여, 상호 합의 없이도 안전한 암호화를 보장합니다.

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

7. 공개 키와 개인 키

공개 키는 네트워크상의 모든 사람에게 배포되지만, 개인 키는 해당 사용자만 보유합니다. 메시지는 공개 키로 암호화되며, 수신자는 소유자의 개인 키로만 복호화하여 전체 내용을 읽을 수 있습니다.

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

8. 디지털 서명(Digital Signature)

컴퓨터 사용자라면 꼭 알아야 할 암호화 핵심 용어 8가지

누군가 서면 문서에 서명하면 그 문서는 서명자와 하나로 묶입니다. 마찬가지로 디지털 서명은 서명자를 디지털 데이터와 연결합니다. 이 디지털 서명을 통해 수신자나 제3자는 서명자의 신원을 개별적으로 확인할 수 있습니다. 빠른 처리를 위해서는 전체 데이터에 서명하는 것보다 해시 값에 서명하는 것이 더 효율적입니다.

암호화-복호화 과정이란?

암호화 과정에서는 평문과 암호화 키가 알고리즘에 입력되어, 평문을 읽을 수 없는 형태로 변환합니다. 이렇게 암호화된 메시지는 수신 측으로 전송되며, 수신자는 키를 사용해 메시지를 읽을 수 있습니다.

복호화는 이의 반대 과정입니다. 발신자로부터 받은 암호문과 복호화 키를 복호화 알고리즘에 입력하면, 암호문이 다시 읽을 수 있는 평문으로 되돌아갑니다.

이러한 암호화·복호화 키는 난수를 생성하는 수학적 계산을 통해 만들어집니다. 키는 제한된 시간 또는 특정 세션 동안에만 유효하며, 세션이 종료되면 키도 함께 만료됩니다.

마무리하며

암호화가 없다면 온라인 거래를 포함한 인터넷상의 중요한 업무 대부분을 수행하기 매우 어려워질 것입니다. 암호화를 뒷받침하는 수학적 원리는 일반인이 이해하기에는 다소 복잡할 수 있습니다. 하지만 오늘 살펴본 기본 용어들만 제대로 익혀두면 암호화를 훨씬 쉽게 이해할 수 있습니다. 이 글이 암호화의 핵심 용어와 그 의미를 파악하는 데 도움이 되었기를 바랍니다.