1. 이메일 보안의 개념
이메일 보안은 무단 엑세스와 그에 따른 피해로부터 이메일 계정 및 통신을 보호하는 것을 목표로 한다. 각 조직은 맬웨어, 스팸 메일, 피싱 공격을 비롯한 여러 악의적인 위협으로부터 보호하기 위한 정책을 수립하고, 그에 따른 도구를 사용하여 이메일 보안을 강화할 수 있다. 공격자는 1. 이메일이 다른 계정 및 장치에 쉽게 접근할 수 있다는 점과 2. 상당 부분 이용자의 실수에 의존하기 때문에 이메일을 표적으로 삼곤 한다. 그저 이용자가 한 번만 잘못 클릭해도, 그것이 조직 전체의 보안 위기로 이어질 수 있기 때문이다.
1.1 이메일 보안의 중요성
요새는 워낙 다양한 커뮤니케이션 도구가 등장하며 각광을 받고 있어 갈수록 이메일의 사용 빈도가 줄어들고 있는 것은 사실이다. 그러나 그렇다고 해도 이메일은 여전히 회사 내에서 사용되고 있는 도구이다. 전 세계를 기준으로 할 때, 매일 3,000억이 넘는 이메일이 오간다고 한다. 물론 그중 정말 해커가 노릴 만한 대상을 고려하면 줄어들긴 하겠다만, 그럼에도 기업의 귀중한 정보를 훔치고자 하는 해커에겐 좋은 타겟이 될 수 있다. 미국의 FBI IC3(인터넷범죄신고센터)의 리포트에 따르면, 2020년 기준 사이버 범죄로 인한 피해 비용이 41억 달러가 넘는다고 한다. 그 피해 안에서 비즈니스 이메일 침해로 인한 피해가 가장 크고 말이다. 그러니 요약하면 간단하다. 우리는 여전히 회사에서 이메일을 사용하고 있으며, 그것은 해커에게 좋은 먹잇감으로 보인다는 것이다. 그렇기에 우리는 각 조직에 적합한 이메일 보안 기법을 적용하여 공격을 최대한 예방해야 할 것이다.
2. 주요 이메일 보안 기법
ㄱ. PGP(Pretty Good Privacy)
MIME(Multipurpose Internet Mail Extension) 객체에 암호화와 전자서명 기능을 추가한 암호화 프로토콜이라 할 수 있다. 네트워크를 통해 주고받는 메시지에 대해 송수신자에게 보안 서비스를 제공하고, 평문 메시지를 암호화한다.
PGP는 DSS/SHA 또는 RSA/SHA로 전자서명이 가능하고, CAST-128, IDEA, 3DES로 메시지 암호화를 하며, 디피-헬만 또는 RSA로 키 분배를 하고, RADIX-64로 바이너리를 아스키 코드로 변환하여 이메일 호환을 제공하며, 메세지 최대 사이즈를 제한한다.
PGP는 3단계 프로세스를 따른다.
1단계: PGP는 추측할 수 없는 거대한 일회성 공개 암호화 알고리즘을 생성하며, 이는 랜덤 세션 키라 할 수 있다.
2단계: 그 세션 키는 수신자의 공개 키를 사용하여 암호화되고, 이는 전송 동안 메시지를 보호하는 역할을 한다.
3단계: 메시지 발신자가 세션 키를 제출하면 수신자는 개인 키를 사용하여 메시지를 복호화할 수 있다.
PGP의 장점이라고 한다면 알고리즘이 깨지지 않는 것을 들 수 있다. 사실 이것만으로도 보안 수준이 엄청나게 높다고 말할 수 있을 것이다. 반면, 단점으로는 사용의 복잡성, 키 관리, 익명성의 부족, 호환성 등을 들 수 있다. PGP는 사용자가 보내는 메시지를 암호화하지만 익명화하지는 않는다. 공격자는 이것을 노려 발신자와 수신자를 추적할 수 있을 것이다. 또한, 호환성 문제는 송수신자가 동일한 버전의 소프트웨어를 사용해야 한다는 번거로움을 말한다.
PGP는 계속 새 버전을 출시하며 취약점을 수정하고 있다. PGP의 실생활 사례를 보면 마치 텔레그램 사태가 떠오르기도 한다. 안전하다는 것은 일반 이용자들에게도 해당되지만, 공격자들에게도 마찬가지인 것이다. 미국, 영국 같은 나라에서 조차 PGP 해독을 할 수 없어 법안을 사용하여 강제로 범죄자가 키를 제공하도록 강제하기도 했다.
ㄴ. PEM(Privacy Enhanced Mail)
프라이버시 향상 이메일이라는 뜻으로, 중앙집중화된 키 인증 방식으로 구현이 어렵지만 높은 보안성을 제공한다. 그렇기에 군대나 은행에서 주로 쓰이는 도구다. SMTP를 사용하는 기존의 전자우편 시스템의 보안 취약점을 보완하고, 기밀성, 무결성, 인증, 세션키 분배를 수행한다.
PEM은 기본적으로 4가지 주요 단계로 동작한다.
1단계: 정규 변환 단계로, 송신자와 수신자 간의 컴퓨터 아키텍처나 운영체제가 다른 경우 운영 체제 간의 구문 차이로 인한 해석의 차이가 발생할 수 있다. 따라서 독립적인 표준 형식으로 변환하는 작업이 진행된다.
2단계: 디지털 서명 단계로, 이 단계에서는 송신자의 개인 키를 이용하여 이메일 메시지의 메시지 다이제스트를 암호화 한다. 그리하여 디지털 서명이 생성된다.
3단계: 암호화 단계로, 암호화된 메시지는 대칭 키와 함께 원본 메시지와 디지털 서명을 모두 암호화하여 생성된다. 기밀성을 확보하는 중요 단계라고 할 수 있다.
4단계: BASE 64 인코딩 단계로, 바이너리 출력이 문자 출력으로 변환되는 마지막 단계이다. 24비트인 이진 출력은 4개의 동일한 세트로 나눠지고, 10진수 코드를 생성하는 8비트 문자 출력과 매핑된다.
PEM의 이점은 이름에서도 보이는 강화된 보안이라 할 수 있다. PEM을 사용하면 사용자는 민감한 기밀 정보가 공격자에 의해 가로채거나 손상되지 않게 보호할 수 있다. 특히 PEM의 고급 암호화 기능을 사용한다면, 공격자가 메시지에 설령 엑세스를 하더라도 메시지를 해독하는 것이 사실상 불가능하다고 볼 수 있다. 또한, PEM의 디지털 서명 메커니즘은 수신 메시지가 열리기 전에 진위 여부를 확인하기 때문에 피싱 공격을 비롯한 여러 유형의 공격으로부터 보호도 가능하다. 그리고 처음 PEM을 소개할 때 은행에서 주로 쓰인다고 말했는데, 보통 금융권은 귀중한 정보를 보호하기 위한 엄격한 지침이 있기 마련이다. 그렇기에 은행에서 쓰인다는 말은 여러 규정과 법률 준수에 있어 적합한 모델이라는 뜻이기도 하다. 또한 갈수록 호환성이 발전하고 있어 더욱 쉽게 채택하고 적용할 수 있는 서비스가 되고 있다. 반면, 단점으로는 키 관리가 상당히 복잡하다는 점, 중앙집중화된 방식을 사용한다는 것만으로 일부 기업에는 적합하지 않다는 점 등을 들 수 있을 것이다.
한편, 이런 PEM은 최신 기술이라 할 수 있는 IoT, 블록체인 기술과 결합하는 양상을 보이고 있다. 미래에는 PEM의 적용 범위가 더욱 늘어날 수도 있을 것이다.
ㄷ. S/MIME(Secure Multi-Purpose Internet Mail Extensions)
표준 보안 메일 규약으로, 송신자와 수신자를 인증하며, 메시지의 무결성을 증명하고, 이는 첨부파일을 포함한다. 메일 전체를 암호화하기 때문에 메시지 내용의 프라이버시를 보증하는 프로토콜이라 볼 수 있다. 기존 인터넷 MIME 메시지에 전자 서명과 함께 암호화를 더한 것이기도 하다. S/MIME을 사용하면 보안된 채널을 통해 암호화된 이메일을 보내고 받을 수 있는 것이다.
S/MIME은 수학적으로 관련된 키 쌍(공개 키와 개인 키)을 사용하여 작동하는 비대칭 암호화를 기반으로 한다. 그 공개 키를 기반으로 개인 키를 알아내는 것은 계산상 불가능하다 볼 수 있다. 이메일은 수신자의 공개 키로 암호화되는데, 이메일은 수신자가 단독으로 소유해야 하는 해당 개인 키를 통해서만 해독할 수 있다. 그렇기에 개인 키가 손상되지 않는 한, 정당한 수신자만이 이메일에 있는 내용에 액세스할 수 있는 것이다. 이것이 S/MIME의 핵심 동작 방식이라 볼 수 있다.
S/MIME의 장점은 Gmail을 비롯한 대부분의 이메일 클라이언트 및 서버에서 지원된다는 것이다. 또한, 신뢰할 수 있는 기관으로부터 인증서를 받아 이메일 클라이언트에 설치만 하면 되므로 셋팅과 사용이 매우 수월하다 볼 수 있다. 그런데 그 신뢰할 수 있는 기관이라는 것은 사실 절대적이진 않을 것이다. 인증 기관이 만약 신뢰성을 잃는다면, 그에 따른 S/MIME도 보안에 문제가 생길 여지가 있다. 그리고 위에서 S/MIME은 첨부파일을 포함한 메일 전체를 암호화한다고 말했는데, 그것은 결국 많은 저장 공간과 대역폭이 필요함을 의미할 것이다.
※ 그렇다면 무슨 보안 기법을 사용해야 하는가?
모든 기법이 그러하듯, 절대적으로 정답은 없기 마련이다. 각 조직과 시스템에 적합한 보안 기법이 있기 때문에 가장 좋은 것은 가장 좋은 제품들을 테스트해보는 것이다. 특정 보안 기법을 기반으로 한 보안 서비스가 다양하기 때문에 각자가 속한 조직에 필요한 보안 수준, 송수신하는 이메일의 유형과 크기, 이메일 클라이언트와 서버의 호환성, 키 관리 비용, 암호화 설정, 유지 비용, 회사 정책 등 여러 기준을 고려해서 테스트한다면 적합한 제품을 잘 찾아낼 수 있을 것이다.
'보안 > 개념' 카테고리의 다른 글
입출력 인터페이스 총정리 (0) | 2023.12.15 |
---|---|
메모리 시스템 총정리 (0) | 2023.12.14 |
CPU에 대한 구조적 이해 총정리 (0) | 2023.12.12 |
정보보호 공격유형과 보호대책 총정리 (0) | 2023.12.11 |
정보보호 목표 총정리(기밀성, 무결성, 가용성) (0) | 2023.12.10 |