정보보호론/애플리케이션 보안

전자우편 보안통신규약

retro_blue 2020. 9. 14. 20:30
반응형

■ 전자우편 보안통신규약 (비밀성, 무결성, 인증, 부인방지 기능 지원)

 - 안전한 이메일 시스템을 위해서는 PKI(공개키 기반 구조)와의 연동이 중요하다

 - 수신 이메일로 침입을 꾀하는 랜섬웨어, 피싱 및 기타 사이버 위협을 차단하면서도 발신 메시지가 민감한 데이터를 부적절하게 유출하지 못하도록 설계되어야 한다

 

1) PEM (Privacy Enhanced Mail) : 전자우편의 비밀보호규격

 - 프라이버시 향상 이메일이라는 뜻으로, 인터넷에서 사용되는 이메일 보안 시스템의 하나이다

 - 인터넷 환경에서 이메일은 무수한 호스트를 거쳐 전송되며, 송ㆍ수신자의 주소와 내용까지도 그대로 볼 수 있는 엽서와 같은 구조를 가지고 있기 때문에, 이런 과정에서 얼마든지 탈취되거나 변조 또는 위조될 가능성이 있다

 - 이러한 상황에서 보안을 유지하는 방법은 내용을 암호화하여 제3자가 알아볼 수 없게 하는 것이다

 - 현재 인터넷에서는 PEM과 PGP 등의 보안통신규약이 제안되어, 이것을 포함한 소프트웨어가 개발되어 사용되고 있다

 - PEM은 공개키 시스템과 공용키 시스템을 모두 사용한다

 - PEM은 메시지의 내용을 암호화 알고리즘을 사용하여 암호화하여 보내며, 특정한 키가 있어야만 내용을 볼 수 있도록 되어 있기 때문에 비밀성, 메시지 무결성, 사용자 인증, 발신자 부인방지, 수신자 부인방지, 메시지 반복 공격 방지 등의 기능을 지원한다

 

2) PGP (Pretty Good Privacy)

 - 인터넷에서 사용되고 있는 전자우편(이메일)용 보안 프로토콜

 - 이메일 보안이나 파일 암호화에 사용

 - 인터넷에서 전자우편을 사용할 때 보내고자 하는 내용을 암호 알고리즘을 이용하여 암호화해서 해당 키(Key)가 있어야만 내용을 볼 수 있도록 하는 것으로 기밀성, 무결성, 인증, 송신 부인방지 등의 기능을 지원하는 이메일 보안 기술

 - 필 짐머만 (Phil Zimmermann)이 독자적으로 개발한 것으로, 인터넷의 표준화 조직인 인터넷 엔지니어링 태스크 포스(IETF)에서 표준으로 채택한 PEM에 비해 보안성은 못하지만, 이것을 포함한 프로그램이 공개되어 있어서 현재 가장 많이 사용되고 있음

 - 이메일이 필요한 보안 기능 중 수신 부인방지와 메시지 부인방지를 제외한 나머지 4개 기능을 지원

 - 메시지의 비밀성을 위한 암호화에는 RSA와 IDEA 등의 암호화 알고리즘이 사용되고, 메시지의 무결성을 보증하기 위한 메시지 인증과 메시지의 생성, 처리, 전송, 저장, 수신 등을 한 사용자 보증을 위해 사용자 인증의 디지털 서명에는 RSA가 사용된다. 또한 해시함수에는 메시지 다이제스트 알고리즘 5(MD5)가, 키 관리에는 RSA가 사용된다

 

★ PGP의 특징

 - 전자우편 암호화 (필 짐머만 : Phil Zimmermann 개발)

 - 응용계층에서 동작

 - 개인용 전자우편 교환

 - 공개키 인증을 위해 PGP 인증서를 사용

 - PGP는 인증기관을 사용하지 않는다. 즉 자신의 공개키를 전달하는 데 인증기관의 서명이 불필요하다는 것이다

 - PGP는 신뢰망(Web of Trust)이라는 방법을 이용한다. 이것은 PGP 사용자가 서로의 공개키에 대해 서로 디지털 서명을 하는 방법이다

 - 송신자 측에서는 전송할 이메일에 대한 전자서명 생성에 사용되며, 수신자 측에서는 이메일에 포함된 전자서명의 확인 작업에 사용된다

 - 이메일에 서명할 때 서명자의 패스워드를 요구한다

 - 이메일 애플리케이션에 플러그인 (plug-in) 방식으로 확장이 가능하다

 - PGP는 데이터를 압축해서 암호화 한다

 - 공개키(비대칭키) 암호화 알고리즘을 사용한다 (쎄부적으론 하이브리드 방식과 유사)

 * 압축된 메시지 및 서명된 다이제스트를 세션키로 암호화 (기밀성 제공)

    세션키를 수신자의 공개키로 암호화하고, 세션키로 암호화 된 데이터와 함께 전송

 

