자원 공개 키 인프라스트럭처

Resource Public Key Infrastructure

Resource Public Key Infrastructure(RPKI; 리소스 공개인프라스트럭처)는 인터넷 BGP 라우팅 인프라스트럭처의 보안 향상을 지원하기 위한 전용 Public Key Infrastructure(PKI; 공개 키 인프라스트럭처) 프레임워크입니다.

RPKI는 인터넷 번호 자원 정보(자율 시스템 번호나 IP 주소 등)를 신뢰 앵커에 접속하는 방법을 제공합니다.인증서 구조는 인터넷 번호 리소스가 배포되는 방식을 반영합니다.즉, 리소스는 처음에 IANA에 의해 Regional Internet Registry(RIR; 지역 인터넷레지스트리)에 배포되고, RIR는 Local Internet Registry(LIR; 지역 인터넷레지스트리)에 배포되며, RIR은 그 자원을 고객에게 배포합니다.RPKI는 자원의 합법적인 소유자가 인터넷 라우팅 프로토콜의 작동을 제어하여 경로 하이잭 및 기타 공격을 방지하기 위해 사용할 수 있습니다.특히, RPKI 는, BGP Route Origin Validation(ROV; BGP 루트 오리진 검증)에 의해서 Border Gateway Protocol(BGP)을 시큐어 Neighbor Discovery Protocol(SEND)에 의해서 IPv6 의 Neighbor Discovery Protocol(ND)에 의해서 시큐어하게 됩니다.

RPKI 아키텍처는 RFC 6480에 기재되어 있습니다.RPKI 사양은 RFC 6481, RFC 6482, RFC 6483, RFC 6484, RFC 6485, RFC 6486, RFC 6487, RFC 6488, RFC 6489, RFC 6490, RFC 6491, RFC 6492 및 RFC 6493의 일련의 RFC에 기재되어 있습니다.SEND는 RFC 6494 및 RFC 6495에 기재되어 있습니다.이러한 RFC는 IETF의 sidr 작업 [1]그룹의 산물로, RFC 4593에 기재되어 있는 위협 분석에 근거하고 있습니다.이러한 규격은, BGP 송신원 검증에 대응하고 있습니다만, 패스 검증은 RFC 8205 로 개별적으로 표준화 되어 있는 BGPsec 에 의해서 제공됩니다.프리픽스 발신기지 검증에는 이미 몇 가지 실장이 있습니다.[2]

리소스 인증서 및 하위 개체

RPKI 에서는, X.509 PKI 증명서(RFC 5280)와 IP 주소 및 AS ID(RFC 3779)의 확장자를 사용합니다.LIR(Local Internet Registry)로 알려진 지역 인터넷 레지스트리의 구성원은 보유하고 있는 인터넷 번호 리소스를 나열하는 리소스 인증서를 얻을 수 있습니다.증명서에는 ID 정보가 포함되어 있지 않지만 유효한 소유권 증명서를 제공합니다.LIR은 자원 증명서를 사용하여 보유하고 있는 프레픽스를 사용하여 루트아나운스에 대해 암호 증명서를 작성할 수 있습니다.Route Origination Authorization[3](ROA; 루트 발신 허가)라고 불리는 이러한 증명에 대해 다음에 설명합니다.

루트 발신 허가

Route Origination Authorization(ROA; 루트 발신 허가)는, 특정의 IP 프리픽스를 발신하도록 허가된 Autonomous System(AS; 자율 시스템)을 나타냅니다.또, AS 가 애드버타이즈 하도록 허가된 프리픽스의 최대 길이를 결정할 수 있습니다.

최대 프리픽스 길이

최대 프리픽스 길이는 옵션필드입니다정의되어 있지 않은 경우 AS는 지정된 프레픽스를 정확하게 애드버타이즈 하도록 허가됩니다.그 이상의 구체적인 프레픽스 아나운스는 무효로 간주됩니다.이것은, 보다 구체적인 프레픽스의 아나운스먼트를 통해서 집약을 실시해, 하이잭을 방지하는 방법입니다.

