요약

  • LACNIC의 7월 20일 발표에 따르면 FORT 1.7.0은 ASPA 객체의 검증을 구현하고 라우터와 정보를 공유합니다. 발표는 또한 ASPA가 아직 표준으로 공식 발표되지 않았기 때문에 이 기능이 실험적이라고 밝힙니다.
  • 해당1.7.0.experimental릴리스는--server.max-rtr-version을 기본값 0으로 설정하는 반면, 태그가 붙은 가이드는 ASPA가 RTRv2로 라우터에 전달된다고 설명합니다. 별도의--output.aspa파일 경로 역시 기본적으로 비활성화되어 있습니다.
  • 방어 가능한 활성화 기록은 릴리스 역량, 로컬 구성, 협상된 프로토콜, 수용된 ASPA 데이터, 계산된 경로 상태, 경로 정책 조치를 별개의 이벤트로 유지해야 합니다.

새 기능은 게이트와 함께 등장했고, 그 게이트는 0으로 설정되어 있습니다.

7월 20일,LACNIC 블로그는 FORT 1.7.0이 Autonomous System Provider Authorization 객체의 검증을 구현하고 라우터와 정보를 공유해 더 나은 라우팅 결정을 내릴 수 있도록 한다고 설명했습니다. 4일 전, 프로젝트의실제 릴리스는 이 버전에 더 긴 이름을 붙였습니다. 바로1.7.0.experimental입니다. 릴리스 노트는 ASPA와 RTRv2를 구현했다고 말한 뒤, 서버가 제공하는 최대 RTR 버전이 기본값 0이라고 명시합니다.

두 설명 모두 사실입니다. 하나는 소프트웨어가 할 수 있는 일을, 다른 하나는 운영자가 선택하기 전까지 소프트웨어가 하는 일을 기술합니다. 거버넌스 문제는 이 두 상태를 하나로 읽을 때 시작됩니다.

여기서 LACNIC이 실험적 상태를 숨겼다고 말할 근거는 없습니다. 블로그는 ASPA가 아직 공식 표준으로 발표되지 않았으며 변경될 수 있다고 명확히 말합니다. 보수적인 기본값이 결함 있는 릴리스의 증거도 아닙니다. 릴리스 노트는 이유를 설명합니다. FORT는 현재 라우터 키를 생성하지 않으며, 이는 이 구현에서 RTRv1의 목적을 없애고, RTRv2 명세는 아직 변하고 있다는 것입니다. 더 좁은 질문은 운영자, 감사자 또는 다운스트림 네트워크가 설치된 역량에서 라우팅 결과에 이르는 전체 경로를 재구성할 수 있는지입니다.

하나의 출시 문장 뒤에 놓인 세 가지 제어

태그가 붙은FORT 사용 가이드는 서로 다른 세 가지 제어를 노출합니다.

제어릴리스 기본값다루는 대상
--aspa.max-providers4,000하나의 고객 ASN이 검증 주기 전체의 RPKI 트리에서 선언할 수 있는 최대 공급자 ASN 수
--output.aspaNULL(비활성화)검증된 ASPA를 JSON 파일 또는 표준 출력에 기록할지 여부
--server.max-rtr-version0FORT 서버가 클라이언트와 협상할 RPKI-to-Router 프로토콜의 최고 버전

이 스위치들은 서로 다른 계층에서 작동합니다. 첫째는 검증 한계이고, 둘째는 파일 출력을 생성하며, 셋째는 라우터 클라이언트에 제시되는 라이브 프로토콜 표면을 제어합니다. 하나를 켠다고 다른 것이 켜지지 않습니다.

이 가이드는 페이로드 역사에 관해 이례적으로 명시적입니다. RTRv0는 프리픽스 검증 레코드를 다룹니다. RTRv1은 라우터 키를 추가합니다. RTRv2는 ASPA를 추가합니다. 이어서 가이드는 FORT의 실험적 RTRv2 구현이draft-ietf-sidrops-8210bis-25를 따르며, 기본 최대값은 구현이 성숙해지면서 상향될 것으로 예상된다고 말합니다.

상한이 0으로 남아 있어도, FORT는 내부적으로 ASPA 객체를 계속 검증할 수 있습니다.--output.aspa가 별도로 구성되면 파일에 기록할 수도 있습니다. 그러나 버전 0으로 협상된 라우터 세션은 버전 2의 ASPA PDU를 수신할 수 없습니다. 이 말은 실제 배포가 어떻게 구성되어 있는지를 알려주지 않습니다. 공개된 기본값이 허용하는 범위만을 말합니다.

버전 협상은 운영 이벤트다

현재의RTRv2 인터넷 드래프트 27차 개정판은 다음 경계를 구체적으로 만듭니다. 라우터는 자신이 구현한 최고 버전으로 시작합니다. 캐시가 그 버전을 지원하면 세션은 거기서 열립니다. 캐시가 더 낮은 호환 버전을 지원하면 협상을 통해 더 낮은 버전이 대신 확립될 수 있습니다. 한번 다운그레이드되면 더 높은 버전의 기능은 해당 세션에서 사용할 수 없습니다.

