一种基于安全沙箱机制的智能密码钥匙密码算法检测系统的制作方法

文档序号:8381287阅读:382来源:国知局
一种基于安全沙箱机制的智能密码钥匙密码算法检测系统的制作方法
【技术领域】
[0001]本发明涉及的是一种信息安全技术领域的方法,具体是一种基于安全沙箱机制的智能密码钥匙(USB Key)的密码算法符合性检测系统。
【背景技术】
[0002]随着1993年金卡工程的实施,智能密码钥匙(USB Key)的应用逐步从摸索走向规范,在电子政务、电子商务、交通运输、公安执法、社会保障、税务税收以及卫生医疗等领域得到了广泛运用。USB Key使用通用串行总线(USB)接口技术,内置单片机或智能卡芯片,有一定的存储空间,可以存储用户的私钥及数字证书,利用USB Key内置的密码算法可实现对业务信息的加密以及对用户身份的认证。USB Key的广泛应用促进了业务开展的智能化、便捷化、现代化和安全化,极大地推动了社会信息化进程,提高了社会运作效率,方便了人民群众生活。
[0003]为维护商用密码产业发展秩序,我国对商用密码产品采用统一上报、统一管理的要求,并于1999年10月由国务院颁布了《商用密码管理条例》。我国“十二五”规划明确提出了加强商密产品创新和管理的思路。为保护商密用户的信息资产安全、规范商用密码产品市场以及国家职能部门监管需要,必须对智能密码钥匙等密码类设备的生产、使用行为进行取证分析,以便有据可循、有序可控管理。
[0004]近年来各种形态、接口的智能密码钥匙新产品层出不穷,技术参数也都差别很大,从外观上无法区分各种不同智能密码钥匙以及其他USB存储设备(U盘等),造成了产品监管的困境。违规产品在市场流通以及合法产品的违规使用情况大量存在,因此迫切需要智能密码钥匙使用监管方面的技术和产品,以加强取证分析力度,提高管理效率和水平。
[0005]经对现有技术的文献检索发现:
[0006]2007年5月,国家密码管理局出台了《智能IC卡及智能密码钥匙密码检测规范》(试行),规定了智能IC卡及智能密码钥匙密码检测内容、检测项目、合格判定准则,以及实施密码检测对智能IC卡及智能密码钥匙提出的预处理要求。由于大多数检测平台的实现早于该规范颁布的时间,有相当一部分并没有严格遵循该规范,并且在实际应用中存在以下不足:
[0007]I)测试用例固定,可以预知检测内容。传统USB Key密码算法检测平台的测试用例已经预存在数据库中,不法分子能够比较容易地获得测试用例,而不合格的USB Key产品仅需添加少量代码即可通过测试。另外,测试用例数据库的更新一般是人工进行,更新周期长。
[0008]2)调用接口被封装,透明度低。传统USB Key密码算法检测平台仅仅调用厂商所提供的接口,此类接口已经被厂商编译成动态或静态链接库,内部实现不透明,厂商可能对其接口进行修改,规避测试正常流程。
[0009]3)测试样本小,不符合国家密码管理局规范。2007年5月颁布的《智能IC卡及智能密码钥匙密码监测规范》明确包含了关于对称算法、非对称算法、杂凑算法的合规性测试规范、性能测试规范等。现有大部分测试平台早于规范颁布,无法达标。
[0010]4)界面简陋,操作繁琐。传统USB Key密码算法检测平台大多使用微软基础类库MFC (Microsoft Foundat1n Classes),甚至只有交互式控制台,界面简陋或没有界面、时代感差、交互繁琐、操作流程复杂不清晰,给基层检测人员带来使用的困难。
[0011 ] 针对上述传统智能密码钥匙耗费周期长,难以适应现场取证、现场分析的问题,本发明开发的基于安全沙箱机制的智能密码钥匙密码算法检测系统能够快速发现智能密码钥匙所使用的密码算法,并进行现场取证,适合基层管理部门进行现场执法。

【发明内容】

