1. 양방향 암호화의 분류
양방향 암호화는 크게 대칭키 방식과 비대칭키 방식으로 분류된다. 이 2가지 방식은 모두 암/복호화를 위한 키가 존재하여 복호화 과정을 통해 암호문에서 평문으로 바꾸는게 가능하다.
이 2가지 방식에 대해 아래에서 다시 한번 정리해보자
1.대칭키 방식
앞서 이야기한 것과 같이 대칭키 방식은 복호화가 가능하다. 평문의 데이터를 암/복호화 하는 과정에서 별도의 키가 존재한다. 이 때 한개의 키로 암/복호화가 가능하기에 이를 대칭키 방식이라고한다.
가장 보편적으로 사용되는 방식은 현 미국 표준 방식인 AES이다. AES에 대해 간략히 알아보면 Advanced Encryption Standard의 줄임말로서 우리 말로는 고급 암호화 표준이다. AES는 암호화 블록의 크기가 128비트이며 암호화 키의 길이가 128, 192, 256비트 세가지 종류가 있다. 각각 AES-128, AES-192, AES-256으로 불린다.
대칭키 방식의 장/단점은 아래와 같다.
장점 | 단점 |
· 연산속도가 빠르고 구현이 용이하다. · 속도가 빠르기 때문에 대량 Data 암호화에 유리하다. · 암호화 할 수 있는 평문의 길이에 제한이 없다. |
· 키 관리가 어렵다. · 암호화한 정보 전달 시 암호 키를 함께 보내는데, 암호키는 평문이기에 암호키 유출에 대한 위험성 존재한다. 즉, 기밀성을 보장하지 못한다. |
※ 기밀성이란 정보를 인가된 사람들에게만 공개하는 것을 말한다.
2. 비대칭키 방식
대칭키와 다르게 암호화 할 때 사용하는 키와 복화화 할때 사용하는 키가 다른 경우를 말한다. 비대칭키 방식은 private key(개인키), public key(공개키) 이렇게 2가지의 키를 가지게 된다.
공개키와 개인키를 이용해 암/복호화 하는 방법은 아래와 같고 각각 다른 관점으로 접근이 가능하다.
1) 공개키를 이용해 암호화, 개인키를 이용한 복호화 : 데이터를 안전하게 전송할 수 있는 보안 관점
2) 개인키를 이용해 암호화, 공개키를 이용한 복호화 : 신뢰할 수 있는 단체임을 인증하는 관점
데이터의 보안 관점은 사용자의 개인정보 같은 보안이 필요로 하는 중요한 데이터 보호하기 위해서 사용된다. 서버의 공개키를 이용해 데이터를 암호화 한 후 데이터를 전송하게 되면 이 데이터는 서버가 유일하게 가지고 있는 개인키로만 복호화가 가능하다. 그렇기 때문에 제 3자가 데이터를 중간에 가로채더라도 클라이언트로부터 전송된 데이터가 어떤건지는 확인할 수 없게 된다.
그렇기에 공개키를 이용해 암호화, 개인키를 이용해 복화화는 데이터 보호 목적으로 사용된다.
인증 관점은 데이터의 보호의 목적이 아닌 데이터를 보내는 송신측의 신원을 보장하기 위함이다. 암호화, 복호화를 이야기하는데 왜 갑자기 신원 보장, 인증 등등의 이야기를 하는 걸까?
데이터 보안 관점과 다르게 인증 관점에서는 데이터 암호화를 개인키를 이용해 암호화를 하게된다. 이후 복호화는 사람들에게 공개된 키인 공개키를 이용해 복호화를 하게 된다. 공개키는 여러 단체, 혹은 사람들이 알수 있는 키 값이다. 그렇기에 공개키를 이용하여 복호화를 하게 되면 공개키를 알고 있는 어느 누구나 가능하기 때문에 데이터의 보호 목적으로는 적합하지 않게 된다.
수신자가 송신자에게 개인키를 부여했다는 의미는 수신자는 송신자가 믿을 만한 곳으로 판단을 했기 때문에 신원을 보장했다는 의미가 된다. 그렇기에 개인키를 이용해 암호화, 공개키를 이용한 복호화는 데이터의 보호가 아닌 인증 목적으로 사용하게 된다.
인증 목적, 즉 전자서명에 사용되는 과정에 대해 간단하게 알아보자.
1) 송신측에서는 개인키와 공개키를 각각 생성한다.
2) 송신측에서는 생성된 키 중 공개키를 수신측으로 전달한다.
3) 수신측은 송신측의 공개키를 보관한다.
4) 송신측에서는 개인키를 이용하여 암호화하여 수신측으로 전송한다.
5) 수신측에서는 공개키를 이용하여 복호화 후 개인키를 갖고 있는 측에서 전송했다는 것을 보증할 수 있다.
비대칭키 방식에 주로 사용되는 것은 RSA 방식이다. RSA는 소수, 큰 수는 소인수분해하기 힘들다는 점을 이용하여 개발한 알고리즘이다.
비대칭키 방식의 장점과 단점은 아래와 같다.
장점 | 단점 |
· 암호화한 데이터 전송 시 암호 키를 전송하지 않으므로 키 노출의 위험성이 없다. · 다양한 보안서비스(인증, 암호)로 이용이 가능하다. |
· 암/복호화 속도가 대칭키에 비해 속도가 느리다. · 대칭키에 비해 구현이 복잡하다. · 중간자 공격에 취약하다. |
3. 하이브리드 방식
앞에서 대칭키 방식과 비대칭키 방식은 각각 장단점이 존재함에 따라 이른 보안하고자 하이브리드 방식이 나오게 되었다.
하이브리드 방식은 메시지를 속도가 빠른 대칭키 방식으로 암호화한다. 이렇게 하면 메시지가 암호문으로 변환되기 때문에 기밀성을 지킬 수 있다. 그리고 나서 대칭키 암호의 단점인 전송 시 기밀성을 지키기 위해 공개키를 이용하여 암호화를 진행한다.
이렇게 하면 비대칭키의 단점인 속도를 보완하고 대칭키의 단점인 기밀성을 보장할 수 있게된다.