팀의 기사

전 세계 라우팅 보안을 강화하는 RPKI의 역할

RPKI는 네트워크가 승인되지 않은 경로 출발지를 거부하도록 도울 수 있다. 실제 효과를 좌우하는 공유 증거, 각 네트워크의 결정, 운영상 의존 관계를 살펴본다.

목차

파란색 케이블로 연결된 별도의 작업대에서 엔지니어 모형 세 개가 서로 대응하는 카드를 확인하고 있다.

공유된 증거는 각 네트워크가 직접 확인한다. 그 효과는 네트워크가 받은 데이터와 적용하는 정책에 따라 달라진다.

한 네트워크의 라우팅 실수는 멀리 떨어진 사람들에게도 영향을 줄 수 있다. 잘못된 출발지 정보가 퍼지면 정상 작동하는 웹사이트에 접속하지 못하거나 트래픽이 의도하지 않은 곳으로 향할 수 있다. RPKI는 수신 네트워크가 경로 광고를 신뢰하기 전에 그 일부를 확인할 수 있게 한다.

RPKI의 가치는 일련의 행동에서 나온다. 자원 보유자가 사용할 수 있는 승인 정보를 게시하고, 소프트웨어가 이를 검증하며, 운영자가 라우팅 정책을 적용한다. 이 과정을 이해하면 어떤 보호를 제공하는지, 어디에서 실패할 수 있는지 알 수 있다.

무엇을 확인하는가?

네트워크는 BGP로 도달 가능성 정보를 교환한다. 프리픽스는 IP 주소 블록이고, ASN은 자율 시스템을 식별하는 번호다. 경로 출발지 승인, 즉 ROA는 자원 보유자가 특정 프리픽스의 경로를 시작하도록 허용한 ASN을 나타낸다.

검증 소프트웨어는 서명된 기록과 인증서를 확인한 뒤 검증된 승인 데이터를 제공한다. 라우터는 경로의 출발지와 프리픽스 길이를 이 데이터와 비교한다. 그 결과를 어떻게 처리할지는 운영자가 결정한다. 이렇게 역할을 나누면 기록 게시, 증거 검증, 라우팅 결정이 서로 구분된다.

의미가 서로 다른 세 가지 결과

  • Valid: 해당 프리픽스를 포괄하는 승인 중 하나 이상이 광고된 출발지와 프리픽스 길이를 허용한다.
  • Invalid: 해당 프리픽스를 포괄하는 승인 데이터는 있지만, 그 조합을 허용하는 항목은 없다.
  • NotFound: 사용 중인 데이터에 해당 경로를 포괄하는 승인 정보가 없다.

이 규칙은 RFC 6811에서 정의한다. 특히 해당 프리픽스를 포괄하는 ROA가 없다는 것은 경로가 Invalid라는 뜻이 아니다. Valid 역시 광고된 전체 경로가 인증되었다는 뜻은 아니다.

보호 효과는 어디에서 나타나는가?

수신 네트워크가 Invalid 광고를 거부한다면, 승인과 맞지 않는 출발지 정보는 그 네트워크를 통해 더 퍼지지 않고 그곳에서 차단될 수 있다. 효과는 승인 정보, 이용 가능한 데이터, 실제로 적용된 정책에 달려 있다. ROA를 더 많이 게시하는 것과 더 많은 네트워크가 출발지 검증을 사용하는 것은 서로 관련이 있지만 다른 형태의 도입이다.

RFC 8481은 운영자의 역할을 명확히 한다. 검증 상태를 부여하는 일과 그 상태에 따라 조치하는 일은 별개다. 모든 네트워크가 동시에 같은 정책을 따르게 하는 전 세계 공통 스위치는 없다.

유출된 경로도 승인된 출발지를 그대로 유지할 수 있다. 조작된 경로 역시 그 출발지 값을 유지할 수 있다. 따라서 출발지 검증만으로는 중요한 라우팅 위험이 여전히 남는다. 운영자에게는 다른 통제 수단과 경로가 어떻게 전파되는지 파악할 수 있는 가시성이 필요하다.

증거 시스템도 관리해야 한다

잘못된 ASN을 지정하거나 의도한 프리픽스 길이를 허용하지 않는 승인 정보 때문에 정당한 경로 광고가 Invalid로 분류될 수 있다. 저장소, 인증서 또는 검증기의 문제도 라우터가 이용할 수 있는 데이터를 바꿀 수 있다. 캐시와 갱신 시점이 다르면 각 네트워크가 반드시 같은 순간에 같은 정보를 보게 되는 것은 아니다.

실무적인 대비에는 정확한 승인 정보, 테스트를 거친 라우팅 변경, 검증기 모니터링, 오래되거나 누락된 데이터에 대한 문서화된 대응 절차가 포함된다. 두 번째 검증기는 견뎌 내고자 하는 장애를 줄이는 만큼만 유용하다. 모든 공통 의존 관계를 없애 주지는 않는다. RFC 7115는 운영을 다루고, RFC 8211은 RPKI의 게시 및 인증 시스템에서 발생할 수 있는 유해한 행위를 살펴본다.

보호가 영구적인 의존이 되어서는 안 된다

이는 제도 설계의 문제이기도 하다. 필수 증거를 통제하는 기관은 자신이 운영하지도, 정치적으로 대표하지도 않는 네트워크에 영향을 줄 수 있다. 노트 28에서 루헝은 등록기관의 기능이 정확한 행정으로 남아야 하며 강압 수단이 되어서는 안 된다고 주장한다.

그의 노트 64는 더 높은 설계 목표를 제시한다. 공통 규칙은 최소한이어야 하고 각 참여자가 직접 검증할 수 있어야 하며, 기록은 이전할 수 있어야 하고, 이후의 변경은 참여자의 자발적 채택에 달려 있어야 한다. 보안과 제 역할을 하지 못하는 조정자를 교체할 수 있는 능력은 함께 설계해야 한다.

그 시급함은 구체적이다. 사용자가 이미 접속할 수 없게 된 뒤에는 필요한 기록을 누가 통제하는지 알아내는 일부터 긴급 과제가 된다. 네트워크가 작동할 때 이러한 의존 관계를 추적해야 한다. 다음으로 기록의 변경이 어떻게 경로 거부로 이어질 수 있는지 살펴보자.