1. 대칭키 암호화(Symmetric Encryption)

- 정의: 하나의 키가 데이터를 암호화하고 해독.

- 원리: 송신자가 키를 사용해 데이터를 암호화하고, 암호화된 데이터를 암호화한 키와 함께 한 패킷에 동봉하여 상대에게 전달한다. 이후 상대가 이 키(송신자가 암호화하는데 사용한 동일한 키)를 사용해 데이터를 복호화 해 읽는다. 이 과정에서 키가 탈취되면 키를 가진 누구나 데이터를 복호화 및 변조할 수 있게 되기 때문에, 안전하게 키를 전달하는 방법이 문제시 된다. 

- 장점: 1) 암호화 방식이 빠르다. 2) 기밀성을 제공한다.

- 단점: 1) 앞서 언급 되었듯이 키 교환 보안 문제가 대두된다.  2) 무결성/인증/부인방지를 보장하지 않는다.

- 대표 알고리즘: RSA, DSS 등

 

2. 비대칭키 암호화(Asymmetric Encryption)

- 정의: 두 개의 키가 쌍을 이루어 데이터를 암호화 및 해독. 한 사람 당 하나의 키가 아닌 두 개의 키(공개키, 개인키)를 가진다. 공개키는 암호화하는데 사용되며, 타인과 공유 가능하다. 개인키는 자신과 짝꿍인 공개키로 암호화된 데이터를 복호화하는데 사용되며 타인과 공유가 되지 않는다. 이러한 비대칭키 암호화는 대칭키 암호화와 비교하여 공개키라는 새로운 개념을 도입했기 때문에 '공개키 암호화'라고도 불린다. 

- 원리: 각 사용자가 자신의 컴퓨터에 키 관리 소프트웨어를 사용해 각각 한 쌍의 키를 생성한다. 통신을 하기 전 수신자A는 송신자B에게 자신의 공개 키공개 키 증명서와 함께 보낸다. 그럼 송신자B는 메시지를 받아온 수신자A의 공개키로 암호화 한뒤, 암호화된 데이터와 함께 수신자A에게 다시 전달한다. 수신자A는 자신의 공개키로 암호화된 메시지를 자신의 개인키를 이용해 복호화하여 읽는다.

- 장점: 대칭키 암호화에서 문제되던 키 교환 시 보안 문제가 해결된다. 공개 키의 개념 덕에 개인 키를 공유할 필요 없어졌으며, 중간에 공개키가 탈취 당한다고 해도 탈취자는 개인 키가 없기 때문에 데이터 복호화가 불가능하다. 즉, 데이터는 송신자와 수신자가 아닌 타인에게 노출되거나 수정될 위험에서 안전하다. 

- 단점: 속도가 느리다. 공개 키 암호화는 대칭 키 암호화보다 계산적으로 더 많은 자원(비트, 시간)을 요구한다. 따라서 느리다. 

- 대표 알고리즘: DES, 3DES, AES, SEED, ARIA 등

+ Recent posts