본문 바로가기
Lab & Research/Information Security

이메일 보안 ( PGP , S/MIME )

by jaeaemin 2022. 5. 9.

Email Information Sercurity

 

 

이메일 서비스  모델 

이메일 서비스 모델

 

MUA
(Mail User Agent)
발신인 : 이메일을 작성하여 MSA를 통해 MHS로 제출함 - ESMTP 시작
수신인 : MS로부터 이메일을 수신하여 사용자에게 전달 
MSA
(Mail submission A)
MUA로부터 전자 메일을 수신하고 ADMD(관리 도메인) 정책의 준수 여부를 검사 MTA에 전달
MTA
(Mail Transfer Agent)
메일 전송 에이전트로 , 전자 메일의 one hop 전송을 수행함
MDA 
(Mail Delivery agent)
 MHS(메일 핸들링 시스템)에서 슈산축 MS(메일서버)로 이메일을 전송함  
전자 메일 프로토콜 SMTP: MUA 송신자-MSA, MSA-MTA, MTA-MTA, MTA-MDA
PoP3 또는 IMAP: MS-MUA 수신기
이메일 메시지  RFC-822, RFC-5322

 

 

MIME ( extension of RFC-5322 )

: 여러 유형의 메일 메시지를 허용하는 새로운 headers 정의

 

  • MIME-Version : MIME 프로토콜 버전 ( 1.0 )
  • Content-Type : payload mail message 타입
  • Content-Transger-Encoding : payload mail msg 전송 유형
  • Content-ID : MIME 메시지의 ID
  • Content-Desciption : payload 메일 메시지 설명 

 

 

 이메일 서비스 위협의 종류 

1. authentication-related threats    : 인증 관련 위협
2. confidentiality-related threats    : 기밀유지와 관련된 위협
3. integrity-related threat                : 무결성 관련 위협
4. availability-related threats          : 가용성 관련 위협

 

 

 

 

PGP


Pretty Good Privacy ( PGP) 

: 전자 메일에 대한 기밀성 및 인증 서비스를 무료로 제공함 ( 표준화 : RFC 3156 )

 

  • 메시지 암호화 : cast-128 or IDEA or 3-DES 
  • 디지털 서명 : DSS/SHA or RSA/SHA
  • 각 전자 메일 메시지에 대해 단일 세션 키를 가진다.
  • 세션 키 배포 : Diffie-Helman or RSA 메시지 압축 ( ZIP 활용 )
  • 이메일 호환 : radix-64 바이너리 - ASCII 변환
  • 분할(segmentation) : 최대 메시지 크기 제한을 수용함 

 

[1] Authentication only 

 

인증만 제공

 

[2] Confidentiality only

기밀성 유지만 제공

 

 

[3] Confidentiality and authentication

 

인증과 기밀성 유지 제공

 

 

 

PGP 암호화 키 종류 

One-time session key
( 일회성 세션 키 ) 
 - 각 메시지에 대해 발신인이 세션 키를 생성함
Public and private keys
( 공용 및 개인 키 )
 - 사용자는 여러 개의 공개/개인 키 쌍을 가진다.
 - 수신자의 공개 키로 암호화된 세션 키 
 - 전송자가 키ID를 보낸다 ( 암호화에 사용되는 공개키의 중요하지 않은 64비트 키 )
Passphrase-based encryption of private key
( 개인 키의 암호 기반 암호화 ) 
 - 사용자가 자신의 개인키를 암호화된 형태로 저장
 - 소유자의 개인 키를 암호화하는데 사용되는 암호

 

PGP 메시지 구성

PGP 메시지 구성   
Message packet 
[ Message component ]
 - 송신할 데이터
Signature packe
[ Signature componet ]
▪ Timestamp: 서명된 시간 
▪ Message digest: 발신 개인 키로 암호화된 160bit SHA digest
▪ 발신인의 public key에 대한 Key ID
Session key packet
[ Session key component ] 
- 세션 키
- 세션 키 암호화에 사용되는 수신자의 공개 키 Key ID

 

 

 

● Private-Key Ring

  • 해당 노드가 소유한 공개/개인 키 쌍을 저장함
  • 개인 키는 사용자의 암호문(암호문의 SHA 해시 코드)에 따라 키를 사용하여 암호화됩니다.

 

개인 키 riING

 
 

Public-Key Ring

  • PGP는 각 사용자에 대해 여러 개의 공개/개인 키 쌍을 허용합니다.
  • 이 노드에서 알고 있는 다른 사람의 공용 키 저장 ▪ 공용 키는 다양한 방법으로 얻을 수 있습니다.
 

