用于验证文件的数字签名的系统和方法技术方案

技术编号:25271074 阅读:58 留言:0更新日期:2020-08-14 23:04
本申请提供了一种用于验证文件的数字签名的系统和方法。检查工具可以通过检查DS证书具有所需的完整性并通过验证颁发中心数据来确定DS证书是有效的,以及通过检查文件具有适当的完整性并且DS证书有效来确定数字签名是有效的,如果DS证书是有效的,则通过查找与DS证书数据相关的可信证书数据来确定DS证书是可信的,以及在数字签名是有效的且DS证书是可信的时将至少一个文件分类为可信的。

【技术实现步骤摘要】
用于验证文件的数字签名的系统和方法相关申请的交叉引用本申请要求于2018年12月28日提交的俄罗斯联邦专利申请RU2018147246号的权益,其全部内容通过引用并入本文。本申请进一步涉及于2019年9月6日提交的、题为“用于验证数字签名中的攻击复原的系统和方法(SystemandMethodforAttackResiliencyinVerifyingDigitalSignatures)”的16/563,207号美国申请,其全部内容也通过引用并入本文。
实施例通常涉及计算机化的数字签名,并且更具体地,涉及检查数字签名和数字签名文件证书。
技术介绍
随着恶意应用的日益普及,需要旨在保护用户数据和用户设备免遭未经授权的访问和使用的改进的防病毒技术。在不断寻求防病毒应用程序的改进的竞赛中,开发人员面临着重要的任务,即减少检测恶意文件中的两种类型的错误。I类错误(误报)是将非恶意文件识别为恶意的。II类错误是未能将恶意文件识别为恶意的。为了减少I类错误的数量,防病毒应用程序的开发人员使用了各种技术,以便不会删除或隔离被(例如,使用启发式分析)识别为恶意的文件。这种技术之一包括使用可信文件的数据库检查文件。这样的检查会在可信文件的数据库中搜索被识别为恶意的该文件的ID(例如,MD5或SHA-1校验和),如果在该文件中找到了相同的ID,则将文件识别为恶意文件的决定取消。减少I类错误的另一种方法是检查被识别为恶意的文件的电子数字签名(“DS”或简称为“数字签名”)。为了检查数字签名,防病毒应用程序通常使用操作系统(“OS”)中内置的DS检查工具,例如CryptoAPI。例如,美国专利申请公开第2017/0257361A1号描述了一种基于对包含代码的文件的DS的检查结果来验证可执行代码的方法。但是,这种方法具有许多缺点,例如DS检查的速度相对较低,并且容易受到违法者的攻击。因此,需要努力可靠且有效地检查数字签名的有效性或可信赖性以减少I类和II类错误。
技术实现思路
本申请的实施例基本上满足了行业的前述需求。特别地,本文描述的实施例提供了用于比现有系统更有效和更准确地评估数字签名和数字签名证书的有效性和可信赖性的系统和方法。在一个实施例中,一种用于验证至少一个文件的数字签名的系统包括:证书数据库,被配置为存储多个证书;可信证书数据库,被配置为存储可信证书数据;以及数据传输设备,包括:至少一个处理器的计算硬件和可操作地耦合到所述至少一个处理器的存储器;以及指令,当该指令在计算平台上执行时,使所述计算平台实现:检查工具,配置为:获得至少一个文件,至少一个文件具有数字签名,并且该数字签名包括具有颁发中心数据和DS证书数据的DS证书,通过检查DS证书具有所需的DS证书完整性并通过使用证书数据库验证颁发中心证书来确定DS证书是有效的,通过检查至少一个文件具有所需的文件完整性且DS证书有效来确定数字签名是有效的,如果DS证书是有效的,则通过查找与DS证书数据相关的可信证书数据来确定DS证书是可信的,以及当数字签名有效且DS证书可信时将至少一个文件分类为可信的。在一个实施例中,一种用于验证至少一个文件的数字签名的方法,包括:获得至少一个文件,所述至少一个文件具有数字签名,并且所述数字签名包括具有颁发中心数据和DS证书数据的DS证书;通过检查DS证书具有所需的DS证书完整性并通过验证颁发中心证书来确定DS证书是有效的;通过检查至少一个文件具有所需的文件完整性并且DS证书有效来确定数字签名是有效的;如果DS证书是有效的,则通过在可信证书数据库中查找与该DS证书数据相关的可信证书数据,确定该DS证书是可信的;以及当数字签名是有效的且DS证书是可信的时,将至少一个文件分类为可信的。在一个实施例中,一种计算设备包括:至少一个处理器和可操作地耦合到至少一个处理器的存储器;以及指令,当该指令在处理器上执行时,使处理器实现:检查工具,其配置为:获得至少一个文件,所述至少一个文件具有数字签名,并且所述数字签名包括具有颁发中心数据和DS证书数据的DS证书,通过检查DS证书具有所需的DS证书完整性并通过验证颁发中心证书来确定DS证书是有效的,通过检查至少一个文件具有所需的文件完整性并且DS证书有效来确定数字签名是有效的,如果DS证书是有效的,则通过在可信证书数据库中查找与DS证书数据相关的可信证书数据来确定DS证书是可信的,并当数字签名是有效的且DS证书是可信的时将至少一个文件分类为可信的。上面的概述并非旨在描述本主题的每个所示实施例或每个实施方式。随后的附图和详细描述更具体地举例说明了各种实施例。附图说明考虑以下结合附图对各种实施例的详细描述,可以更完全地理解本专利技术的主题,其中:图1是根据一个实施例的用于验证文件的数字签名的系统的框图。图2是根据另一实施例的用于验证文件的数字签名的系统的框图。图3是根据一个实施例的用于验证文件的数字签名的方法的流程图。图4是根据一个实施例的用于响应对计算设备的攻击的方法的流程图。图5是被配置为实现实施例的计算机系统的框图。尽管各种实施例可以进行各种修改和替代形式,但是其细节已经通过示例在附图中示出并且将被详细描述。然而,应当理解,其目的不是将要求保护的专利技术限于所描述的特定实施例。相反,本专利技术旨在覆盖落入由权利要求书限定的主题的精神和范围内的所有修改、等同形式和替代形式。具体实施方式在整个具体实施方式的描述中使用以下定义和概念。例如,在一个实施例中,恶意的应用程序可以是能够损害计算机或计算机用户数据(换句话说,计算机系统)的应用程序;例如,网络蠕虫、键盘间谍或计算机病毒。危害可能包括未经授权访问计算机资源(包括存储在计算机中的数据),出于盗窃目的以及滥用资源(例如未经授权存储数据或执行计算等)。在一个实施例中,可信的应用程序可以是不损害计算机或其用户的应用程序。如果应用程序是由可信的软件开发人员开发的,或者该应用程序是从可信的源(例如,可信的站点的数据库中包含的站点)下载的,或者该应用程序的ID(或允许绝对标识应用程序的其他数据-例如,应用程序文件的哈希和)被存储在可信的应用程序数据库中,则该应用程序可以被视为是可信的。制造商ID(例如数字证书)也可以存储在可信的应用程序数据库中。在一个实施例中,不可信的应用程序可以是不可信的但未被识别为恶意的应用程序。例如,可以通过防病毒应用程序进行这种可信度或恶意度评估。不可信的应用程序随后可以被识别为恶意的;例如,使用防病毒检查。在一个实施例中,恶意的文件可以是作为恶意的应用程序的组件并且包含程序代码(例如,可执行代码或解释代码)的文件。在一个实施例中,不可信的文件可以是作为不可信的应用程序的组件并且包含程序代码(例如,可执行代码或解释代码)的文件。在一个实施例中,可信的文件可以是作为可信的应用程序的组件的文件。在一个实施例中,可以通过检查正在被检查的确切文件是否由附接到DS的证本文档来自技高网
...

