S/MIME(Secure Multipurpose Internet Mail Extensions)은 전자 메일의 보안을 강화하기 위해 디지털 서명 및 암호화 기능을 추가한 것입니다. 이를 이해하기 위해서는 MIME을 먼저 이해해야 합니다. MIME은 전자 메일이나 인터넷 상에서 다양한 데이터 유형을 전송하는 데 사용되는 표준 인코딩 방식입니다. MIME은 전자 메일과 관련된 다양한 기능을 제공하지만, 암호화 기능을 제공하지는 않습니다. 반면에, S/MIME은 MIME에서 사용되는 표준 인코딩 방식을 사용하면서도 데이터 보안을 강화하는 데 사용됩니다. S/MIME은 대칭키 암호화와 비대칭키 암호화를 결합하여 전자 메일을 안전하게 보호합니다. 보내는 사람은 대칭키 암호화를 사용하여 메일을 암호화하고, 받는 사람의 공개키를 사용하여 암호화합니다. 또한, 인증서를 사용하여 메일을 서명하여 받는 사람이 메일이 변조되지 않았음을 보장합니다.
메세지 암호화를 위한 공통 비밀키 생성
송신자와 수신자 간의 통신에서, 송신자는 먼저 랜덤한 값을 생성하고 이를 Diffie-Hellman 알고리즘을 사용하여 수신자의 공개키와 함께 공유합니다. 이후 송신자는 메시지를 AES 알고리즘을 사용하여 대칭키로 암호화합니다. 이 때 비밀키는 이전에 공유한 랜덤한 값과 송신자의 개인키, 수신자의 공개키를 사용하여 생성됩니다.
암호화된 메시지와 함께 송신자는 이전에 공유한 랜덤한 값을 Diffie-Hellman 알고리즘을 사용하여 수신자에게 전송합니다. 수신자는 송신자가 전송한 랜덤한 값을 이용해 비밀키를 생성한 후, 이를 이용하여 암호화된 메시지를 복호화합니다.
이 과정에서 메시지와 비밀키는 암호화되어 전송되지만, 랜덤한 값을 제외한 모든 값들은 공개되어도 상관이 없는 값들입니다. 이러한 방식으로 공개키 암호화와 대칭키 암호화를 결합함으로써 안전하고 효율적인 메시지 전송이 가능해집니다.
'암호화 알고리즘' 카테고리의 다른 글
공인인증서 (공개키 알고리즘 Usecase) (0) | 2023.10.11 |
---|---|
TLS/SSL 통신 - 2 (공개키 알고리즘 Usecase) (1) | 2023.10.11 |
TLS/SSL 통신 - 1 (공개키 알고리즘 Usecase) (1) | 2023.10.11 |
ECC 알고리즘 (1) | 2023.10.11 |
ElGamal 알고리즘 (0) | 2023.10.11 |