이메일 프로토콜
SMTP
: 발신지에서 목적지까지 인터넷을 통해 메시지를 이동하는데 사용.
: 메시지를 캡슐화하여 목적지까지 다수의 MTA를 통해 전송.
IMAP/POP
: MS에 저장된 메일을 MUA로 전송시키는 프로토콜.
*MS(Mail Server): 이메일을 저장하고 관리하는 서버.
*MUA(Mail User Agent): 사용자가 이메일을 읽고, 작성하고, 보내는 프로그램.
- IMAP > 서버에서 이메일을 동기화해 가져옴. (복제)
- POP > 서버에서 이메일을 다운로드 하여 가져옴. (이동)
MIME(Multipurpose Internet Mail Extension)
: SMTP나 RFC 5322의 확장.
: 실행 파일, 바이너리 객체, 국제 언어 문자 전송 가능 (/SMTP는 불가)
: 큰 메일 메시지도 전송이 가능하다.
이메일 보안
이메일 보안 위협
- 인증-관련 위협(Authentication-related threats) : 허가받지 않은 접근
- 무결성-관련 위협(Integrity-related threats) : 허가받지 않은 수정
- 기밀성-관련 위협(Confidentiality-related threats) : 허가받지 않은 정보 노출
- 가용성-관련 위협(Availability-related threats) : 메일 전송 혹은 수신을 방해
위협 대응용 표준 프로토콜
- STARTTLS : SMTP의 보안 확장.
- S/MIME SMTP : 메시지 본문에 대한 보안 제공
- DNSSEC(DNS Security Extensions) : 다양한 이메일 보안 프로토콜에 사용하는 보안 확장 도구. 가짜 사이트를 구분
- 네임드 개체 DNS-기반 인증 : DNSSE에서 인증 기관 시스템의 문제점 타개.
- SPF(송신자 정책 프레임워크) : DNS를 통해 도메인 이름과 송신자의 특정 IP 주소 범위를 연결하는 레코드 생성.
- DKIM (DomainKey Identified Mail) : MTA가 헤더와 본문에 서명 가능 -> 출발 도메인 입증, 바디 무결성 제공.
- DMARC : SPF와 DKIM을 이용한 이메일 인증 프로토콜.
S/MIME
: RSA Data Security사 기술을 통해 MIME에 보안을 강화.
기능
- 디지털 서명 : 무결성 검증을 위함. RSA(주로 SHA-256), 메시지 다이제스트 활용
- 메시지 암호화 : 기밀성을 위함. AES(123-bit), CBC모드, RSA(키 암호화) 활용
- 압축 : 비손실 - 메시지와 서명 모두 압축 / 손실 - 압축 후 암호화 및 서명
- 이메일 호환성 : SMTP만 지원하는 경우 Base64로 바이너리 데이터를 아스키로 변환하여 안전한 전송 보장.
*메시지 다이제스트: 메시지 원문에 해시코드가 반복 적용되어 일정한 길이로 축약된 비트열
*Base 64 : 6bit를 하나의 ASCII 문자로 변환하기 위한 규칙.
기능
- Enveloped Data : 기밀성만 제공. 대칭키 암호화 및 대칭키를 공개키로 암호화. Base 64로 인코딩 및 전송.
- Signed Data : 인증성만 제공. Message Digest를 얻고 비밀키로 서명, SignerInfo 연결 후 Base64로 인코딩.
- Clear-signed Data : 인증성, 호환성 제공. SignedInfo만 Base64로 변환하여 SMTP에서도 메일 확인이 가능하도록 함.
- Signed and Enveloped Data : 디지털 서명과 암호화 모두 적용.
PGP(Pretty Good Privacy)
: 기밀성과 인증을 제공하며 근본적으로 S/MIME와 같은 기능을 한다.
S/MIME와의 차이점
: 키 인증 - S/MIME는 CA 인증서 활용 / PGP는 자체 인증서 활용
: 키 배분 - S/MIME는 송신자의 공개 키를 첨부 / PGP는 다른 경로로 송신자의 공개키 수집.
보안 기능
: 대칭키 암호 / 공개키 암호 / 디지털 서명 / 일방향 해시 / 인증서 / 압축
: ASCII로 변환 - radix64를 이용하여 호환성 보장.
: 큰 파일의 분할과 결합 / 키 고리 관리(키 쌍, 공개키 관리)
PGP의 이메일 암/복호화
- 난수를 통해 세션 키 생성
- 세션 키를 공개키 암호로 암호화
- 메시지 압축
- 메시지를 세션키로 암호화
- 암호화된 세션키와 메시지를 결합.
- 결합물을 텍스트 데이터로 변환.
DNSSEC (DNS 보안 확장)
: Pharming 방지를 위한 기술. DNS가 해킹되더라도 위장 사이트에 접속하지 못하도록 한다.
Phishing vs Pharming
Phising - 유도 매체를 통해 url에 접속하도록 유도, 유사한 가짜 도메인 네임을 사용하여 타 사이트로 위장.
Pharming - DNS 서버를 공격하여 위장 사이트 주소를 반환하도록 함. 주의를 기울여도 공격탐지가 어렵다.
- 최하위 DNS 서버에 Dos 공격을 하여 클라이언트에 응답하지 못하게 한 뒤, 자신의 주소를 보내어 위장.
DNSSEC 원리
- Root DNS의 공개키를 가지고 있는 상황을 가정.
- 하위 도메인은 클라이언트에 ip를 보낼 때 상위 도메인의 서명을 받은 인증서를 함께 보낸다.
- 상위 도메인의 키를 통해 하위 도메인을 검증하는 것. 최종적으로 Pharming의 위장은 인증에 실패하게 된다.
: 이메일에서는 송신 서버에서 IP를 요청할 때 DNS 서버가 공격자의 IP를 반환하도록 하여 이메일을 조작, 전송한다.
: 이를 방지하기 위해 모든 DNS 서버에 DNSSEC 보안 기술을 적용하도록 한다.
'공부 > 네트워크 보안' 카테고리의 다른 글
네트워크 보안(14) - Blockchain (0) | 2024.12.08 |
---|---|
네트워크 보안(12) - Key (0) | 2024.11.26 |
네트워크 보안(11) - 인증서 (0) | 2024.11.23 |
네트워크 보안(10) - 디지털 서명 (0) | 2024.11.23 |
네트워크 보안(9) - 메시지 인증 코드 (0) | 2024.11.22 |