【技术保护点】
1.一种用于验证至少一个文件的数字签名的系统,所述系统包括:/n证书数据库,被配置为存储多个证书;/n可信证书数据库,被配置为存储可信证书数据;以及/n数据传输设备,包括:/n至少一个处理器的计算硬件和可操作地耦合到所述至少一个处理器的存储器;以及/n指令,当所述指令在计算平台上执行时,使所述计算平台实现:/n检查工具,其配置为:/n获取所述至少一个文件,所述至少一个文件具有数字签名,以及所述数字签名包括具有颁发中心数据和DS证书数据的DS证书,通过检查所述DS证书具有所需的DS证书完整性以及通过利用所述证书数据库验证所述颁发中心证书,确定所述DS证书是有效的,/n通过检查所述至少一个文件具有所需的文件完整性以及所述DS证书是有效的,确定所述数字签名是有效的,/n如果所述DS证书是有效的,则通过查找与所述DS证书数据相关的所述可信证书数据来确定所述DS证书是可信的,以及/n当所述数字签名是有效的且所述DS证书是可信的时,将所述至少一个文件分类为可信的。/n

【技术特征摘要】
20181228 RU 2018147246;20190906 US 16/563,1071.一种用于验证至少一个文件的数字签名的系统,所述系统包括:
证书数据库,被配置为存储多个证书;
可信证书数据库,被配置为存储可信证书数据;以及
数据传输设备,包括:
至少一个处理器的计算硬件和可操作地耦合到所述至少一个处理器的存储器;以及
指令,当所述指令在计算平台上执行时,使所述计算平台实现:
检查工具,其配置为:
获取所述至少一个文件,所述至少一个文件具有数字签名,以及所述数字签名包括具有颁发中心数据和DS证书数据的DS证书,通过检查所述DS证书具有所需的DS证书完整性以及通过利用所述证书数据库验证所述颁发中心证书,确定所述DS证书是有效的,
通过检查所述至少一个文件具有所需的文件完整性以及所述DS证书是有效的,确定所述数字签名是有效的,
如果所述DS证书是有效的,则通过查找与所述DS证书数据相关的所述可信证书数据来确定所述DS证书是可信的,以及
当所述数字签名是有效的且所述DS证书是可信的时,将所述至少一个文件分类为可信的。


