상세 컨텐츠

본문 제목

암호화와 암호화 알고리즘

IT 보안/이슈·동향

by 신시웨이 공식 블로그 2022. 11. 11. 15:58

본문

암호화(Encryption)란? 암호기술은 특정 알고리즘이나 방법을 이용하여 원문을 다른 문장으로 변경하는 것으로 중요한 정보를 읽기 어려운 값으로 변환하여 권한이 없는 사람이 볼 수 없도록 하는 기술입니다. 암호화는 보안에 있어 중요한 정보를 직접적으로 보호하는 원천기술입니다.

암호기술을 통해 보호하고자 하는 원본 데이터를 평문(plain text)이라 하며, 암호기술을 적용한 것을 암호문(cipher text)이라고 하며 이러한 변환 과정이 암호화입니다. 이를 다시 평문으로 복원하는 과정을 복호화라고 합니다.

 

양방향, 단방향 암호화

암호화는 크게 양방향, 단방향(일방향) 암호 알고리즘으로 분류할 수 있습니다. 양방향 알고리즘은 암호문을 복호화할 수 있는 알고리즘이며, 단방향 알고리즘은 암호화만 가능하고 복호화는 불가능한 알고리즘입니다. 그리고 양방향 암호화 방식은 대칭키와 비대칭키 암호화로 나눌 수 있습니다.

 

대칭키 암호화

대칭키 암호는 비밀키 암호화라고도 하며 암·복호화에 같은 암호키를 사용하는 알고리즘으로, 비밀키를 사용하여 암호화하고 복호화하는 방식입니다. 대칭키 암호는 내부 구조가 간단하여 연산 속도가 빠르다는 장점이 있지만, 송·수신자 간에 동일한 키를 공유해야 하므로 많은 사람들과의 정보 교환 시 많은 키를 관리해야 하는 어려움이 있습니다. 대표적인 대칭키 암호 알고리즘으로는 DES, 3DES, AES 등이 있습니다.

 

대칭키 암호 알고리즘의 종류

DES(Data Encryption Standard) 알고리즘은 1975년 IBM에서 개발하고 1979년 미국 NIST가 국가 표준 암호 알고리즘으로 지정한 대칭키 암호 알고리즘입니다. 평문을 64비트로 나눠 56비트의 키를 이용해 다시 64비트의 암호문을 만들어냅니다. 3DES알고리즘은 DES알고리즘을 세번 적용한 트리플 데이터 암호화 알고리즘입니다. 그러나 DES는 56비트를 사용하여 전수조사에 취약하다는 한계점이 있어 이를 대체할 알고리즘으로 AES알고리즘이 등장하였습니다.

AES(Advanced Encryption Standard)는 미국 NIST에서 제시한 선정기준인 안전성, 비용, 구현 효율성에 부합하여 채택된 알고리즘입니다. 높은 안전성과 속도로 전 세계적으로 많이 사용되고 있습니다.

 

비대칭키 암호화

 

 

비대칭키 암호는 공개키 암호라고도 하며, 대칭키 암호와 달리 암·복호화에 서로 다른 키를 사용하는 알고리즘입니다. 공개키 암호는 암·복호화에 복잡한 수학 연산을 사용하기 때문에 대칭키 암호에 비해 효율이 떨어질 수 있습니다. 그러나 여러 송신자가 하나의 공개키로 암호화를 수행하기 때문에 사용자가 많더라도 키를 관리하는데 유리합니다. 대표적인 알고리즘으로 RSA, EIGamal, ECC 등이 있습니다.

 

단방향 암호화

단방향 암호화란 말그대로 한쪽방향으로만 암호화를 하는 것을 말합니다. 평문을 암호문으로 암호화하는 것은 가능하지만, 암호문을 평문으로 복호화하는 것은 불가능한 암호화 기법입니다. 주로 해쉬(Hash)기법을 사용합니다.

해쉬는 임의의 길이의 메시지를 입력으로 받아 고정된 길이의 해시 값을 출력하는 함수입니다. 입력값의 길이가 달라도 출력값은 고정된 길이로 반환되며, 암호키가 사용되지 않기 때문에 동일한 값이 입력되면 항상 같은 출력값을 보장합니다. 대표적인 해시함수로는 MD5, SHA-1, SHA-2, SHA 등이 있습니다.

MD5(Message-Digest algorithm5) 알고리즘은 128비트 고정 길이의 값을 출력하며, 입력메시지의 길이 제한이 없습니다. 주로 프로그램이나 파일이 원본 그대로인지 확인하는 무결성 검사 등에 사용됩니다.

SHA(Secure Hash Algorithm)은 MD5의 취약점을 개선하기 위해 설계되었으며, 미국 국가안보국(NSA)이 1993년 처음으로 설계하여 미국 국가 표준으로 지정되었습니다. SHA-256은 SHA-2 계열 중 하나로 미국 국립표준기술연구소(NIST)에 의해 공표된 표준 해쉬 알고리즘입니다. 주로 블록체인에서 많이 사용되며 안전하다고 평가되는 알고리즘입니다.

 

개인정보를 암호화 해야하는 이유?

‘개인정보 처리자’란 업무를 목적으로 스스로 또는 다른사람을 통하여 개인정보를 처리하는 공공기관, 법인, 단체 및 개인 등을 말합니다.

개인정보 처리자는 타인의 개인정보를 활용할 때 개인정보가 유·노출 및 변조 등이 발생하지 않고 안전하게 보관될 수 있도록 보안조치를 취해야 합니다. 개인정보 처리자의 의무는 개인정보보호법 및 신용정보의 이용 및 보호에 관한 법(약칭 신용정보법)에서 보안을 위해 개인정보의 암호화 필요성을 다음과 같이 규정하고 있습니다.

 

 

개인정보보호법과 신용정보법에서는 개인정보 중 암호화 해야하는 대상을 다르게 규정하고 있으며, 개인정보의 저장과 전송에 따라 구분됩니다.

이제는 빅데이터/사물인터넷/인공지능 등의 기술과 여러 산업에 모든 산업에 걸쳐 개인정보가 중요한 데이터로 활용되고 있습니다. 기업이나 개인은 타인의 개인정보를 활용할 때 보안에 유의해야 하며 특히 방대한 양의 개인정보를 다루는 기업에서는 개인정보의 암호화가 필요합니다.


 

출처 및 참고자료

KISA 암호이용활성화 홈페이지

개인정보보호위원회, KISA, 개인정보의 암호화 조치 안내서

관련글 더보기