用于实现安全usb应用设备的系统和方法

上传人:ting****789 文档编号:310018255 上传时间:2022-06-14 格式:DOCX 页数:5 大小:21.96KB
返回 下载 相关 举报
用于实现安全usb应用设备的系统和方法_第1页
第1页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《用于实现安全usb应用设备的系统和方法》由会员分享,可在线阅读,更多相关《用于实现安全usb应用设备的系统和方法(5页珍藏版)》请在金锄头文库上搜索。

1、用于实现安全usb应用设备的系统和方法专利名称:用于实现安全usb应用设备的系统和方法技术领域:本发明涉及用于实现安全USB设备的系统和方法。背景技术:当前在PC上的在线基于因特网的银行和支付系统倾向于受到已经变得更智能的病毒和恶意软件的攻击。为了改进安全性并保护用户的登录凭证,银行和支付站点使用一次性口令令牌和来自用户的手机或移动设备的SMS 口令而实现了多因素认证(multifactor authentication)。然而,一些病毒不再对该口令感兴趣。相反,病毒允许用户正常登录到因特网银行/支付站点,允许来自用户的所有的多因素认证条目以及对安全链路(比如安全软件层(“SSL”)的建立。病

2、毒可以在操作系统(“OS”)中放置吊钩(hook)或修改PC浏览器,从而使得病毒可以在安全软件层之前看到是什么URL和参数被提交给了银行/支付站点。病毒攻击的一个例子可能发生在当用户正在从用户的银行账户向另一账户进行转账的时候。病毒会检测到正在向账户xxxx中转账数额$yyy。当用户点击提交按键时(而不是浏览器通过安全信道将用户的参数提交给银行),病毒拦截这些参数并且修改转账账户和金额到用户不期望的另一方。然后,病毒在PC上经由安全信道将已更改的参数发送到银行站点。病毒现在可以将资金从用户预期的账户重定向成某个其它的账户和数额。为了防止中间者攻击、钓鱼尝试(phishing attempts)

3、、浏览器中间者(man-1n-the-browser)的攻击等等,一些公司开发了硬浏览器,所述硬浏览器通过使用可从-ROM运行的浏览器的-ROM版本(而无需安装在PC上)来防止由于攻击而对浏览器代码的修改。该产品的例子是Vasco硬浏览器-ROM基本指形驱动器(base thumbdrive)。Vasco的硬浏览器的缺点是浏览器仍然与也易受到攻击的主机PC的资源(例如,存储器)一起运行。本发明是安全USB令牌(“SUT”),安全USB令牌并不将其软件代码或运行时数据存储器暴露于主机PC。在主机PC上的病毒将不能修改SUT上的应用的任何数据。发明内容本公开描述了用于实现与主机设备一起使用的安全U

4、SB令牌的系统和方法,其将允许在USB令牌的处理器和存储器上安全地运行应用,而不管病毒或其它恶意软件是否危及主机设备。在主机设备上的代理启动位于USB令牌上的应用,并且防止主机访问USB令牌的文件系统。本发明的实施例包括一种系统和方法,其中,在USB设备上运行的应用向主机设备发送图形命令,并且由主机设备来处理该呈现(rendering)。此外,本发明并没有将USB的文件系统暴露给可能处在主机PC上的应用或病毒。本发明的实施例使用代理来启动USB设备上的应用,并且可以仅启动管理信道在USB设备上所允许的那些应用。本发明不同于在Cassis International拥有的美国专利申请No. 12

5、/660, 723中所描述的发明。在Cassis的申请中,系统简单地是虚拟网络计算机(“VNC”)设置。VNC在USB设备上进行所有的图形呈现,并且整个屏幕缓冲器被传输到主机系统。这要求从USB设备到主机设备的大量的显示帧缓冲存储器转移以便进行显示。因此,Cassis的设计需要在USB设备上的高处理功率以便呈现图形,并且由于转移屏幕缓冲所需要的大量数据而限制了图形显示能力。本发明的设计要求来自USB设备的较少处理功率以及在USB和主机设备之间较少的图形业务通信,并且充分利用了主机设备的功率来呈现/处理图形显示。在VNC设置中,在USB设备上运行的OS的整个桌面显示被发送到主机设备。这暴露了 U

6、SB的OS的文件系统,并且恶意应用可被下载到所暴露的文件系统并且从所暴露的文件系统来启动恶意应用。在结合附图进行的以下描述中解释了本发明实施例的特征和其它方面,在附图中图1图示了根据本发明实施例的示出用于SUT的硬件堆栈的框图。图2图示了根据本发明实施例的示出用于SUT的软件堆栈的框图。图3图示了根据本发明实施例通过主机上的代理进行的在SUT上的应用的开始序列。具体实施例方式现在将参照附图更详细地描述本发明的各种实施例。图1示出了 SUT 100的实施例的硬件堆栈。SUT 100包括可经由USB端口 101与主机对接的设备,并且含有处理器102、RAM 103、闪速存储器104和安全元件105

7、,但并不仅仅限于这些组件。图2示出了 SUT 100的实施例的软件堆栈。该SUT设备可以经由USB202连接到具有网络接入210、显示器213和用户输入接口设备212(例如,键盘、鼠标、触摸板、远程控制器)的任何主机201系统。主机201设备的例子包括个人计算机或启用了因特网的电视。一个或多个SUT应用204在SUT的硬件上的嵌入式OS 205上运行。(一个或多个)SUT应用204被触发以便在主机设备201上由其单独的代理206来运行。代理206是在SUT 100所连接到的主机设备201上运行的应用。代理206使用管理端口 207启动在SUT上的应用204。在SUT上的应用204通过图形显示端

8、口 208将应用图形呈现定期地发送给主机设备上的代理206。SUT将不需要图形呈现能力,因为绘图命令被直接发送给主机设备201上的代理206来用于呈现。呈现图形远程地充分利用了主机设备201的图形硬件,加速了呈现过程,并且降低了 SUT的处理器(MCU) 102的要求,因而使其更为有效。通过代理206将主机设备上的用户输入传送到SUT上的应用204。通过USB端口 209,SUT可以经由主机设备上的网桥203而获得网络210接入。主机的OS 216向代理提供用于运行的环境。主机的OS 216可以是Microsoft Windows、Mac OS、Linux或可以支持图形显示、呈现能力和用户输入

9、的任何其它OS。代理在主机OS桌面屏幕中打开窗口并且在其中呈现SUT应用204的显示。主机OS 216可以支持对主机来说是本地的应用217,而此时代理正在运行。在优选实施例中,在主机设备201上将不支持用于SUT OS 205的桌面窗口显示。在主机上不支持桌面显示保护了 SUT文件系统免于受到任何外部访问。SUT文件系统进一步受到代理206的保护,代理206仅允许启动被置入SUT中的应用204。缺少与SUT文件系统的接口使得更加难以将外部应用(例如,病毒)放入到SUT中并启动它们。图3示出了根据本发明实施例通过主机上的代理进行的在SUT上的应用的开始序列。根据该实施例,当代理被启动时301,其

10、将信号发送到SUTOS以便开始在SUT上的相应应用302。SUT使用智能芯片来检查特定应用是否可以在SUT上运行303。如果不允许该应用在SUT上运行,则将错误消息发送到代理306。如果批准了该应用,则该应用可以向代理发送对登录认证的请求304。智能芯片检查登录凭证305。如果登录凭证不正确,则将错误消息发送到代理306。如果登录凭证正确,则代理在主机设备上打开窗口以便呈现由SUT发送的显示307。当代理窗口处于活动时,代理还将用户输入(例如,鼠标、键盘等)从主机设备发送到SUT 307。对子系统的描述SUT本身并不具有图形显示硬件。在SUT上的应用204使用显示信道来将主机的图形显示直接更新

11、到主机设备的代理206。可以使用OpenGL、XGL、CGL、WGL或类似协议来实现显示信道。在主机设备侧的代理206通过USB经由图形显示端口 208来接收图形显示命令。代理206将在主机设备显示器上打开图形显示窗口并且在其上绘制图形。可针对不是所希望的图形数据接收方的各方来加密图形显示数据以便增强安全性。可以在SUT应用开始之前通过管理信道来进行加密。经由管理端口 207由主机系统中的代理206来启动SUT上的应用204。管理端口 207是这样的管理信道,即,该管理信道允许主机设备上的代理206与SUT通信以便开始或终止应用204。通过代理206仅可以启动在SUT上注册的SUT应用204,

12、以便防止将未授权应用放置在SUT上和在SUT上启动它。图形显示端口 208为SUT上的应用204提供了信道以便将显示信道命令传送到主机设备上的代理206。用户输入端口 211提供用于SUT的信道,以便当应用处于活动时从主机设备上的代理206接收用户输入。在一个实施例中,经由SUT在主机设备的图形显示器上所呈现的键盘,可以安全地输入数据。代理206将仅发送鼠标点击或者屏上按键区域(on-screen keylocation)的其它用户输入设备的位置,而不发送选择了什么按键。将在SUT侧完成以下解码什么按键对应于该屏上区域。网桥203允许SUT使用主机设备的网络资源210来访问因特网。SUT可以通

13、过对SUT上的数据(在其离开SUT之前)进行加密来创建与外面世界的安全信道。针对主机设备上的病毒嗅探或钓鱼,SSL或加密的另一形式可以增强安全性。在优选实施例中,SUT硬件将表现为针对主机OS 216的复合USB设备其将表现为USBC以太网类设备和-ROM只读设备。C以太网类设备向SUT提供用于代理的所有通信信道。-ROM(只读)部分含有要在主机201上运行的代理206程序。代理程序可以直接运行自这一被安装的-ROM。代理206采用只读-ROM格式并不要求在主机设备201上安装代理,并且因而为代理代码提供了安全性。代理将与SUTOS 205通信以便启动其在SUT上的相应应用204。代理可以建立

14、用于图形显示端口 208和用户输入端口 211的安全信道。代理可以打开窗口并且将来自SUT中的应用204的图形命令呈现给该窗口。在SUT上运行的每个应用204将要求不同的代理206启动和呈现与该应用相关联的新的显示窗口。在一个实施例中,每个应用打开新的窗口,或者在Web浏览器运行在SUT上的情况下,当用户点击已经在SUT中运行的浏览器中的新浏览器窗口时,新窗口将在主机设备中打开。代理可以在开始时使用对应用的选择来启动不止一个类型或应用,或者为不同类型的应用启动单独的代理。智能芯片(或安全元件)105提供用于SUT的加密引擎和口令/数据储存器。智能芯片105可以是用于存储和执行加密算法和口令/数

15、据的任何物理和电子防篡改设备。例如,智能芯片105可用作安全存储区域来用于可在SUT上执行的可执行文件的列表,以便防止病毒或后门访问程序在SUT上执行。SUT OS可以在执行程序之前验证程序处在智能芯片105上的列表上。又例如,在主机上的代理206可以要求用户利用口令来登录。智能芯片105可以用于在执行代理206所请求的SUT应用204之前验证口令。智能芯片105还可以向在SUT上运行的应用提供口令认证(例如,用于电子邮件应用的登录口令、因特网Web站点ID/ 口令和对银行或支付Web站点的认证,以及要求口令认证的其它应用)。在另一实施例中,近场通信(“NFC”)读取器/写入器芯片106可被实

16、现成SUT。NFC芯片106可以允许SUT应用204使用例如EMV银行卡来实现银行交易。放置在SUT上的EMV卡可以经由NFC芯片106与在SUT上运行的应用204进行通信。当应用204在进行银行交易(例如,支付、资金转账等)时,主机服务器(例如,因特网银行/安全支付服务器)可以通过经由NFC芯片106向EMV卡发送认证询问来检查该卡的真实性。系统的详细实现在优选实施例中,处理器、ARM cortex A8移动应用处理器被用于与闪存和RAM 起构建SUT。该设计并不仅仅限于该MCU。在另一实施例中,Linux被用于SUT OS。例如,在Linux OS上实现X窗口客户端来用于在SUT上运行的应用204,以便经由USB连接209 (其针对运行着具有X服务器214能力的代理的主机PC),将用于应用204的图形显示用信道传输到代理206。X客户端215可以在SUT上运行,因为其并不呈现应用图形用户接口,并且因而减少了 SUT处理器的工作负担。这可以减少实现成本,因为其允许SUT处理器不具有图形加速器硬件。在SUT上运行的应用204向X

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号