[0012]本发明目的在于针对现有检测平台的不足,提供一种基于安全沙箱机制的智能密码钥匙密码算法检测系统,以应对传统的检测平台在安全性、鲁棒性、简易性上的不足。
[0013]本发明的发明目的通过以下技术方案实现:
[0014]一种基于安全沙箱机制的智能密码钥匙密码算法检测系统,由底向上依次包含:USB Key设备硬件层、USB Key设备驱动层、密码算法接口层、密码算法检测引擎层和用户界面层;
[0015]所述USB Key设备硬件层用于为USB Key设备驱动层提供硬件支撑;
[0016]所述USB Key设备驱动层内含待测USB Key的驱动程序,向上为密码算法接口层提供驱动支撑;
[0017]所述密码算法接口层用于接受密码算法检测引擎层产生的测试用例,并根据测试用例完成密码算法计算功能将计算结果返回密码算法检测引擎层;
[0018]所述密码算法检测引擎层用于产生测试用例数据,产生的测试用例数据传给密码算法接口层的接口,并对密码算法接口层返回的计算结果进行分析,判断被测USB Key设备是否合格;所述测试用例由密码算法检测引擎层随机产生、或者由检测方通过用户界面层手工输入产生、或者根据调用智能密码钥匙密码算法检测系统中预置的测试用例数据库产生。
[0019]所述用户界面层用于为检测方提供输入检测参数、输出检测结果及操作提示。
[0020]依据上述特征,所述USB Key设备驱动层、密码算法接口层、密码算法检测引擎层和用户界面层放置在安全沙箱中,所述的安全沙箱采用虚拟化平台技术、专业沙盘软件或应用程序域技术实现。
[0021]依据上述特征,所述USB Key设备硬件层由智能卡芯片和存储单元在集成电路板上集成。
[0022]依据上述特征,所述密码算法接口层,包含两类接口,一类是USB Key厂商所提供的USB Key加解密算法接口,另一类是CSP及编程接口 CryptoAPI,所述密码算法接口层分别通过USB Key加解密算法接口和CSP及编程接口 CryptoAPI从密码算法检测引擎层接受测试用例并分别进行密码算法计算;
[0023]所述密码算法检测引擎层根据USB Key加解密算法接口和CSP及编程接口CryptoAPI的计算结果进行对比分析,判断被测USB Key设备是否合格。
[0024]依据上述特征,所述由密码算法检测引擎层随机产生的测试用例根据随机度的高低程度分为三个可选择等级测试,分别为高级自动测试、普通自动测试以及低级自动测试。
[0025]与传统的USB Key密码算法检测平台相比,本发明的基于安全沙箱机制的智能密码钥匙密码算法检测系统具有以下创新点:
[0026](I)传统的USB Key密码算法检测平台仅单一地调用厂商已封装好的密码算法接口,本发明在密码算法接口层增加了 CSP及编程接口 CryptoAPI作为标准接口,对USB Key加解密算法接口计算结果起到监督作用。
[0027](2)传统的USB Key密码算法检测平台所使用的测试用例是固定的,且预先放置在数据库中。所述的基于安全沙箱机制的智能密码钥匙密码算法检测系统提供三种测试用例生成功能。首先,它保留了传统USB Key密码算法检测平台的预置测试用例,在特定的情形下使用。其次,它可以通过检测人员的输入产生测试用例,测试用例的结果在检测前无法预知,在产生测试用例后由CSP及编程接口 CryptoAPI计算,获得测试用例标准结果;该测试用例也同时由USB Key加解密算法接口计算。密码算法检测引擎层通过判断USB Key加解密算法接口计算结果与CSP及编程接口 CryptoAPI计算的标准结果是否一致,给出USBKey密码算法功能检测结果。最后,它可以严格按照《智能IC卡及智能密码钥匙密码检测规范》,随机产生大量的测试用例,通过调用标准CSP及编程接口 CryptoAPI,获得测试用例标准结果,测试用例的结果在检测前也无法预知。这种测试用例随机化产生方法是本发明产生测试用例数据的主要方法。相对于传统的USB Key密码算法检测平台单一的测试用例产生方法,本发明的测试用例产生方法多样,并且测试用例标准结果无法预先获知,大大提高了检测力度和检测可靠性。
[0028](3)传统的USB Key密码算法检测平台常常遇到驱动冲突问题,本发明采用了安全沙箱技术,利用所述基于安全沙箱机制的智能密码钥匙密码算法检测系统进行检测,检测完毕后,安全沙箱可以通过恢复快照的方式“闪回”至系统未安装智能密码钥匙驱动的状态,以避免装载驱动程序冲突、卸载驱动不全而导致死机的情况。
【附图说明】
[0029]图1本发明的模块化层次设计图;
[0030]图2为实施例中获取待测Haitai USB Key所支持的对称密码算法和哈希算法列表;
[0031]图3a为实施例中选择测试方式为手工测试的Haitai USB Key的MD5算法的用户界面;
[0032]图3b为实施例中手工输入待测数据的用户界面;
[0033]图3c为实施例中针对输入数据的计算结果;
[0034]附图3d为实施例中为手工测试MD5算法的检测分析报告;
[0035]附图4a为实施例中自动测试Haitai USB Key的DES-CBC算法的检测结果,
[0036]附图4b为实施例中自动测试Haitai USB Key的DES-CBC算法的检测分析报告。
【具体实施方式】
[0037]下面结合附图对本发明作进一步的详细说明。
[0038]本发明采用层次化模块设计,由底向上依次为:USB Key设备硬件层、USB Key设备驱动层、密码算法接口层、密码算法检测引擎层和用户界面层。另外,本发明还包含一些预先放置的测试用例,供特殊情况下备用。除USB Key设备硬件层以外的其他各层都预先放置在安全沙箱中,以避免装载驱动程序冲突、卸载驱动不全而导致死机的情况。
[0039]所述的USB Key设备硬件层是硬件制造商将智能卡芯片和存储单元在集成电路板上集成后,根据国家密码管理局对于USB Key设备的外观规范设计而得到的USB Key设备。该层由待测USB Key设备的硬件制造商提供,为上层的USB Key设备驱动层提供硬件支撑。
[0040]所述的USB Key设备驱动层内含待测USB Key的驱动程序,向上为密码算法接口层提供驱动支撑。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1