端口敲门与单包授权技术:安全分析与fwknop应用
1. 端口敲门与单包授权是否属于模糊安全技术
端口敲门(Port Knocking)和单包授权(Single Packet Authorization,SPA)是否属于模糊安全技术一直是一个备受争议的话题。自端口敲门技术首次向安全界公布以来,各方对此看法不一。
1.1 模糊安全的定义
Bruce Schneier在《应用密码学》前言中对安全和模糊进行了形象的比喻:将一封信锁在保险箱里,把保险箱藏在纽约的某个地方,然后让你去读信,这不是安全,而是模糊;但如果把信锁在保险箱里,同时给你保险箱的设计规格、数百个相同的保险箱及其密码组合,让你和世界上最厉害的开锁专家研究锁的机制,最终仍无法打开保险箱读取信件,这才是安全。
1.2 端口敲门和SPA的安全性分析
对于端口敲门和SPA的开源实现,就如同有人提供了保险箱内部工作的所有细节,从加密算法到软件与数据包过滤器的接口,一切都是公开可见的。唯一隐藏的是加密密钥,而强大的密码系统不会仅仅因为加密密钥未公开就属于模糊安全技术。
以OpenSSH服务器守护进程中的一个假设漏洞修复为例,若发现特定功能存在漏洞,创建一个补丁要求远程SSH客户端在访问该功能时提供一段加密数据,使用如Rijndael或GnuPG使用的Elgamal等经过严格审查的密码进行加密。在这个假设示例中,只要加密算法安全,利用该漏洞进行攻击的可能性就会大大降低,这种修复方式并不依赖模糊安全。而端口敲门(至少是加密形式)和SPA提供了比这个示例更好的安全特性,因为恶意客户端在未提供类似加密数据的情况下,甚至无法与SSH服务器的TCP栈建立TCP会话,更无法与SS