2.根据权利要求1所述的系统,其中,所述检查工具还被配置为:当所述数字签名是无效的或者所述DS证书是无效的或不可信的时,将所述至少一个文件分类为不可信的;以及
其中,所述数据传输设备还包括指令,当所述指令在所述计算平台上执行时,使所述计算平台实现安全保证工具,所述安全保证工具被配置为:当所述至少一个文件被所述检查工具分类为不可信时,则限制用户计算设备对所述至少一个文件的访问。


3.根据权利要求1所述的系统,其中,所述证书数据库中的所述多个证书包括:针对第一操作系统的第一证书和针对第二操作系统的第二证书,其中所述第一操作系统和所述第二操作系统是不同的。


4.根据权利要求1所述的系统,其中,所述可信证书数据库中的所述可信证书数据包括针对至少两个操作系统的数据。


5.根据权利要求1所述的系统,其中,所述检查工具被配置为利用第一处理器过程确定所述数字签名是有效的,并且所述检查工具被配置为利用第二处理器过程确定所述DS证书是有效的,所述第一处理器过程于所述第二处理器过程并行执行以及所述第一处理器过程独立于所述第二处理器进程执行。


6.根据权利要求2所述的系统,其中,所述安全保证工具被配置为通过以下至少之一来限制所述用户计算设备的访问:
禁止将所述至少一个文件传输到所述用户计算设备,
禁止在所述用户计算设备上执行所述至少一个文件,
禁止在所述用户计算设备上打开所述至少一个文件,
删除所述至少一个文件,或
隔离所述至少一个文件。


7.根据权利要求6所述的系统,其中,当所述检查工具获得所述至少一个文件时,所述安全保证工具还被配置为中止所述至少一个文件到所述用户计算设备的传输,直到所述至少一个文件被分类为可信的或不可信的为止。


8.根据权利要求1所述的系统,其中,检查所述至少一个文件具有所需的文件完整性包括:
从所述数字签名获取解密的数字签名校验和;
从所述DS证书获取校验和算法;
使用所述校验和算法计算所述至少一个文件的文件校验和;
使用所述DS证书中的公钥将所述数字签名校验和与所述文件校验和进行比较;以及
如果所述数字签名校验和与所述文件校验和匹配,则确定所述至少一个文件具有所述所需的文件完整性。


9.根据权利要求1所述的系统,其中,验证所述颁发中心证书包括:
从所述多个证书构建证书链;
检查所述证书链中的所述多个证书中的每个证书具有所需的证书完整性;
检查所述证书链中的所述多个证书之一与所述颁发中心数据相关;
检查根证书是所述证书链中的最后一个证书;以及
如果所述证书链中的所述多个证书中的每个证书具有所述所需的证书完整性,所述证书链中的所述多个证书之一与所述颁发中心数据相关,并且所述根证书是所述证书链中的最后一个证书,则确定所述颁发中心数据是有效的。


1...

【专利技术属性】
技术研发人员:A·V·拉蒂科夫A·A·多马申科D·M·切佩尔S·V·科兹洛夫T·T·加德利辛
申请(专利权)人:卡巴斯基实验室股份公司
类型:发明
国别省市:俄罗斯;RU

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1