一个授权对象明确一个AS及前缀
RFC 9582规定ROA内容包括一个AS号和一组IPv4或IPv6前缀。若同一组前缀需要授权多个AS,便分别创建相应对象,而不是把“这个组织可使用地址”含糊当成所有AS都能发起宣告。
验证ROA还要核对签名、签名对象结构及相应资源证书,确认签名者有权授权所列前缀。数学上签名有效却超出其资源范围,仍不能形成有效授权;ROA也不自行让路由器开始通告或保证实际服务在线。
参考:[1]
maxLength改变授权范围
没有maxLength时,授权针对所列的精确前缀;指定该字段可允许更长的子前缀,但不能超出所规定上限。例如一个/24且maxLength为26的授权,可以覆盖其内部/25或/26宣告,却不包括/27。长度越大表示范围更小的子前缀,不能把方向弄反。
把maxLength放得很宽,会同时授权原本并不打算宣告的子前缀。RFC 9319据此讨论尽量精确的授权:范围越宽不等于保护越强,必须让授权覆盖与实际发布计划相匹配;收紧范围也不能取代对路径本身的其他保护。
授权对象与路由验证状态不同
路由起源验证把宣告前缀、长度和起源AS与可用授权比较。存在匹配授权时可判为Valid;有覆盖前缀却没有匹配授权时可为Invalid;没有相应覆盖资料则为NotFound。多个授权需一起考虑,不能只因某一个不匹配就忽略另一个有效匹配。
这些状态仍需交给运营者的策略使用。NotFound不等于已经证实恶意,Valid也不表示整个AS_PATH真实或全部传播范围合规;RFC 8481把设置验证状态与采取策略动作分开,避免让一个授权标签代替完整的路由决策。