随着经济的发展,数字化的办公方式已经逐步取代了传统的纸质方式。PC以其强大的数字处理能力、丰富的接口,在办公室里起着不可取代作用。我们在享受着PC给我带来的便利和高效的同时,也会被一些数据安全问题所困扰,比如外来的病毒对办公用机攻击、重要的数据和资料外泄等等。面对这些安全隐患,将PC的接口都封闭起来固然可以大大提高安全性,然而使同一个办公环境中PC变成一个个信息孤岛,显然不是我们所愿意看到的。对于来自网络的安全问题,可以采用内外网分离、可信网关接入的方式来解决。那么对于USB接口的安全问题我们又有什么方式解决呢?
如何实现对USB接口的安全管理?
首先让我们先了解下PC机的USB端口是如何工作的。USB接口的HPY(物理层)和Controller(控制器)都集成在主板的南桥芯片上,当有一个USB设备接入USB接口时,操作系统会调用相应的USB Host驱动对设备发起枚举。操作系统通过分析设备在枚举过程中上传的描述符信息,来确定是何种设备类规范的设备接入到USB接口中。与此同时,在操作系统加载相应的驱动,如果没有相应的驱动,则会要求安装该设备的驱动。待枚举过程结束后,操作系统使用刚刚加载的驱动与接入USB接口的设备进行通讯。通过对USB通讯方式的分析就不难发现,操作系统实现对不同的设备进行访问,是通过在枚举过程中加载不同的设备类驱动而实现的。
那么能不能通过软件对设备类规范的驱动进行管理,从而实现对USB的管理呢?答案是否定的,通过软件的方式只能实现一些低级别的管理,我们还是可以通过很多方式避开软件的监管。如对软件进行攻击使其瘫痪,或者使用WinPE直接绕开本地的操作系统等等。显然,通过软件不能很好的实现对USB的管理,于是我们开始把视线转移到硬件上。由于PC机的USB接口都与南桥芯片相接,USB信号引入南桥后就可以被操作系统所获得。在南桥芯片上添加管理功能显然是一项艰巨的工作,那么在USB信号进入南桥之前就将其管理起来,是否可行呢?
将USB信号在进入南桥直接就将其管理起来,实现对USB的管理,这也许是最可行的办法了。应该如何管理,又需要解决那些问题呢?首先是速度,如何在信号速度不受影响的情况下加以过滤和筛选。其次,可以完成对USB设备类的筛选,只将允许的设备类枚举给PC机。最后,稳定性要高,对主板尽可能减少修改。总结以上的需求不难发现,我们需要的是一颗能够高速实现USB流通讯的桥接芯片,同时还需要芯片可以支持不同的USB协议栈,实现对USB设备类筛选。
为解决这个问题,同方推出了一款具有高数据流吞吐速度和高强度加密算法的SOC芯片TF32A09。
TF32A09芯片简介
TF32A09系列芯片是同方股份有限公司计算机系统本部自主研发的一款高速度、高性能32位信息安全SOC芯片。该芯片集成了高速的安全算法和通讯接口,摒弃了传统的数据加解密处理方式,使数据流加解密速度大幅提升,适用于高速数据流加密。
TF32A09系列芯片支持国家密码管理局指定的对称密码算法、非对称密码算法和杂凑算法,同时支持国际通用密码算法。该芯片的处理能力强、安全性高、功耗低、接口丰富,具有极高的性能价格比。
新款高度整合的单芯片数据流加密解决方案,在单颗SoC上集成了32位高速CPU、易失和非易失存储器、国密局指定的密码算法(SM1、SM2、SM3、SMS4)、国际通用密码算法和多种满足高速数据流加密应用的通讯接口,并拥有两个USB-OTG接口,可根据应用需求设置成Host、Device或OTG,满足基于USB接口的高速数据流加解密应用。SOC内部采用流水线的架构,使得在同一个周期内并行执行3个模块(USB_Host、USB_Device、算法),同时完成3个任务,从而大大缩短了一包数据处理的平均时间。它改变了CPU传统的管理方式,仅作为加密模块和通讯接口的控制端,而不在数据搬运的通路上,避免因CPU执行冗长的代码占用过多的时间。
TF32A09对USB的管理的实现方法
TF32A09芯片上有两个USB-OTG接口,可以实现USB数据流的桥接。由于其高速的设计机制使USB数据流速度可以达到25Mbps,对于绝大多数USB应用来说速度都可以满足,同时通过加密模块还可以将数据加密。芯片内部集成了512K Flash和20K RAM可以轻松的实现USB协议栈的搭建。我们可以通过对协议栈的管理有选择性的将某几种设备放行给PC,如只放行HID设备(鼠标、键盘)而禁止Mass Storage设备(U盘);或者放行CCID设备(读卡器)而禁止其他设备等等。由于TF32A09是一颗高性能的SOC芯片,其单芯片就可以解决问题,而无需大量的外围电路,对系统的稳定性也有所提高。
TF32A09系列芯片的问世,将有效解决PC领域的USB安全管理问题。相信TF32A09系列芯片在其他相关的安全领域一样有用武之地。