요약

  • RFC 3495는 DHCP 옵션 122를 사전 인증 라우팅 표면으로 만들었다. 이 옵션은 허용된 DHCP 서버, 프로비저닝 서버, 케르베로스 영역(realm), 그리고 MTA의 다음 단계를 규율하는 재시도 및 마감 정책을 지정할 수 있었다.
  • 나중에 적용된 유효 인증서 요구는 적대적 목적지에서 서비스 활성화를 막을 수 있었지만, 그 앞선 DHCP 선택자를 인증하거나 고객의 선택을 회복하거나 이미 소모된 네트워크·검증 작업을 지울 수는 없었다.

케르베로스는 흔히 티켓 시스템의 판사로 묘사된다. 클라이언트는 인증 서비스를 찾고, 자격 증명을 증명하고, 티켓 발행 티켓(ticket-granting ticket)을 받은 뒤 나중에 서비스 티켓을 요청한다. RFC 3495는 그보다 앞선 질문을 드러냈다. 새 클라이언트에게 어느 법정으로 가라고 말하는 사람은 누구인가? PacketCable 미디어 터미널 어댑터(MTA)의 경우 그 답은 어떤 KDC가 아무것도 평가하기도 전에 DHCP의 CableLabs Client Configuration 옵션으로 도착할 수 있었다.

이 설정은 케이블 전화였다. 케이블 모뎀은 데이터 접속을 담당하고, MTA는 음성에 필요한 미디어 및 시그널링 기능을 제공한다. 두 장치는 한 박스를 공유할 수 있지만 별개의 IP 장치로서 각자의 MAC 및 IP 구성을 가진다. 또한 서로 다른 상업적 권위에 응답할 수도 있다. 데이터 접속 제공자(DAP)가 모뎀을 구성하고, 전화 서비스 제공자(TSP)가 MTA를 구성한다.

따라서 RFC 3495는 패킷 형식 이상을 기술했다. 모뎀 구성을 통제하는 주체가 어떤 사업자가 MTA를 구성할 수 있는지 결정할 수 있었다는 것이다. 이 문서는 그 지위를, 지역 전화 사업자가 고객이 이용할 수 있는 장거리 전화 사업자에 영향을 미치는 상황에 비유했다. DHCP 옵션은 네트워크 접속 허용과 상업적 위임 사이의 경계에 놓여 있었다.

IANA는 코드 122를 CableLabs Client Configuration에 할당했다. 그 내부에서는 태그 및 길이 구분 방식의 서브옵션이 1차·2차 TSP DHCP 서버 주소, 프로비저닝 서버 주소, 케르베로스 영역, 티켓 발행 서버(TGS) 사용 규칙, AS 및 AP 재시도 매개변수, 프로비저닝 타이머를 전달했다. 그 이전의 사이트별 코드 177은 폐기(deprecated)되었다. 옵션이 255옥텟을 넘는 경우 RFC 3396이 연접 규칙을 제공했다.

이 필드들은 정밀했지만 증명은 아니었다. IPv4 값은 네트워크 바이트 순서의 4옥텟을 차지했다. 프로비저닝 FQDN은 RFC 1035 인코딩을 사용하고 0으로 끝나며 DNS 압축을 사용할 수 없었다. 영역은 대문자 도메인 스타일 이름으로 표현되었다. 올바른 바이트는 값이 파싱될 수 있음을 확립할 뿐, 해당 호스트가 존재한다거나 DNS가 정직하게 응답한다거나 KDC가 장치를 수용한다거나 통화가 완성될 것임을 확립하지 못했다.

전달 방향이 중요하다. CableLabs 클라이언트는 매개변수 요청 목록과 벤더 클래스 식별자를 사용해 구성을 요청했다. 서버는 프로젝트 사양에 따라 어떤 서브옵션을 채울지 선택했다. 클라이언트는 자신의 요청에 옵션 122를 채우지 않았다. 따라서 패킷 추적에서 영역을 보는 것은 응답한 구성 권위가 공급한 내용에 대한 영수증이지, 장치가 그 뒤의 제공자를 독립적으로 선택했거나 인증했다는 증명이 아니다.

