980. AH (Authentication Header) - IPSec 무결성 데이터 인증 송신자 신원 확인 복제 방지 재전송 방어 페이로드 암호화 배제 구조망 패킷 제어 원리
핵심 인사이트 (3줄 요약)
- AH는 IPSec에서 기밀성(암호화)은 배제하고 오직 데이터 무결성, 송신자 인증, 재전송 공격 방어에만 집중하는 프로토콜입니다.
- 패킷 전체(IP 헤더 포함)의 해시값을 계산하여 내용이 1비트라도 위변조되면 수신자가 즉시 폐기하도록 설계되었습니다.
- 원본 IP 주소를 해시 계산에 포함하기 때문에, 주소를 변환하는 NAT(공유기) 환경을 통과할 수 없다는 치명적인 구조적 결함이 있어 실무에서는 거의 사용되지 않습니다.
Ⅰ. IPSec을 구성하는 2대 쌍두마차 프로토콜 🌟
IPSec은 하나의 프로그램이 아닙니다. 두 개의 방패 기술 중 하나를 골라 씁니다.
- AH (Authentication Header): (본 문서)
- ESP (Encapsulating Security Payload): 다음 981번 문서 (암호화까지 100% 씌움).
📢 섹션 요약 비유: IPSec이라는 강력한 경호 회사에는 두 명의 전문 경호원이 있습니다. 한 명은 내용물이 보이게 투명 랩으로만 감싸서 아무도 손대지 못하게 막는 'AH 경호원'이고, 다른 한 명은 아예 검은 천으로 덮어버리는 'ESP 경호원'입니다.
Ⅱ. AH (Authentication Header)의 개념 🌟
- 개념: IP 패킷에 암호화 해시(MD5, SHA-1 등) 도장을 쾅 찍어서 전송하는 IPSec 하위 프로토콜입니다.
- 목적:
- 데이터 무결성(Integrity): 편지 내용이 중간에 1글자라도 바뀌지 않았음을 100% 보장.
- 송신자 인증(Authentication): 이 편지가 해커가 아니라 진짜 네이버 서버가 보낸 것임을 확인.
- 재전송 공격 방어(Anti-Replay): 해커가 똑같은 편지를 1초 뒤에 복사해서 또 보내는 걸 막음(일련번호 시퀀스 부여).
- 치명적 특징 🌟: 페이로드(실제 데이터 내용)를 시커멓게 암호화하여 감추는 '기밀성(Confidentiality, 도청 방지)' 기능이 아예 없습니다! 속은 훤히 다 보입니다.
📢 섹션 요약 비유: AH는 기밀 문서를 투명한 '유리 금고'에 넣어 배달하는 것과 같습니다. 택배 기사(해커)가 겉에서 내용을 훔쳐볼(도청) 수는 있지만, 특수 실링(해시 도장)이 붙어있어 문서를 조작하려고 유리를 깨는 순간 흔적이 남아 수신자가 가짜임을 알아채게 됩니다.
Ⅲ. AH가 무결성을 보장하는 동작 원리 🌟
도청(스니핑)은 막지 못하지만, 위조(조작)는 어떻게 막을까요? 해시의 흑마법을 씁니다.
- 송신자의 도장 찍기:
- 원본 IP 주소(헤더)와 편지 내용물(페이로드) 전체를 묶은 다음, 나와 상대방만 아는 '비밀번호(세션키)'를 섞어서 해시 믹서기(HMAC-SHA)에 싹 갈아버립니다.
- 만들어진 **암호 해시값(지문)**을 패킷 앞머리의 AH 헤더(Authentication Header) 꼬리표 공간에 꾹 적어 넣고 전송합니다.
- 수신자의 검증 과정:
- 도착한 패킷 내용물은 쌩얼(평문)이므로 해커가 중간에 읽어볼 수는 있습니다.
- 해커가 장난으로 편지 내용을
100원 ➜ 1000원으로 조작해서 밥(수신자)에게 쐈습니다. - 밥은 도착한 패킷 전체와 자기가 가진 비밀번호를 다시 믹서기에 갈아봅니다.
- 기적: 해커가 글자 하나를 조작했기 때문에 밥이 갈아낸 해시 지문과 패킷 겉면에 찍힌 원래 해시 지문(AH 도장)이 100% 다르게 나옵니다. 밥은 "이 새끼 사기꾼이네!" 하고 현장에서 패킷을 갈기갈기 찢어 버립니다(Drop). 해커의 조작(Spoofing)은 절대 불가능합니다.
┌────────────────────────────────────────────────────────┐
│ 원본 IP 패킷 │
│ ┌───────────────┬────────────────────────────────────┐ │
│ │ IP 헤더 │ 데이터 (페이로드) │ │
│ └───────┬───────┴─────────────────┬──────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌────────────────────────────────────────────────────┐ │
│ │ 해시 계산: HMAC(IP 헤더 + 데이터 + 키) │ │
│ └─────────────────────────┬──────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────┬─────────┴───────┬──────────────────┐ │
│ │ 새로운 IP 헤더│ AH 헤더 │ 데이터 (페이로드)│ │
│ │ │ (해시 포함) │ (암호화 안됨) │ │
│ └───────────────┴─────────────────┴──────────────────┘ │
│ 전송되는 패킷 │
└────────────────────────────────────────────────────────┘
📢 섹션 요약 비유: 송신자는 편지와 편지 봉투 전체를 스캔한 후 자기만의 도장을 찍어 겉면에 붙입니다. 수신자는 편지를 받자마자 자기도 똑같이 스캔을 떠서 도장 모양이 일치하는지 대조합니다. 해커가 내용물을 살짝이라도 바꾸면 수신자가 스캔한 도장 모양이 확 달라지기 때문에 사기꾼임을 즉시 알아냅니다.
Ⅳ. NAT 통과 실패의 비극 (AH의 사멸 이유) 🌟 핵심 🌟
실무에서 AH를 거의 쓰지 않고 981번 ESP로 넘어가게 된 치명적 단점입니다.
- 가정용 공유기(NAT)는 192.168.x.x 주소를 공인 IP로 바꿀 때, IP 패킷의 겉면(주소)을 가위로 뜯어고칩니다.
- 충돌 터짐: 아까 AH는 도장(해시)을 찍을 때 원본 IP 주소까지 통째로 포함해서 지문을 찍었다고 했습니다. 공유기가 주소를 뜯어고치는 순간, 도착지에서 해시값이 무조건 틀리게 나오므로 **"공유기가 IP를 바꾼 건데 해커가 변조한 걸로 오해"**하여 무조건 에러(Drop)를 냅니다. 즉, AH는 공유기(NAT) 환경을 통과할 수 없는 심각한 구조적 결함을 안고 있어 사실상 버려지는 추세입니다.
📢 섹션 요약 비유: 공유기(NAT)는 편지가 배달될 때 겉봉투의 주소를 고쳐 적는 우체국과 같습니다. 그런데 AH는 겉봉투 주소까지 포함해서 조작 방지 실링을 붙여놨기 때문에, 우체국이 정상적으로 주소를 바꿔 적기만 해도 "누군가 조작했다!"며 경고를 울려버립니다. 이 융통성 없는 성격 때문에 결국 아무도 쓰지 않게 되었습니다.
👶 어린이를 위한 3줄 비유 설명
- **AH(인증 헤더)**는 투명한 유리 상자에 자물쇠를 채워서 물건을 보내는 택배와 같아요.
- 상자가 투명해서 누구나 내용물을 볼 수는 있지만, 누군가 열려고 하면 찌그러져서 수신자가 조작된 걸 금방 알 수 있죠!
- 하지만 택배 아저씨가 주소를 예쁘게 고쳐 적어도 "조작됐다!"고 화를 내는 바람에 요새는 사람들이 잘 안 써요.