Security Basic

암호의 세계 (대칭키 암호, 공개키 암호, 하이브리드 암호, 해쉬) 요약

T-Evan 2010. 8. 11. 22:57

다들 어려워 하고 두려워 하는 암호 알고리즘..

보안을 하려면 당연히 베이스로 기초 지식정도는 습득하고 있어야 하는 부분이라고 생각이 든다.

그런 점에서 간략하게나마 몇자 적어보려고 한다.

암호의 종류는 키의 사용 방법에 따라 대칭 암호 비대칭 암호로 구분된다.

여기서  대칭, 공개키, 비대칭 등의 용어로 많이 헷갈려 하기 시작하는데 사실 알고보면 어렵지 않다.

간단히 정리해 보자면

암호화와 복호화를 같은 키를 사용하면 - 대칭키, 비밀키 (알고리즘 종류  : DES, AES, 3-DES ... )
암호화와 복호화를 다른 키를 사용하면 - 비대칭키, 공개키 (알고리즘 종류 : RSA, DSA, EIGamal ... )

로 나눌 수 있다.

설명을 해보자면

암호화와 복호화 할 때 같은키를 사용하니 대칭키
암호화와 복호화 할 때 같은키를 사용하는데 둘중 하나라도 유출 되면 암호문은 제역할을 할 수 없게된다. 그러므로 비밀리에 키를 공유해야 하므로 비밀키

암호화와 복호화 할 때 다른키를 사용하니 비대칭키
암호화와 복호화 할 때 다른키를 사용하는데 하나는 공개되어도 상관없는키(공개키), 다른 하나는 공개되면 안되는 키(비밀키) 이렇게 2개의 키를 가지게 된다. 주로 공개키는 평문을 암호화 하는데 사용되고 비밀키는 암호화된 평문을 다시 평문으로 돌리는데 사용된다.


☆★ 대칭키 암호 VS 공개키 암호


 대칭키 암호 공개키 암호 
 암호/복호에 동일한 키와 동일한 알고리즘 사용
 수신자와 송신자는 키를 교환해야 함
 공유한 키(비밀키)는 비밀로 유지
 키 분배의 어려움
 디지털 서명 불가능(개인 증명이 힘들다)
 속도가 빠름
 암호/복호에 각각 서로 다른 키 와 동일한 알고리즘 사용
 수신자와 송신자는 연결된 키쌍 중 하나를 알아야 함
 키 쌍중 하나(개인키)를 비밀로 유지
 공개키를 공개
 디지털 서명 가능
 속도가 느림



☆★ 키 분배 문제, 키 관리의 문제

 대칭키 공개키
 공유하는 키가 비밀로 유지되어야 하므로 키가 절대로 유출되어서는 안된다. 그러므로 키를 공유하기 위해서는 직접 만나서 키를 교환하거나 VPN 등의 안전한 채널을 사용하여 키를 공유해야 하는 문제점이 있다.  
 키를 공유함에 있어 문제는 없다. 그 이유는 두개의 키 중에서 하나는 공개해도 상관없는 키이기 때문이다. 하지만 비밀키는 절대로 유출이 되면 안되기 때문에 이 비밀키를 유지하기 위한 비용이 든다는 문제점이 있다.



☆★ 하이브리드 암호 시스템
- 대칭 암호는 처리속도가 빠르지만 키 배송문제가 있고 비대칭 암호는 처리속도는 느리지만 키 배송문제는 없다. 그러므로 이 둘의 장점을 합하면 키 배송문제도 해결되고 처리속도도 빨라진다. 이 하이브리드 암호 시스템은 주로 공인인증서에서 사용되고 있다.



☆★ 해시(HASH)함수 특징
- 해시 함수는 오직 무결성만 체크한다.
- 암호화는 가능하나 복호화가 불가능하다.
- 1비트의 손상이라도 있을 경우 무결성이 깨어진다.
- 해시값의 길이는 메시지의 길이와는 상관없이 일정하다.
- 해시함수를 무결성 확인에 사용하기 위해서는 충돌이 발견되어서는 안된다.




★ 좀더 자세히 알고 싶으신 분들은 자료실의 Document 안의 자료를 참고하시기 바랍니다.