★ PGP의 기능과 사용된 알고리즘

기능 알고리즘
메시지의 암호화 IDEA, RSA
전자서명 RSA, MD5
압축 ZIP
전자메일 호환 Radix 64 conversion

 

★ PGP의 단점

 - 낮은 보안성, 낮은 이식성, 기본 시스템과의 통합이 어려움

 - 1991년 처음 개발된 뒤 메사추세츠공과대학(MIT)에서 공개버전이, 보안회사인 비아크리프트(ViaCrypt)사에서 상업버전이 각각 출시되었다

 - 공개버전과 상업버전은 모두 미국과 캐나다에서만 사용할 수 있으며, 오직 유닉스(UNIX) 버전만이 두 나라 이외의 지역에서도 사용할 수 있도록 하고 있다

 - 하지만 공개버전은 우리나라에서도 현재 사용 중이며, 현재 무료로 사용되고 있는 것은 버전 7.05이다

 

■ PEM과 PGP 비교

구분 PEM PGP
개발자 IETF Phil Zimmermann
키인증 방식 중앙집중화 된 키인증 분산화 된 키인증
특징 - 인터넷 표준(안)
- 익명의 메시지 불허용
- 구현의 어려움
- 높은 보안성(군사용, 금융계 등)
- 이론 중심
- 많이 사용되지 않음
- 응용프로그램
- 익명의 메시지 허용
- 구현의 용이성
- PEM에 비해 낮은 보안성
- 실세계 사용 중심
- 현재 많이 사용
제공기능 - 기밀성 (Confidentiality)
- 메시지 인증 (Message Integrity)
- 사용자 인증 (User Authentication)
- 송신 부인방지 (Nonrepudiation of Origin)
- 수신 부인방지
- 메시지 재전송방지기능 (메시지반복공격)
- 기밀성 (Confidentiality)
- 메시지 인증 (Message Integrity)
- 사용자 인증 (User Authentication)
- 송신 부인방지 (Nonrepudiation of Origin)

- 현재의 PGP에서는 기밀성(Confidentiality), 메시지 인증(Message Integrity), 사용자 인증(User Authentication), 송신 부인방지(Nonrepudiation of Origin) 기능은 지원해 줄 수 있지만, 수신 부인방지, 메시지 재전송방지기능은 아직 지원해 주지 못하고 있다

- 그럼에도 불구하고 PGP가 널리 사용되는 이유는 DOS, WINDOWS, MAC, UNIX 등 여러 기종에서 사용이 가능하고, 사용된 알고리즘들이 높은 보안성을 지니고 있기 때문이다. 또한 정부나 표준기관이 아닌 개인의 작품으로 넓은 활용분야를 가지고 있으며 싼 가격의 상용제품과 공개용 버전이 있기 때문에 많이 사용하고 있다.

 

 

■ SSH (Secure Shell)

 - 네트워크 보안 도구 중 하나로 원격접속을 안전하게 할 수 있게 해주는 프로토콜

 - PGP와 마찬가지로 공개키 암호화 방식을 사용하여 암호화 된 메시지를 전송할 수 있는 시스템으로 원격 시스템에 접속할 때 사용하는 서비스로서 telnet, rlogin, rcp 등은 암호화하지 않은 상태의 평문으로 데이터가 전송되므로 보안에 취약할 수 있다. 따라서 이를 보완하기 위해 전송되는 데이터를 공개키(비대칭키) 암호 기법으로 암호화 한다

 

 