이는 구성이 증거의 절반에 불과하다는 뜻입니다. 운영자가 FORT의 상한을 2로 올리더라도, 클라이언트가 버전 2를 지원하고 요청해야 하고, 세션이 버전 2에서 완성되어야 하며, 캐시가 프로토콜이나 검증 실패 없이 ASPA 페이로드를 전달해야 합니다. 구성 파일은 의도를 증명합니다. 협상된 세션은 특정 전달 채널을 증명합니다. 어느 쪽도 라우터가 이후 데이터로 무엇을 했는지 증명하지 않습니다.

이 순서는 유용한 실패 분류 체계를 만듭니다.

  1. 설치된 바이너리가 의도한 릴리스가 아닐 수 있습니다.
  2. ASPA 객체가 검증 중에 없거나, 거부되거나, 제한될 수 있습니다.
  3. 파일 출력이 비활성화된 채로 남을 수 있습니다.
  4. 서버 상한이 2 미만으로 남을 수 있습니다.
  5. 클라이언트가 더 낮은 버전으로 협상할 수 있습니다.
  6. 버전 2 세션이 해당 고객 AS에 대해 사용 가능한 ASPA 페이로드를 받지 못할 수 있습니다.
  7. 라우터가Invalid대신Unknown을 계산할 수 있습니다.
  8. 로컬 정책이 경로 자격을 변경하지 않고 결과를 관찰할 수 있습니다.

출시 문장 하나로 여덟 가지 상태를 모두 담을 수 없습니다. 운영 기록은 담을 수 있습니다.

서명된 객체는 라우팅 결정이 아니다

현재의ASPA 프로필은 고객 ASN의 보유자가 하나 이상의 공급자 ASN을 승인하는 서명된 객체를 정의합니다. 신뢰 당사자는 먼저 RPKI 규칙에 따라 객체를 검증합니다. 그 결과로 사용 가능한 공급자 승인 데이터가 생깁니다. 그것만으로 BGP 경로를 분류하지는 않습니다.

현재의ASPA 검증 드래프트는 이후 단계를 기술합니다. 라우터는 경로를Valid,Unknown또는Invalid로 평가합니다. 정보 부재는Unknown을 낳을 수 있으며, 결함 있는 객체가 Valid 결과를 피하는 유일한 방법은 아닙니다. 드래프트는 Invalid 경로를 경로 선택 대상에서 제외하고 Unknown을 Valid와 동일한 선호도로 취급할 것을 권고합니다. 또한 구체적 완화 정책은 네트워크 운영자의 재량에 남는다고 말합니다.

이 분리가 중요합니다. 검증된 ASPA 객체를 세는 대시보드는 신뢰 당사자 계층을 측정합니다. 버전 2 세션은 전송을 측정합니다. 경로 상태 카운터는 계산을 측정합니다. 라우팅 정보 베이스 또는 포워딩 결과는 적용된 정책을 측정합니다. 각각은 유용하지만 어느 것도 다음 단계를 대체하지 못합니다.

따라서 FORT 1.7.0.experimental 설치가 네트워크를 경로 누출로부터 보호한다고 추론하는 것은 과합니다. RTRv2가 없는 운영자가 아무것도 하지 않는다고 추론하는 것 역시 과합니다. 파일 익스포트는 테스트를 지원할 수 있고, 오리진 검증은 더 이른 프로토콜 버전에서 계속됩니다. 정확한 진술은 덜 극적이고 더 유용합니다. FORT는 실험적 ASPA 역량을 배송하며, 그 라우터 전달 경로는 명시적 버전 선택과 호환되는 다운스트림 정책을 요구합니다.

드래프트 출처는 릴리스 기록에 속한다

태그가 붙은 가이드는 구현이RTRv2 드래프트 25차 개정판을 따른다고 말합니다. 연구 기준 시점에 현재 텍스트는 8월 13일자 27차 개정판이었습니다. ASPA 객체 프로필은 29차 개정판이었고, 경로 검증 문서는 8월 24일에 28차 개정판에 도달했습니다.

이 수치는 비호환성을 증명하지 않습니다. 더 높은 개정판에는 편집 수정, 명확화 또는 실질적 변경이 들어 있을 수 있으며, 그 영향은 비교와 상호운용성 테스트만이 확립할 수 있습니다. 그러나 이 수치는 'RTRv2 지원'이 실험적 소프트웨어에 대해 불완전한 출처 정보임을 증명합니다. 그 주장에는 정확한 드래프트 개정판, 코드 커밋, 빌드 식별자, 테스트된 피어 집합이 필요합니다.

