암호화 통신

2024. 12. 16. 02:07·Hacking/Cryptography
728x90
반응형

터널링

인터넷을 사적이며 안전한 네트워크의 일부로 사용하는 기술

내부 네트워크 : 데이터의 기밀성을 위한 전용 회선 필요

  • 임대회선 사용 : 고비용
  • 기존의 인터넷을 임대회선처럼 전용 회선으로 사용 : VPN -> PPTP, L2TF, IPSec, SSL등 암호화 프로토콜 사용

 

IPSec

3계층의 암호화 프로토콜

IPv6에서 필수 요소로 운영체제의 일부로 설정되어 있음

너무 과도하게 기술적이라는 단점이 있음

라우터, 개인 단말 컴퓨터, 침입 탐지 시스템 등에 설치될 수 있음

 

IP계층 헤더 + IPSec헤더 + 암호화된 IP 데이터 형태로 된다. 

내부 네트워크 안에서는 그냥 전송됨

*IPSec헤더는 암호화에 필요한 정보

 

IPSec 주요 기능

  • IKE (키 관리) : 상호 인증 및 대칭키 공유 설정, 두 컴퓨터 간의 보안 연결(SA) 설정
    -> 보안 프로토콜콜 선택, 서비스에 필요한 알고리즘 결정, 암호 키 설정

두 가지 중 하나만 설정할 수 있음

AH(Authentication Header) : 인증

  • 메시지 인증을 제공하는 확장 헤더
  • 데이터의 무결성 검사 -> 암호화 없음
  • 데이터를 스니핑한 뒤 해당 데이터를 다시 보내는 재생 공격 방지

ESP (Encapsulating Security Payload) : 기밀성

  • 메시지의 암호화 및 인증(선택) 제공
  • ESP에서 사용하는 암호화 알고리즘 -> DESCBC, 3DES, RC5, IDEA 등 대칭키

 

IKE

IKE 2 단계

  1. IKE 보안 연계 (SA) : 양단간 상호 인증 및 세션키(대칭키) 설정
  2. AH/ESP 보안 연계 (SA) : 보안 세션이 설정된 후 공유한 대칭키를 이용한 데이터 암호화 및 무결성 인증 기법 설정

IKE 보안 연계

세션키를 구현하기 위해 일회성 디피 - 헬만 키 교환을 사용

  • a = 앨리스의 개인키 (비밀키) 
  • b = bob의 개인키 (비밀키)
  • g = 생성자, p = 소수 (공개키)

IC : 요청자 쿠키

RC : 응답자 쿠키

CP : 제시된 암호 기법

CS : 선정된 암호 기법

K = h(IC, RC, \(g^{ab}\) mod p, Ra, Rb)

SKEYID = h(Ra, Rb, \(g^{ab}\) mod p)

proofA = Sig[h(SKEYID, \(g^a\), \(g^b\), IC, RC, CP, "앨리스")] 

=> 전자 서명에 의한 상호 인증, 사용자의 익명성 보호

 

AH/ESP 보안 연계

AH 

  • 인증 헤더
  • 무결성 제공
  • IP 헤더 외의 모든 데이터와 헤더 일부를 보호 -> 변경하지 않는 부분에 대한 보호

ESP

  • 캡슐화된 보안 페이로드
  • 비밀성 제공
  • IP 헤더 외의 모든 데이터 보호(헤더는 목적지 확인)

 

IPSec 프로토콜 모드

전송 모드

  • 종단간 송수신 모드
  • IP 패킷의 데이터(페이로드) 범위까지 보호 -> 상위 계층 프로토콜 보호

터널 모드

  • 침입차단시스템 및 라우터 등의 보안 게이트웨이 간 송수신 모드
  • IP 패킷 전부(헤더 + 데이터) 보호 가능 
  • 실제 종단간의 IP 주소를 포함하는 IP 헤더까지 암호화 -> 라우터의 IP로 변경
  • 라우터 또는 침입차단시스템의 주소에 대한 새로운 IP 헤더 생성
  • 라우터 간에는 내부 IP 정보를 전혀 알 수 없음
  • 공격자가 실제 호스트를 알 수 없음
  • AH는 의미가 없다