존재하는 경우는, AS 가 애드버타이즈 하도록 허가된 가장 고유의 IP 프리픽스의 길이를 지정합니다.예를 들어, IP 주소 프레픽스가10.0.0/16 의 최대 길이는 22 입니다.AS는 /22 보다 구체적이지 않은 한, 10.0.0/16 미만의 프리픽스를 애드버타이즈 하도록 허가됩니다.따라서 이 예에서는 AS는 10.0.0/16, 10.0.128.0/20 또는 10.0.252.0/22애드버타이즈 하도록 허가되지만 10.0.255.0/24는 허가되지 않습니다.

RPKI 루트아나운스의 유효성

발신기지 AS와 프리픽스의 특정 조합에 대해 ROA가 작성되면 1개 또는 복수의 루트아나운스의 RPKI[4] 유효성에 영향을 줍니다.다음과 같은 경우가 있습니다.

  • 유효한
    • 경로 안내방송이 하나 이상의 ROA에 의해 커버됩니다.
  • 무효한
    • 프리픽스는 무허가 AS에서 방송됩니다.이것은 다음을 의미합니다.
      • 다른 AS의 이 프리픽스에는 ROA가 있지만 이 AS를 허가하는 ROA는 없습니다.
      • 납치 시도일 수 있습니다
    • 이 아나운스는 프리픽스와 AS에 일치하는 ROA로 설정된 최대 길이보다 구체적입니다.
  • 알 수 없는
    • 이 발표의 프레픽스는 기존 ROA에서는 커버되지 않습니다(또는 일부만 커버됩니다.

무효인 BGP 업데이트는, ROA [5]의 설정이 잘못되어 있는 경우도 있습니다.

관리

인증 기관을 실행하고 리소스 인증서 및 하위 개체(예: ROA)를 관리하는 데 사용할 수 있는 오픈 소스[6] 도구가 있습니다.또한 RIR에는 멤버포털에서 사용할 수 있는 호스트 RPKI 플랫폼이 있습니다.이것에 의해, LIR 는 호스트 시스템에 의존할지, 독자적인 소프트웨어를 실행할지를 선택할 수 있습니다.

출판

시스템은 단일 저장소 게시 지점을 사용하여 RPKI 개체를 게시하지 않습니다.대신 RPKI 저장소 시스템은 분산 및 위임된 여러 저장소 게시 포인트로 구성됩니다.각 저장소 게시 지점은 하나 이상의 RPKI 인증서의 게시 지점과 연결됩니다.실제로는 인증국을 실행할 때 LIR는 모든 암호화 자료를 직접 공개하거나 제3자에게 공개를 의뢰할 수 있습니다.LIR가 RIR에 의해 제공되는 호스트 시스템을 사용하도록 선택한 경우 원칙적으로 공개는 RIR 저장소에서 이루어집니다.

확인

신뢰할 수 있는 당사자 소프트웨어는 rsync 또는 RPKI Repository Delta Protocol(RFC 8182)[7]사용하여 저장소 데이터를 가져오기, 캐시 및 검증합니다.신뢰할 수 있는 당사자는 저장소 데이터의 완전하고 시기적절한 뷰를 유지하기 위해 모든 출판물과 정기적으로 동기화하는 것이 중요합니다.데이터가 불완전하거나 오래된 경우 라우팅 결정이 [8]잘못될 수 있습니다.

라우팅 결정

ROA 검증 후 증명은 BGP 라우팅과 비교하여 네트워크 오퍼레이터의 의사결정 프로세스에 도움이 됩니다.이것은 수동으로 실시할 수 있습니다만, 검증된 프리픽스 송신원데이터는, RPKI to Router Protocol(RFC [9]6810)을 사용해 서포트되고 있는 라우터에 송신할 수도 있습니다.시스코 시스템즈에서는, RPKI 데이터 세트를 취득해, 라우터 [11]설정으로 사용하기 위한 많은[10] 플랫폼에서의 네이티브지원을 제공하고 있습니다.Juniper는 버전 12.2 이후를 실행하는 모든 플랫폼을[12] 지원합니다.Quagga는, BGP Secure Routing Extensions(BGP-SRX;[13] 시큐어 라우팅 확장) 또는 RPKI 실장에[14] 의해서, RTRlib 에 근거해 이 기능을 취득합니다.RTRlib는[15] RTR 프로토콜 및 프리픽스 오리진 검증의 오픈소스 C 구현을 제공합니다.라이브러리는 라우팅 소프트웨어 개발자와 네트워크 [16]운영자에게도 유용합니다.개발자는 RTRlib를 BGP 데몬에 통합하여 구현을 RPKI로 확장할 수 있습니다.네트워크 오퍼레이터는 RTRlib를 사용하여 모니터링 도구를 개발할 수 있습니다(예를 들어 캐시의 적절한 동작을 확인하거나 캐시의 성능을 평가하기 위해).

RFC 6494 는, IPv6 로 사용하기 위해서 RPKI 를 사용하도록, Neighbor Discovery Protocol(ND) 의 시큐어 Neighbor Discovery Protocol(SEND) 시큐러티 메카니즘의 증명서 검증 방법을 갱신합니다.수정된 RFC 6487 RPKI 증명서 프로파일을 사용하여 SEND 증명서 프로파일을 정의합니다.이 프로파일은 단일 RFC 3779 IP 주소 위임 확장을 포함해야 합니다.

레퍼런스

  1. ^ "Secure Inter-Domain Routing (sidr)". datatracker.ietf.org.
  2. ^ Resource Public Key Infrastructure(RPKI; 리소스 공개 키 인프라스트럭처) 라우터 구현 보고서(RFC 7128), R. Bush, R.오스틴, K. 파텔, H. 그레들러, M. 바흘리쉬, 2014년 2월
  3. ^ Route Origin Authorization(ROA; 루트 오리진 인가 프로파일), M. Lefinski, S. Kent, D.Kong, 2011년 5월 9일
  4. ^ 자원증명서 PKI 및 ROA를 사용한 루트 발신 검증, G. Huston, G. Michaelson, 2010년 11월 11일
  5. ^ M. Wéhlisch, O. Maennel, T.C. Schmidt: "RPKI를 사용한 BGP 루트 하이잭 검출 방향", ACM SIGCOMM, 103–104, 뉴욕:ACM, 2012년8월
  6. ^ "GitHub - dragonresearch/rpki.net: Dragon Research Labs rpki.net RPKI toolkit". November 23, 2019 – via GitHub.
  7. ^ "RFC 8182 - The RPKI Repository Delta Protocol". datatracker.ietf.org.
  8. ^ 존 크리스토프, 랜디 부시, 크리스 카니치, 조지 마이클슨, 앰리시 포커, 토마스 C.슈미트, 마티아스 벨리쉬, 2020년RPKI 의존 관계자의 측정에 대해ACM Internet Measurement Conference(IMC '20)의 속행.컴퓨터 기계 협회, 뉴욕, 뉴욕, 미국, 484-491.DOI: https://doi.org/10.1145/3419394.3423622
  9. ^ "RFC 6810 - The Resource Public Key Infrastructure (RPKI) to Router Protocol". datatracker.ietf.org.
  10. ^ "RPKI Configuration with Cisco IOS". RIPE.
  11. ^ "Cisco IOS IP Routing: BGP Command Reference - BGP Commands: M through N [Support]". Cisco.
  12. ^ "Example: Configuring Origin Validation for BGP - Technical Documentation - Support - Juniper Networks". www.juniper.net.
  13. ^ "BGP Secure Routing Extension (BGP‑SRx) Prototype". NIST. August 15, 2016.
  14. ^ "Quagga with RPKI-RTR prefix origin validation support: rtrlib/quagga-rtrlib". May 10, 2019 – via GitHub.
  15. ^ "RTRlib - The RPKI RTR Client C Library". rpki.realmv6.org.
  16. ^ M. 벨리쉬, F.Holler, T.C. Schmidt, J.H. Schiller: "RTRlib: USENIX 보안 워크숍 CSET'13, 버클리, CA, US:ENCIX 2013 ASO, RPKI 기반 프리픽스 원본 검증용 오픈 소스 라이브러리입니다.

외부 링크