RFC 8210은 RPKI-to-Router 버전 1의 공개 명세로 남아 있습니다. ASPA PDU는 버전 2 작업 진행 중 문서에 속합니다. 바로 그렇기 때문에 이 릴리스의 보수적 기본값이 이해 가능합니다. 또한 그렇기 때문에 이후 운영자는 구현된 드래프트와 현재 드래프트가 언제 갈라지는지, 재테스트가 언제 이루어지는지, 어떤 결과가 기본값 변경을 정당화했는지 알아야 합니다.

다운로드 수는 그 질문에 답할 수 없습니다. 다운로드된 패키지는 설치가 아닙니다. 설치는 실행 중인 프로세스가 아닙니다. 실행 중인 프로세스는 버전 2 세션이 아닙니다. 세션은 적용된 완화 조치가 아닙니다. 증거는 자신이 관찰한 계층에서 멈춰야 합니다.

두 부분으로 된 역량 및 활성화 기록

가장 작은 내구성 있는 설계는 공개 릴리스 카드와 로컬 생성 활성화 영수증입니다. LACNIC과 FORT 프로젝트는 사설 네트워크 텔레메트리를 수집하지 않고 첫째를 공개할 수 있습니다. 운영자는 둘째를 보존하고, 인시던트나 감사 시 공개하며, 유용한 경우에만 안전한 집계만 노출할 수 있습니다.

릴리스 카드 항목중요한 이유
소스 태그와 커밋검토된 코드를 식별
패키지 이름과 해시설치된 후보 바이트를 식별
ASPA 프로필 개정판서명된 객체 문법과 검증 기준을 고정
RTRv2 개정판구현된 와이어 프로토콜을 고정
검증 개정판다운스트림에 기대되는 경로 상태 알고리즘을 고정
기본값과 범위구성 전에 어떤 역량이 휴면 상태인지 보여줌
알려진 편차포괄적 지원 레이블이 제외 사항을 숨기지 않도록 함
상호운용성 집합범용 지원을 암시하지 않으면서 테스트된 라우터 클라이언트와 협상된 버전을 명시
대체 및 롤백이후 수정 사항을 추적 가능하게 함

운영자 영수증은 릴리스 카드가 끝나는 지점에서 시작합니다. 영수증은 설치된 패키지 해시, 프로세스 시작과 구성 지문, 최대 RTR 버전, 협상된 버전별 클라이언트 수의 개인정보 안전 집계, 검증 주기 시간, 사유 클래스별 수용·거부 ASPA 수, 사용 시 파일 출력 상태와 해시, 경로 검증 모드, 경로 상태 수, 완화 정책, 롤백 또는 예외 상태를 기록합니다.

라우터 식별자와 사설 토폴로지는 공개할 필요가 없습니다. 네트워크는 정확한 엔드포인트를 보호하면서세 클라이언트가 v2로 협상, 하나는 v0, 마지막 성공 검증 시각 T같은 집계를 공개할 수 있습니다. 공개된 0이 항상 필요하지는 않습니다. 검증 가능한 로컬 영수증이 보증, 조달 또는 인시던트 검토에는 충분할 수 있습니다.

두 기록을 연결하는 조인 키가 핵심입니다. 패키지 해시, 구현 개정판, 구성 지문입니다. 그것이 없으면 릴리스 페이지는 가능한 동작을 기술하는 반면 운영자 보고서는 이름 없는 프로세스를 기술합니다. 그것이 있으면 검토자는 실행 중인 시스템이 평가된 역량인지 판단할 수 있습니다.

확인된 기록이 확립하지 않는 것

출처 자료는 몇 개의 네트워크가 이 릴리스를 설치했는지, 몇 개가 기본값을 변경했는지, 어떤 라우터가 버전 2로 협상했는지, 몇 개의 ASPA 객체가 검증을 통과했는지, 어떤 경로가 자격을 잃었는지 보여주지 않습니다. 또한 LACNIC 블로그가 거짓이라거나, 프로젝트가 RTRv2를 기본으로 활성화했어야 한다거나, 25차 개정판이 27차 개정판과 호환되지 않는다는 것을 보여주지 않습니다.

또한 범용 보호를 확립하지도 않습니다. ASPA는 공급자 승인 증거와 경로 누출 탐지를 위해 설계되었습니다. 모든 운영 관계를 인증하거나, 포워딩 플레인을 검증하거나, 불완전한 정보를 없애거나, 로컬 라우팅 권한을 제거하지 않습니다.

기록이 확립하는 것은 더 좁습니다. FORT 1.7.0.experimental은 ASPA와 RTRv2를 구현했습니다. 라우터 버전 상한은 기본값 0이었습니다. ASPA 파일 출력은 기본적으로 비활성화였습니다. 문서는 구현을 특정 작업 진행 중 개정판에 연결했습니다. 이후 검증 선택은 운영자에게 속했습니다.

이 정도면 'FORT는 ASPA를 지원하나?'라는 막연한 질문을 중요한 질문들로 대체할 수 있습니다. 어떤 빌드인가, 어떤 드래프트인가, 어떤 출력인가, 어떤 협상 세션인가, 어떤 경로 상태인가, 어떤 정책인가, 그리고 어떤 롤백인가?

출처