전송모드와 터널모드에 관한 그림이다

 

IPSec 패킷 처리

아웃바운드 패킷처리 & 인바운드 패킷 처리

침입탐지단에서 사용되는 경우

협정에 따라 안전한 패킷으로 패킷을 전달하거나 받아들인다

 

AH가 존재하는 이유?

IP 헤더는 암호화할 수 없음

- 라우터가 IP 헤더를 볼 수 있어야함

- IP 주소, TTL 등을 포함

- IP 헤더는 패킷을 전송하기 위해 존재

AH는 헤더에서 변하지 않는 항복에 대하여 보호를 제공한다. 

ESP는 IP 헤더를 제외한 모든 것을 암호화 -> IP 헤더는 전혀 보호되지 않음 + TCP 헤더를 볼 수 없음

 

SSL(Secure Socket Layer)

HTTP (응용계층)과 TCP(전송계층)사이의 프로토콜

IPSec에 비해서 간단

 

주요 기능

  • 서버 인증 : 서버의 인증서가 신뢰된 CA에서 발행된 것인지를 확인
  • 클라이언트 인증 : 서버가 클라이언트의 인증서 확인
  • 대칭키 암호 시스템 - 40~128bit

S = "사전 마스터 비밀" 

K = h(S,Ra,Rb)

msgs = "모든 이전의 메세지"를 의미 : 이전의 메시지들이 제대로 송수신되었는지 확인

CLNT, SRVR = 문자열

 

Ra, Rb는 그냥 랜덤값으로 optional 하다

밥이 앨리스에게 제공하는 인증서는 CA에서 발행한 것으로 Bob 의 공개키를 가지고 있다

BoB의 공개키로 PKE(S, 공개키)로 전송한다

BoB은 받은 값으로 K를 구해내고 앨리스와 밥이 같은 값을 가지고 있는지 확인한다

BoB은 Alice에게 자신을 확인할 수 있는 데이터를 다시 보내준다. 

 

문제 : 앨리스는 밥을 인증하지만 그 반대는 아님

상호 인증이 가능하다

  • 밥이 2번 메세지에 인증서 요구를 전송 -> 클라이언트가 유효한 인증서를 소지해야함
  • 클라이언트에 (암호화 or 해시된) 패스워드 요구 -> SSL과는 별도의 인증 프로토콜 필요
728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'Hacking > Cryptography' 카테고리의 다른 글

암호 프로토콜 활용  (1) 2024.12.16
[전자상거래] SET 프로토콜  (0) 2024.12.15
공개키 기반 구조(PKI)  (1) 2024.12.15
전자서명  (1) 2024.12.15
[Key Exchange] Diffie-Hellman  (0) 2024.12.15
'Hacking/Cryptography' 카테고리의 다른 글
  • 암호 프로토콜 활용
  • [전자상거래] SET 프로토콜
  • 공개키 기반 구조(PKI)
  • 전자서명
min_zu
min_zu
  • min_zu
    민주제도
    min_zu
  • 전체
    오늘
    어제
    • ._. (176)
      • AI (2)
        • DeepLearning (2)
        • CS231n (0)
      • Web (2)
        • ReactJS (0)
      • CS (83)
        • OS (7)
        • Data Structure (23)
        • Computer Architecture (8)
        • Computer Network (20)
        • Algorithm (25)
      • Linux (3)
        • KaliLinux (0)
        • Docker (1)
      • Hacking (83)
        • Write Up (25)
        • Pwnable (13)
        • Reversing (2)
        • Cryptography (12)
        • Web Hacking (4)
        • Window (6)
        • Network (7)
        • Web3 (13)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Search
    ComputerArchitecture
    Mac
    DataStructure
    OS
    Graph
    DeepLearning
    Linux
    Web
    WinAFL
    AI
    Tree
    Sort
    UTM
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
min_zu
암호화 통신
상단으로

티스토리툴바