- Ouner trust : 키소유자에 대한 신뢰가치
       사용자가 새 공용 키를 입력할 때 사용자가 검색 ( 알 수 없음, 신뢰할 수 없음, 거의 신뢰할 수 없음, 완전히 신뢰 )

- Signature : 키 부착 서명

- Signature trusts : 이 소유자의 트러스트 값 열쇠에 첨부된 서명
        –소유자를 알 수 없는 경우 "values" 값이 할당됩니다.

- Key legitimacy
        – PGP가 키를 신뢰하는 정도
        – 서명 신뢰 필드들의 값에서 나온 값들
        –서명 신뢰 값의 가중 합계
 
 
 

PGP 신뢰 모델 

사용자 A는 B의 공개키를 다양한 방식으로 얻을 수 있다.

  1. 물리적으로 B로부터 K를 얻는 방법
  2. B의 K를 신뢰기관인 D를 통해서 얻는 방법
  3. 전화로 B의 키를 얻고 검증하는 방법
  4. B의 키를 신뢰된 certifying authority에서 얻는 방법 

 

 

사람에 대한 신뢰: 스스로 결정함

공개 키 신뢰
사용자가 키를 신뢰하는 경우 서명할 수 있습니다.
공개 키 신뢰는 키의 서명에 의해 결정됩니다.

PGP 신뢰 모델
공용 키 링에 새 공용 키가 삽입된 경우
  >> 사용자가 제공한 키 소유자의 신뢰 값을 할당한다.
  >> 키에 첨부된 각 서명에 대한 신뢰 값은 서명 소유자의 OwnerTrust 값에 부여됩니다. 서명 소유자가 키 링에 없으면 알 수 없는 사용자 값에 부여된다.
 - 키 합법성 값은 항목에 있는 서명 신뢰 필드를 기준으로 계산된다.


 

PGP 신뢰 모델 (공개 키 링)


사용자는 소유자가 완전히 또는 부분적으로 신뢰할 수 있는 키(L 제외)에 서명합니다.

신뢰할 수 있는 서명 하나 또는 부분적으로 신뢰할 수 있는 서명 두 개이면 키를 신뢰할 수 있지만 키 소유자를 신뢰할 수 없습니다.

키 해지 인증서를 발급하여 키 해지

 

 

 

 

S/MIME


상업용 및 조직용 산업 표준으로 사용됨 

 

RFC 822

1. 문자 메시지 전송을 위한 기존 전자 메일 형식
2. 머리글 + 빈 줄 + 본문

 

 

MIME(다목적 인터넷 메일 확장)

▪ RFC822를 확장하여 다양한 유형의 메시지 지원

새 헤더

▪ MIME-버전:
▪ Content-Type: 메시지 본문의 내용 유형(텍스트/메시지, 멀티파트/믹스, 비디오/메시지, ...)
▪ Content-Transfer-Encoding : MTA가 전송할 메시지 본문의 전송 유형
▪ Content-ID : 메일 크기 제한 극복
▪ Content-descript

 

 

 

S/MIME 기능

1. Enveloped data : 암호화된 데이터 및 암호화된 암호화 키

2. Signed data : 컨텐츠 + 디지털 서명, base64 인코딩을 사용하여 인코딩됨

3. Clear-signed data : 컨텐츠 + 디지털 서명, 디지털 서명만 base64 인코딩을 사용하여 인코딩됨

4. Signed and enveloped data : 컨텐츠 + 디지털 서명, 키를 사용하여 암호화

 

 

 

 

S/MIME 암호화 알고리즘

암호화: 3DES, 40비트 RC2
디지털 서명: DSS, 160비트 SHA-1, 128비트 MD5
세션 키 암호화: Diffie-Hellmann
에이전트 및 수신 에이전트가 협상을 통해 암호화 알고리즘을 결정합니다.

 

 

 

S/MIME 공용 키 관리


[1] sS/MIME 키 관리: X.509 및 PGP 키 관리 모델의 하이브리드
  ▪ 인증서는 로컬에서 관리하지만 인증 기관에서 서명합니다.

[2] S/MIME 사용자 에이전트
1. 자신의 공개/개인 쌍을 생성합니다.
2. 공용 키를 등록하고 키에 대한 X.590 인증서를 받습니다.
3. 로컬 스토리지에 다른 사용자의 인증서를 저장하고 들어오는 인증서를 확인합니다.

반응형

'Lab & Research > Information Security' 카테고리의 다른 글

IP 보안  (1) 2022.05.29
무선 네트워크 보안  (0) 2022.05.27
메시지 인증 & Kerberos & PKI  (0) 2022.04.16
공개 키 암호화 & 메시지 인증  (0) 2022.04.16
네트워크 접근 제어 & 클라우드 보안  (0) 2022.04.15