핵심 인사이트 (3줄 요약)
- 본질: AH(Authentication Header)는 IPsec을 구성하는 두 가지 포장지 중 하나로, 해커가 내 패킷을 중간에 가로채서 내용을 변조(무결성 훼손)하거나 남이 보낸 것처럼 위조(인증 실패)하는 것을 막기 위해 강력한 해시(Hash) 도장(MAC)을 찍어주는 프로토콜이다.
- 암호화의 부재 (치명적 약점): AH는 "조작 여부"만 검사할 뿐, 알맹이인 데이터 자체를 암호화(Encryption)하는 기능이 아예 없다. 즉, 해커가 중간에서 데이터를 수정할 순 없지만, 투명 유리상자처럼 안의 내용(비밀번호 등)을 100% 다 읽어볼 수 있다.
- NAT와의 앙숙 (사망 선고): AH는 출발지 IP 주소까지 무결성 검사에 포함시켜 도장을 찍는다. 패킷이 공유기(NAT)를 지날 때 공유기가 사설 IP를 공인 IP로 바꾸면, 도착지에서는 "어? 출발지 IP가 아까 도장 찍힌 원본이랑 다르네? 조작됐어!"라며 패킷을 버리므로 현대 NAT 환경에서는 아예 사용할 수 없는 폐기된 기술이다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: IP 데이터그램에 대한 데이터 무결성(Integrity), 데이터 원천 인증(Authentication), 그리고 재전송 공격 방지(Anti-replay) 기능을 제공하는 IPsec 확장 헤더 (RFC 4302). IP 프로토콜 번호 51번을 사용한다.
-
필요성: 인터넷 초기에는 데이터를 몰래 훔쳐보는 것(스니핑)보다, 남의 이름으로 송금 패킷을 조작해서 보내는 위조/변조 공격이 더 두려웠다. "야, 암호화는 컴퓨터가 계산하느라 너무 느리니까 빼고, 대신 누가 보냈는지 확실히 서명하고 중간에 단 1바이트라도 조작되면 즉각 알아채서 버리는 도장(해시값)만 찍어 보내자!"라는 가벼운 보안 목적으로 탄생했다.
-
💡 비유: AH는 편지에 찍는 **"투명한 밀랍 씰(봉인)"**과 같습니다.
- 편지 봉투가 투명해서 우체부나 길가는 사람(해커) 누구나 안의 내용을 다 읽을 수 있습니다 (암호화 ❌).
- 하지만 밀랍 씰(해시값)이 찍혀 있어서, 누군가 편지 내용을 단 한 글자라도 고치려고 봉투를 뜯으면 씰이 깨집니다.
- 수취인은 씰이 깨진 편지를 받으면 즉시 "조작된 가짜 편지!"라고 인식하고 찢어버립니다 (무결성 ⭕).
📢 섹션 요약 비유: AH는 내용물이 훤히 보이는 **"투명 강화 유리 금고"**입니다. 도둑이 금고 안의 금괴(데이터)를 가져갈 수는 없지만, 금괴에 적힌 일련번호(비밀번호)는 밖에서 빤히 다 들여다볼 수 있어 진정한 의미의 보안(기밀성)이라고 부를 수 없습니다.
Ⅱ. AH의 헤더 검증 방식과 NAT 호환성 문제 (Deep Dive)
1. 무결성 검증 (HMAC)
AH는 패킷을 보낼 때 SHA-256이나 MD5 같은 해시(Hash) 알고리즘을 돌린다.
- 보낼 데이터 덩어리를 믹서기에 넣고 갈아서
A1B2C3라는 짤막한 암구호(MAC 값)를 만든 뒤 AH 헤더에 붙여 보낸다. - 받는 쪽도 똑같이 믹서기에 갈아보고, 자기가 갈아본 결과와 겉면에 적힌
A1B2C3가 완벽히 똑같은지 비교한다. - 단 1비트라도 해커가 중간에서 조작했다면 결과가
Z9Y8X7로 완전히 다르게 나오므로 즉각 폐기(Drop)한다.
2. AH의 치명적인 한계: NAT와의 충돌 (왜 멸종했는가?)
이것이 네트워크 실무와 시험에서 AH를 쓰레기통에 처박은 핵심 이유다.
- AH의 계산 범위: AH는 무결성 믹서기를 돌릴 때, 데이터뿐만 아니라 **"IP 헤더의 출발지/목적지 주소"**까지 통째로 갈아서 도장(MAC)을 찍는다.
- NAT(공유기)의 개입: 내 PC(
192.168.0.5)에서 AH 도장을 찍고 패킷을 던졌다. 이 패킷이 우리 집 공유기를 통과할 때, 공유기(NAT)는 출발지 주소를 공인 IP(211.200.x.x)로 **바꿔치기(변조)**한다. - 목적지의 판정: 목적지 방화벽이 패킷을 받아 믹서기를 돌려본다. "어? 내가 받은 패킷의 출발지 IP(
211.x.x.x)로 계산해 보니, 아까 네가 찍은 도장(192.x.x.x로 만든 값)이랑 안 맞네? 너 중간에 해커한테 조작당했지! (사실 공유기가 바꾼 건데)"라며 무조건 패킷을 다 버려버린다.
┌─────────────────────────────────────────────────────────────┐
│ AH와 NAT(공유기)의 처절한 충돌 시나리오 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 내 PC (사설 IP 10.x) ] │
│ │ │
│ │ 1. "출발지가 10.x 라는 걸 포함해서 무결성 도장 쾅!" (AH 생성) │
│ ▼ │
│ [ 집 공유기 (NAT) ] │
│ │ │
│ │ 2. "오 밖으로 나가네? 출발지를 내 공인 IP(211.x)로 바꿔야지!" │
│ ▼ │
│ [ 목적지 방화벽 (VPN 서버) ] │
│ │
│ * 검사 결과: "출발지 IP가 211.x로 바뀌었네? 근데 AH 도장은 10.x를 │
│ 기준으로 찍혀있잖아? 중간에 누가 IP를 뜯어고쳤네! 버려!" │
│ │
│ ▶ 결과: 세상 모든 집/회사는 공유기(NAT)를 쓰므로 AH는 100% 연결 실패함!│
└─────────────────────────────────────────────────────────────┘
3. 실무에서의 AH
보안 솔루션 현업에서 VPN 세팅을 할 때, AH를 선택하는 옵션조차 제공하지 않는 방화벽 장비들이 태반이다. 오직 다음 장에서 배울 **ESP(암호화 + 무결성 동시 지원)**만이 유일한 정답으로 쓰이고 있다.
📢 섹션 요약 비유: AH는 서류에 **"내 사설 IP(10.x.x.x)를 적어 넣고 인감도장"**을 찍어 보낸 꼴입니다. 우체국(NAT)이 배달 편의를 위해 겉면 주소를 공인 IP로 덧칠하는 순간, 원본 인감도장과 내용이 불일치하게 되어 서류 전체가 위조 문서로 판정받고 파쇄기에 들어갑니다.