网络系统安全接入方法探讨

时间:2009-07-06

  以太网(企业内部网、国际互联网)、无线通信网(蜂窝电话、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结果进行比较。如果不匹配,基站将屏蔽主机的功能选项。


  
上一篇:基于PCI Express总线的数据采集设备的实现
下一篇:从8/16位向32位图形MCU升级的各种技巧

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料