网络系统安全接入认证方法探究
扫描二维码
随时随地手机看文章
以太网(企业内部网、国际互联网)、无线通信网(蜂窝电话、WiFi)和电力线通信(PLC)等网络设备由服务器或基站以及网络节点或网络设备构成,批量生产的网络设备根据具体的网络容量进行组装。为了得到一个受控的高可靠性网络系统,开发人员面临两大设计挑战:必须对所有连接到网络的设备进行认证;允许通过服务器进行远程升级。
对接入网络的设备进行授权认证非常困难。未经许可的设备可能会通过破环系统性能、干扰用户从而直接危害到供应商的收益。但是,网络认证功能同时也为供应商提供了二次商机,即通过服务器对购买升级功能的用户设备进行升级。
几大网络认证方法比较
认证过程是建立两个目标(这里指服务器和网络设备)之间身份鉴定的过程。认证过程必须避免未经授权的制造商或克隆厂商从事的伪造或仿真活动。身份认证的最佳途径是采用系统令牌,网络设备处理器结合认证令牌进行通信,从而对设备进行鉴定。通过适当配置认证令牌限制设备的接入,最终达到杜绝假冒伪劣网络设备的接入。
本地网的服务器距离网络设备近,很难通过制造商进行升级。例如,带有附属模块(例如墨盒)的打印机,其中,服务器是打印机中的微处理器,网络设备就是那些模块。
远程网络的服务器工作环境安全,但是服务供应商保持对其的接入权限。远程网络存在一些如不安全的通信链路等潜在问题,但其确实为实际应用提供了便利:根据中心服务器的判定,可以在完成网络安装后进行扩容和侦测网络的攻击者(图1)。
图1: 设备交付用户使用后,网络运营商通常无权接入局域网(左侧) ;远程网络(右侧)即使在交付用户使用后也具有接入权限。
认真研究远程服务器的工作环境,对照几种接入控制的成本和优势,可以使你在具体系统中应用到最佳的认证方法。认证方案包括:简单的密码认证、对称密钥认证、公钥认证、散列认证等。以下内容还讨论了网络设备升级功能的优势。
简单的密码认证 最简单的认证方法就是判断密码是否正确。这种方法成本最低,因为不需要额外的硬件或软件支持加密/认证算法。由于密码为透明传输,即通过通信链路传输,很容易被截取并在以后复制(图2),由此可见,简单的密码检验方案的安全性很差。
图2: 密码检验的第3步通信容易造成密钥被窃取
对于基本的密码认证来说,网络设备和服务器必须有一个公认的密钥,如果网络设备具有一个唯一的识别码,可以利用该识别码构成设备唯一的密钥。
对称密钥认证 利用加密算法将安全信息从网络设备发送到服务器,安全设备需要将加密密钥编程到网络设备中。实际应用中有两种类型的加密密钥:对称密钥和非对称密钥(公钥/私钥)。对称密钥在服务器和网络设备上共用同一密钥(图3)。
图3: 对称密钥认证中,随机质询可以避免重复的响应通信
利用处理器实现这一认证比较简单,但比简单的密码检验要繁琐。由于服务器和网络设备之间的通信数据经过加密,无法被攻击者仿真,这种方法具有较高的安全性。另一方面,对称加密算法通常仅采用简单的运算,例如“或”运算和移位,具体实施成本并不高,利用微处理器即可实现。
该方案的前提是:网络设备和服务器必须具备公用的对称加密密钥,如果网络设备具有唯一的识别码,则可利用识别码构成设备的唯一密钥。
非对称密钥认证 非对称加密系统(公钥/私钥)不共用同一密钥,每台设备包含一个私钥和一个公钥。证书可以安装到网络设备以便验证其授权。由于公钥/私钥算法涉及到大量的计算,实施方案需要占用较大的存储空间和CPU资源,成本较高(图4)。例如,RSA公钥加密需要模幂运算。另外,还需要注意采用这类加密算法的器件受美国政府的出口限制。
该方案的前提是:网络设备必须装载包含网络设备公钥的证书,用服务器私钥加密。用服务器公钥解密后,可以验证网络设备的合法性。
基于散列算法的认证 散列(Hash)算法是将一串字符转换成较短的、固定长度的数值或加密信息,以此代表原来的字符串。散列加密(特别是安全散列算法将其部分输入作为密钥)也可用于认证(图5)。
将部分输入作为密钥时,产生的结果称为信息认证代码(MAC)。散列加密算法具备以下特征:具有较高的雪崩效应,输入很小的变化即可导致显著的输出变化;必须具备较好的单向性(不可逆),从输出数据无法推导出输入信息;最后,还必须能够避免冲突,两个不同的散列输入不能产生相同的散列输出。典型的散列算法(移位、异或、与)占用较少的系统资源,实施成本较低。
该方案的前提是:网络设备和服务器必须有一个共用密钥,用于MAC散列加密计算。如果网络设备具有唯一的识别码(ID),ID可以用作设备的唯一密钥。
散列算法的实现 为了嵌入加密散列算法,例如SHA-1,可以选择:微处理器、ASIC、FPGA或厂商提供的专用器件(表1)。这些器件都可以作为网络设备的认证令牌进行散列认证。如图5所示,通过执行嵌入在器件内部的SHA-1加密散列运算,由网络设备和服务器共同产生MAC。
表1: Maxim的SHA-1存储器件
SHA-1是联邦信息委员会出版的180-1和180-2 (FIPS 180-1、FIPS 180-2)以及ISO/IEC 10118-3定义的一种公共标准。目前使用的SHA散列算法是FIPS批准的散列认证方法。由于SHA-1满足上述三项原则(不可逆、防冲突、较好的雪崩效应)而成为普遍使用的一种算法。
远程升级功能
Maxim器件的认证协议提供一个32字节授权数据页,它可以用于软件管理或其他控制。对于给定的硬件平台,可以选择软件功能。授权页的数据可以指定启用哪些功能。Maxim的SHA-1存储器需要一个SHA-1 MAC完成EEPROM存储器的写操作,这一操作还要求服务器对网络设备进行认证。利用这一功能,即使在没有安全保护措施的网络上也可以实现设备的远程升级。进行写操作时,SHA-1 MAC需要包括原存储器数据、新的存储器数据以及唯一的器件ID。
该加密技术的关键是把部分应用存储器数据作为“随机数”。写MAC实现功能升级时需要包含原功能数据、原随机数、新功能数据、新随机数以及唯一的器件ID。得到不可重复的、唯一的升级事件计算结果写入经过认证的器件。图6所示为写存储器MAC的SHA-1 MAC输入,图7所示为升级时序。
图6
图7: 在远程升级之前和之后执行散列认证,确认目标设备已经过授权,完成升级过程。
应用实例
以下给出了实际系统中基于SHA-1的安全器件的工作原理(图8)。图中利用DS28CN01认证令牌实现双向认证,通过I2C接口与主机通信。这种情况下,主处理器为网络控制器,与基站进行数据通信,基站与连接到DS28CN01的微处理器进行通信。微处理器产生部分随机质询码,主机提供另一部分随机码,从而完成主机令牌认证。该技术可以避免主机产生质询-响应对而对其他系统造成混淆。
图8: 双向认证不需要安全网络连接
基站认证 主机创建7字节随机质询码和所要求的页码,将其发送给基站#1的微处理器。基站#1的微处理器通过I2C接口与DS28CN01通信,转发随机质询码并在所选择的页面计算页MAC。计算页MAC将利用页数据、唯一的ROM ID和密钥进行SHA-1运算。基站#1微处理器从DS28CN01重新得到MAC、页数据和唯一的ROM ID,并将它们通过非安全链路转发给主机。主机进行相同的SHA-1计算,验证基站#1返回的MAC是否正确。如果不匹配,主机将拒绝基站#1的网络接入。
主机认证 首先执行基站认证过程,基站#1的微处理器产生3字节质询码并将其通过非安全通信链路发送给主机;主机产生4字节质询,与基站的3字节质询码相组合,产生7字节质询码。这个7字节数据和基站认证中的页数据、ROM ID一起进行SHA-1运算,产生页MAC。该MAC和主机产生的4字节质询码随后送回基站#1的微处理器。
基站#1微处理器提取附加的4字节质询码,结合它发送给主机的3字节质询,得到一个7字节质询码,利用原先基站认证中的页面,在DS28CN01中计算页MAC。随后,将其与主机发送的MAC结果进行比较。如果不匹配,基站将屏蔽主机的功能选项。