一种零信任局域网设备发现与自动重连方法及系统与流程

摘要: 本发明涉及局域网设备发现与安全接入,具体涉及一种零信任局域网设备发现与自动重连方法及系统,适用于无中心服务器、无互联网依赖的两台终端设备在链路本地网络中的相互发...
一种零信任局域网设备发现与自动重连方法及系统与流程

本发明涉及局域网设备发现与安全接入,具体涉及一种零信任局域网设备发现与自动重连方法及系统,适用于无中心服务器、无互联网依赖的两台终端设备在链路本地网络中的相互发现与断线后的自动重连。

背景技术:

1、局域网内的设备自动发现通常采用组播 dns(mdns)等链路本地组播协议:设备以组播方式宣告自身的服务类型、端口与地址,对端通过组播查询获取。此类协议的设计前提是"发现层信息可信",宣告内容明文广播,同网段任何设备均可监听。

2、将上述发现机制用于安全传输类应用时,存在突出的安全风险:设备在局域网内漫游更换地址后需要重新发现对端,若依赖自动重连,同网段攻击者可以监听查询并伪造应答,冒充对端设备诱导重连方连接到自己,进而实施钓鱼、流量劫持或拒绝服务。现有技术的应对方式主要有两类:其一,在发现层引入额外的加密或签名机制,但这会使"信任发现层"成为新的假设前提,引入证书分发、密钥管理等复杂问题,且组播发现生态并无此惯例;其二,要求用户人工重新输入对端地址,牺牲漫游场景下的使用连续性。

3、此外,组播发现协议面向公网实现时还存在被利用为反射放大攻击放大器的风险,以及畸形报文导致解析端崩溃、显示注入等工程安全问题。

4、因此,需要一种既不信任发现层本身、又不增加人工操作的设备发现与自动重连方案。

技术实现思路

1、要解决的技术问题

2、1. 在"同网段攻击者可以监听、应答、伪造"的零信任前提下,实现漫游换址后的自动重连,且攻击者无法诱导重连方连接至错误对端;

3、2. 发现层广播不泄露任何可用于冒充对端的秘密信息;

4、3. 发现层自身具备抗泛洪、抗反射放大、抗畸形报文的工程健壮性。

5、技术方案

6、一种零信任局域网设备发现与自动重连方法,应用于第一设备与第二设备,包括:

7、配对令牌下发步骤:第一设备与第二设备首次建立连接并完成安全握手、建立加密信道后,第一设备生成安全随机的配对令牌,并仅通过所述加密信道将所述配对令牌发送至第二设备;所述配对令牌不出现在任何明文报文与广播报文中。

8、受控宣告步骤:在配对窗口期内,第一设备响应针对约定服务类型的组播查询,以组播应答方式宣告自身的地址与端口,宣告内容中仅携带所述配对令牌的散列截断值,而不携带配对令牌本身;配对窗口期外,第一设备对所述组播查询保持静默。

9、重发现匹配步骤:第一设备与第二设备的连接断开后,第二设备以缓存地址重连失败时,向所述约定服务类型发送组播查询,收集组播应答,提取各应答中宣告的散列截断值,与本地保存的所述配对令牌的散列截断值进行比对;比对一致时,以该应答宣告的地址重新连接第一设备;在预设守卫窗口内无匹配项时,回退至人工输入地址的连接方式。

10、令牌作废步骤:所述配对令牌的生命周期限定为一次传输会话,会话结束后配对令牌作废。

11、优选地,所述散列截断值为对配对令牌执行 sha-256 散列后取前 16 字节的十六进制编码;所述比对采用常数时间比对,防止时序侧信道。

12、优选地,所述宣告与查询均通过组播 dns 报文实现,且执行如下反滥用校验:仅响应网际协议生存时间字段为 255 的同链路报文;仅响应源端口为组播 dns 约定端口且为查询语义的报文;宣告应答限速;发现端按服务实例名去重,同一实例的新应答覆盖旧记录并以最新地址为准。

13、优选地,报文解析执行如下安全校验:报文长度上限校验、域名压缩指针环路检测与回指校验、标签长度与全名长度校验;宣告内容中的文本键值采用白名单消费,实例名展示前转义并截断。

14、优选地,第一设备漫游更换地址后,先发送生存时间为零的告别宣告,再以新地址重新宣告。

15、优选地,所述自动重连的信任锚定在安全握手层:即使重连方连接至错误对端,该对端因不持有会话口令与密钥材料而无法通过安全握手,不能获取任何数据。

16、有益效果

17、1. 零信任自动重连:攻击者不知配对令牌即无法算出匹配的散列截断值,无法诱导重连方连接至自身;即便碰巧碰撞,也因无法通过安全握手而拿不到任何数据——自动重连在"能听、能答、能伪造"的威胁模型下仍然安全;