★ SSH 프로토콜 스택

 - SSH 전송계층 프로토콜(SSH Transport Layer Protocol) : TCP가 안전한 전송계층 프로토콜이 아니므로 SSH는 먼저 TCP상에 안전한 채널을 생성하는 프로토콜을 사용한다. 이 새로운 계층은 SSH-TRANS라 불리는 독립적인 프로토콜이다

 - SSH 인증 프로토콜 (SSH User Authentication Protocol) : 클라이언트와 서버 간에 안전한 채널이 설정되고 클라이언트에 대해 서버 인증이 이루어진 후 SSH는 서버에 대해 클라이언트를 인증하는 소프트웨어를 호출할 수 있다

 - SSH 연결 프로토콜 (SSH Connection Protocol) : SSH-CONF 프로토콜에 의해 제공되는 서비스 중의 하나는 여러 개의 논리적 통신채널의 다중화를 수행하는 것이다

 - SSH 응용 (SSH Application) : 연결단계를 마치면 SSH는 몇 가지 응용프로그램들이 그 연결을 사용할 수 있도록 한다. 각 응용은 논리적 채널을 생성할 수 있고 안전한 연결의 혜택을 받을 수 있다

 

 

 

■ S/MIME

 - 표준 보안 메일 규약으로 송ㆍ수신자를 인증하고 메시지의 무결성을 증명한다

 - S/MIME는 공개키 암호 기술을 적용한 표준 보안 메일 규약으로 훔쳐보기(Snooping), 변조(Tampering), 위조(Forgery) 등의 위험을 방지할 수 있다

 - S/MIME은 안전한 이메일을 위해 RSA사에서 제안한 표준

 - 전자우편 보안시스템의 문제점인 PEM 구현의 복잡성, PGP의 낮은 보안성과 기본 시스템과의 통합이 용이하지 않다는 점을 보완하기 위해 IETF의 작업 그룹에서 RSADSI (RSA Data Security Incorporation)의 기술을 기반으로 개발한 전자우편 보안시스템

 

★ S/MIME의 특징

 - Secure MIME로 전자우편 내용을 암호화함

 - 응용계층에서 동작한다

 - 상업적 전자유편 시스템에서 주로 사용한다

 - 공인인증기관을 사용한다. 즉 국제표준 X.509형식의 공인인증서 공개키(RSA)를 사용한다

 - S/MIME 옵션에서 암호화 기능을 뺄 수 있다 (항상 암호화 하는 건 아니다). 메시지 다이제스트를 송신자의 개인키로 서명한다

 - S/MIME는 MIME에 전자서명과 암호화를 더한 형태로 RSA 암호시스템을 이용한다

 - MIME 객체를 전송할 수 있는 모든 프로토콜에 대해 보안 서비스를 제공한다

 - PKCS (공개키암호화표준 : Public Key Cryptography Standard)에 S/MIME가 포함된다

 

★ S/MIME의 보안서비스

 - 메시지 다이제스트를 송신자의 개인키로 서명한다

 - 메시지를 송신자의 대칭키(비밀키)로 암호화하고, 이 대칭키(비밀키)를 수신자의 공개키로 암호화한 후 암호화 된 메시지와 함께 전송하여 전자우편의 기밀성을 보장한다

 - S/MIME을 이용하면 메시지를 암호화하지만, 항상 암호화하지는 않는다(옵션에서 제외할 수도 있다)

 - 국제 표준 X.509 형식의 공개키 인증서를 사용한다

 

■ #Mail

 - #Mail은 전자서명을 활용하여 인감서비스를 하려는 메일이다

 

 

■ 전자메일에서 필요로 하는 보안 기능

 ① 기밀성 (Confidentiality)

   - 해당자가 아닌 사용자들은 내용을 볼 수 없게 하는 기능

   - 전자우편 수신자가 아닌 다른 사용자가 내용을 볼 수 없어야 한다

 ② 메시지 인증 (Message Integrity)

   - 전송 도중에 내용이 불법적으로 변경되었는가를 확인해 주는 기능

 ③ 사용자 인증 (User Authentication)

   - 메일을 실제로 보낸 사람이 송신자라고 주장한 사람과 일치하는 가를 확인해주는 기능

 ④ 송신 부인방지 (Non-repudiation of Origin)

   - 송신자가 메일을 송신하고서 송신하지 않았다고 주장하는 경우, 이를 확인해 주는 기능

 ⑤ 수신 부인방지 (Non-repudiation of Receipt)

   - 메일을 수신하고서 나중에 받지 않았다고 주장하지 못하게 해주는 기능

   - 전자우편을 수신하고도 받지 않았다고 부인하지 않아야 한다

 ⑥ Message Replay Prevention

   - 중간에서 지나가는 메일을 잡아 놨다가 다시 보내는 공격 방법을 방지해 주는 기능

반응형

'정보보호론 > 애플리케이션 보안' 카테고리의 다른 글

FTP 보안  (0) 2020.09.14
스팸메일 대책  (0) 2020.09.14
이메일 보안  (0) 2020.09.14