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

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

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

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

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

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

 

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

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

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

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

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

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

1. 배경 지식

전자 봉투에 대해 알기 전에 대칭키와 비대칭키의 개념에 대해서 알아야 한다. 전자 봉투대칭 키 암호화와 공개 키 암호화의 장점들을 묶어 나온 기술이기 때문이다. 간단히 설명하면 전자봉투는 대칭 키의 장점인 빠른 속도와 공개 키 암호화의 장점인 보안성을 모두 확보한 기술이다. 아래 전자 봉투 기술을 사용한 암호화/복호화 과정을 살펴보며 그 원리를 이해해보자.

2. 전자 봉투(Digital Envelope)

그림1. 전자 봉투 암호화 과정

2.1. 전자 봉투의 작동 원리

전자 봉투를 이용한 암호화 과정을 개략적으로 보면 위 그림과 같다.

1) 송신자의 문서+공개키를 대칭 키로 암호화: 먼저 빠른 것이 장점인 대칭 키를 사용했기 때문에 빠르다. 
2) 대칭키의 단점인 키 안전하게 분배 문제를 해결하기 위해, 1)에서 사용된 대칭 키를 수신자의 공개키로 암호화 한다.(공개 키 암호화) 이 때 이러한 대칭키 암호화 과정이 편지 봉투에 담는 것과 같다고 하여 전자 봉투라고 칭하게 되었다.
3) 1)에서 암호화된 데이터 + 2)에서 암호화된 키까지 한 패킷에 전송한다. 

 

참고로 전자 봉투는 이렇게 대칭키를 한 번 더 봉투에 감싸는 것과 같다고 하여 붙여진 이름이며,

좁게는 암호화된 대칭키, 넓게는 암호화된 대칭키 + 이와 함께 상대에게 전송된 암호화된 메시지까지 총칭한다.

 

2.2. 전자 봉투의 복호화 과정 

그림2. 전자 봉투를 이용한 암호화/복호화 자세한 과정

 

위 그림은 그림1의 과정을 더 상세히 표현 + 복호화 과정까지 담은 것이다.
이를 통해 더 자세한 전자봉투의 암호화 동작 원리와 나아가 복호화 원리까지 알수 있다. 이를 글로 풀어 설명하면 아래와 같다.

4) 수신자는 전달 받은 전자 봉투를 자신의 개인키로 열어 전자봉투로부터 대칭 키를 꺼내면(대칭키 복호화),
5) 그 대칭 키로 암호화된 메시지를 복호화한다.
6) 복호화된 메시지(원문+전자서명+송신자의 공개키)를 확인 가능하다.
8) 이 때 송신자의 공개키를 활용해 전자 서명을 복호화 한다. 원문은 해시 함수에 통과시킨다. 복호화된 전자서명과 해시함수를 통과한 메시지 다이제스트가 서로 일치하는 지 검증한다. -> 일치한다면 송신자A가 보낸 것이 맞다는 것이 검증된다.

 

3. 정리 

 

이렇게 대칭 키 암호화와 비대칭 키 암호화의 장점을 섞은 전자 봉투 기술의 개념과 동작 원리 방법에 대해 알아보았다. 대칭 키 암호화와 공개 키 암호화의 장점만을 차용한 전자 봉투 기술은 기존 대칭 키의 단점을 보완하여 기밀성과 무결성을 보안할 뿐 아니라 인증과 편리함을 제공한다. 이러한 전자 봉투 기술은 전자 상거래의 이중 서명 등으로 사용되며, 통신 안전을 높이는 데에 기여한다.

 

참조 문헌

https://help.sap.com/doc/saphelp_snc70/7.0/en-US/b8/821ffddadd11d2a60a0000e835363f/content.htm?no_cache=true

 

Creating a Digital Envelope (SAP Library - Digital Signatures and Encryption)

To create a digital envelope, you need access to the intended recipient's public key. How to obtain access to the public key depends on the public-key infrastructure of your organization. You also need the digital document that you want to protect. The res

help.sap.com

https://blog.naver.com/jvioonpe/221388172751

 

[보안구현기술] 전자봉투(Digital Envelope)의 이해(생성 및 개봉 동작원리)

전자봉투의 아이디어는 공개키 암호화와 대칭키 암호화의 하이브리드 속에서 나왔다고 볼 수 있다. 대칭키 ...

blog.naver.com

 

+ Recent posts