RFC 3495는 그 결과로 생기는 위험을 특이할 만큼 직설적으로 명명했다. 잘못된 DHCP 서버 또는 프로비저닝 서버 주소는 서비스 거부를 일으키거나 트래픽을 엿보는 자(snooper)에게 보낼 수 있었다. 거짓 영역은 MTA를 잘못된 KDC로 유도할 수 있었다. 악의적인 TSP는 지정을 바꿔 고객이 선택한 TSP로부터 고객을 빼앗을 수 있었다. 동일한 구문이 필요한 프로비저닝과 상업적 재지향을 모두 지원할 수 있었다.

완화 조치는 여러 주인에게 속했다. CMTS는 요청을 명시적으로 구성된 DHCP 서버로만 전달하고, 승인된 주소 범위에서 오는 다운스트림 트래픽만 허용해야 했다. 이는 운영자가 통제하는 조건이지 옵션 122에 담긴 속성이 아니다. “올바르게 구성된 CMTS”는 그 자체로 구성 및 트래픽 근거를 필요로 하는 전제다.

후속 인증이 또 하나의 경계를 제공했다. 위조 주소나 거짓 영역이 MTA를 어떤 KDC로 이끌었더라도, 장치는 서비스 활성화 전에 유효한 인증서를 제시해야 했다. 이는 인증되지 않은 목적지를 막을 수 있었다. 그러나 검증 자체가 계산 비용을 소모하므로 반복 시도는 서비스 거부가 될 수 있었다. 기각된 인증서는 그 뒤의 관문이 자격 증명을 거부했다는 것만 증명하며, 앞선 영역이나 경로가 정당했다는 것은 증명하지 않는다.

유효한 인증서가 상업적 질문을 해결하지도 않는다. 이 RFC는 악의적이지만 인증된 TSP를 상정했고, 접속 네트워크에 수용된 제공자들이 평화롭게 공존한다고 가정했다. 고객 재지향은 접속 제공자와 TSP 사이의 행정 문제로 남겨졌다. 암호학은 수용된 자격 증명을 인증할 수 있으면서도, 고객의 선택은 여전히 잘못된 상태일 수 있다.

재시도 정책은 이 구분을 배증했다. 이 옵션은 AS 교환과 AP 교환에 대해 각각 초기 타임아웃, 최대 타임아웃, 재시도 횟수를 별도로 구성했다. 또한 최대 프로비저닝 시간을 설정했으며, 만료 시 타이머를 초기화하고 프로비저닝을 처음부터 재시작했다. 따라서 잘못된 목적지는 여러 차례의 트래픽과 인증서 작업을 유인할 수 있었다. 타이머가 0이면 그 바깥 마감이 비활성화될 뿐, 완성을 보증하지 않았다.

이것은 인접한 DHCP 역사와는 다르다. RFC 3361은 SIP 서버 후보의 발견을 다뤘다. RFC 3396은 조각들로부터 긴 옵션을 재구성하는 문제를, RFC 3397은 도메인 검색 목록을, RFC 3442는 클래스리스 경로를 다뤘다. RFC 3495의 독창적 기여는 그 뒤에 오는 인증 프로세스의 영역, 종단점, 타이밍을 그보다 앞선 구성 채널에 넣은 것이다.

내구성 있는 영수증 사슬은 “인증됨”이라는 단어보다 길다. 옵션 바이트 수신, 서브옵션 파싱, 영역 및 종단점 선택, 이름 확인 및 경로 탐색, KDC 접촉, 인증서와 케르베로스 교환 수용, 서비스 티켓 획득, 마감 전 프로비저닝 완료, 고객이 승인한 TSP의 유지, 전화 전달. 어떤 단계도 다음 단계를 조용히 증명하지 않는다.

출처