18、2. 广播零秘密泄露:组播广播中只出现散列截断值,无法反推配对令牌;配对窗口期外完全静默,降低设备暴露面;

19、3. 不引入发现层信任假设:无需为发现层配置证书或加密,避免密钥管理复杂性,信任全部锚定在既有安全握手层;

20、4. 工程健壮性:同链路校验、限速、白名单消费、压缩指针环路检测等措施,使发现层具备抗泛洪、抗反射放大、抗畸形报文能力;协议走链路本地组播,物理上不出路由器,与"不上云、不上网"的隔离场景天然兼容;

21、5. 体验连续性:漫游换址场景下重连无需人工干预,发现失败时自动回退人工输入地址,体验不中断。

1.一种零信任局域网设备发现与自动重连方法,其特征在于,应用于经链路本地网络通信的第一设备与第二设备,所述方法包括:配对令牌下发步骤:第一设备与第二设备首次建立连接并完成安全握手、建立加密信道后,第一设备生成安全随机的配对令牌,并仅通过所述加密信道将所述配对令牌发送至第二设备,所述配对令牌不出现在任何明文报文与广播报文中;受控宣告步骤:在配对窗口期内,第一设备响应针对约定服务类型的组播查询,以组播应答方式宣告自身的地址与端口,宣告内容中仅携带所述配对令牌的散列截断值而不携带所述配对令牌本身;配对窗口期外,第一设备对所述组播查询保持静默;重发现匹配步骤:第一设备与第二设备的连接断开后,第二设备以缓存地址重连失败时,向所述约定服务类型发送组播查询并收集组播应答,提取各应答中宣告的散列截断值,与本地保存的所述配对令牌的散列截断值进行比对;比对一致时,以该应答宣告的地址与端口重新连接第一设备并重新执行安全握手;在预设守卫窗口内无比对一致的应答时,回退至人工输入地址的连接方式;令牌作废步骤:所述配对令牌的生命周期限定为一次传输会话,会话结束后所述配对令牌作废。

2.根据权利要求 1 所述的方法,其特征在于,所述散列截断值为对所述配对令牌执行散列运算后取前预设字节数的编码值;所述比对为常数时间比对,比对耗时不随匹配前缀长度变化。

3.根据权利要求 1 所述的方法,其特征在于,所述组播查询与组播应答基于组播 dns报文实现,且所述受控宣告步骤与重发现匹配步骤中执行反滥用校验:仅处理网际协议生存时间字段为 255 的同链路报文;仅响应源端口为组播 dns 约定端口且为查询语义的报文;应答按预设最小间隔限速。

4.根据权利要求 3 所述的方法,其特征在于,组播 dns 报文的解析执行如下安全校验:报文长度上限校验;域名压缩指针跳转次数上限校验且指针必须回指;标签长度与全名长度上限校验;任一校验失败即丢弃该报文。

5.根据权利要求 3 所述的方法,其特征在于,宣告内容中的文本键值按白名单消费,所述白名单仅包含协议版本号与所述散列截断值;服务实例名仅用于展示且展示前转义并截断。

6.根据权利要求 1 所述的方法,其特征在于,所述重发现匹配步骤中,第二设备按服务实例名对收集到的应答去重,同一服务实例的新应答覆盖旧记录并以最新宣告地址为准。

7.根据权利要求 1 所述的方法,其特征在于,第一设备漫游更换地址后,先发送生存时间为零的告别宣告,再以新地址重新宣告。

8.根据权利要求 1 所述的方法,其特征在于,所述安全握手采用一次性临时密钥对交换与动态口令认证;第二设备重新连接后执行完整安全握手,使持有错误密钥材料的对端无法通过认证。

9.一种零信任局域网设备发现与自动重连系统,其特征在于,包括第一设备与第二设备:所述第一设备包括:令牌生成模块,配置为在与第二设备建立加密信道后生成安全随机的配对令牌,并仅通过所述加密信道下发;宣告模块,配置为在配对窗口期内响应针对约定服务类型的组播查询,以组播应答宣告自身地址与端口,宣告内容中仅携带所述配对令牌的散列截断值,配对窗口期外保持静默;所述第二设备包括:令牌保存模块,配置为经所述加密信道接收并保存所述配对令牌;重发现模块,配置为在连接断开且以缓存地址重连失败时,发送组播查询、收集组播应答、提取应答中的散列截断值与本地配对令牌的散列截断值比对,比对一致时以该应答宣告的地址重新连接第一设备,守卫窗口内无匹配时回退至人工输入地址方式。

10.一种电子设备,其特征在于,包括存储器与处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求 1 至 8 任一项所述方法中第一设备侧和/或第二设备侧的步骤。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求 1 至 8 任一项所述方法中第一设备侧和/或第二设备侧的步骤。