端口敲门与单包授权技术的安全性及fwknop应用解析
1. 模糊安全争议:端口敲门与SPA是否属于模糊安全技术
在网络安全领域,端口敲门(Port Knocking)和单包授权(Single Packet Authorization,SPA)是否属于模糊安全(Security Through Obscurity)技术一直是备受争议的话题。自端口敲门技术首次向安全界公布以来,各方对此看法不一。
当一项新的安全技术被提出时,全球的研究人员会对其架构进行审查。其中一个常见的测试就是看该技术是否存在模糊安全的问题。如果存在,人们会尝试修复其架构。因此,判断SPA是否存在模糊安全问题至关重要。Bruce Schneier在《应用密码学》前言中给出了一个形象的比喻:将一封信锁在保险箱里,把保险箱藏在纽约的某个地方,然后让别人去读信,这不是安全,而是模糊;但如果把信锁在保险箱里,同时提供保险箱的设计规格、数百个相同的保险箱及其密码组合,让人们和世界上最厉害的保险箱窃贼研究锁机制,却仍然打不开保险箱读不到信,这才是安全。
对于端口敲门和SPA的开源实现,就如同有人提供了保险箱内部工作的所有细节。从加密算法到每个软件与数据包过滤器的接口,一切都是公开可见的。在加密的SPA数据包或端口敲门序列穿越网络时,唯一隐藏的是加密密钥本身。而强大的密码系统不会仅仅因为加密密钥未公开就存在模糊安全问题。
我们可以设想一个比端口敲门或SPA更弱的安全系统。假设在OpenSSH服务器守护进程的某个特定功能中发现了一个漏洞,我们创建一个假设的补丁,要求远程SSH客户端在访问该功能时提供一段加密数据。这些数据将使用如Rijndael或GnuPG使用的Elgamal等经过严格审查的密码进行加密。在这个