用于识别已泄漏的私有密钥的系统和方法

文档序号:9693265阅读:580来源:国知局
用于识别已泄漏的私有密钥的系统和方法
【专利说明】
【背景技术】
[0001]在计算技术发展的早期,通常经由物理磁盘安装新应用程序,这使得恶意代理难以冒充合法开发者。现在,通常经由互联网从各种来源下载应用程序,这些来源包括网站和应用程序发布平台。遗憾的是,欺诈网站和恶意开发者可轻易地模仿合法开发者和应用程序,从而可能导致用户下载恶意应用程序,给用户、系统和企业的安全造成极大风险。
[0002]通常使用数字签名确保应用程序来源于合法受信任的开发者,而不是潜在的恶意假冒者。遗憾的是,数字签名的可信度与用于生成数字签名的私有密钥的安全性成正比。例如,如果私有密钥已泄漏,则恶意代理可使用已泄漏的私有密钥签署恶意应用程序,从而更有效地冒充该密钥的签名人。
[0003]用于验证数字签名的传统系统通常缺少确定用于数字签名的私有密钥是否已泄漏的机制。因此,本发明识别并解决了对用于识别和保护私有密钥免受泄漏的另外且改善的系统和方法的需求。

【发明内容】

[0004]如将在下面更加详细地描述,本发明整体涉及用于根据对从公共可用来源收集的信息的分析,识别已泄漏并且可供除授权签名人之外的代理使用的私有密钥的系统和方法。在一个例子中,用于识别已泄漏的私有密钥的计算机实现的方法可包括:(1)识别允许签名人数字签署应用程序的私有密钥,(2)从至少一个公共来源收集关于该私有密钥的信息,(3)根据从公共来源收集的信息,确定该私有密钥已泄漏并且可供未授权签名人使用,以及(4)响应于确定该私有密钥已泄漏并且可供未授权签名人使用,来执行安全操作。
[0005]可采用多种方法中的任一种来收集关于私有密钥的信息。在一些实施例中,收集关于私有密钥的信息可包括收集关于已用私有密钥数字签署的至少一个应用程序的信息。收集关于私有密钥的信息还可包括收集指示私有密钥已被未授权签名人用于数字签署应用程序的信息。
[0006]除此之外或作为另外一种选择,收集关于私有密钥的信息可包括收集指示私有密钥已用于数字签署至少一个具有高信誉度分值的可信应用程序以及至少一个具有低信誉度分值的可疑应用程序两者的信息。收集关于私有密钥的信息还可包括收集指示私有密钥已用于签署超过预定数量的应用程序的信息。
[0007]在一些例子中,收集关于私有密钥的信息可包括确定可从可公共访问的服务器下载私有密钥的至少一个实例。此外,所述计算机实现的方法可包括维护数据库,该数据库识别托管私有密钥的可公共访问的服务器。
[0008]在一些实施例中,执行安全操作可包括以下中至少一项:(1)警告用户私有密钥已泄漏,(2)降低分配给用该私有密钥数字签署的应用程序的信誉度分值,(3)阻止下载用该私有密钥数字签署的应用程序,以及/或者(4)警告签名人该私有密钥已泄漏。
[0009]在一些例子中,确定私有密钥已泄漏可包括确定用私有密钥数字签署的至少一个应用程序的包名称与用私有密钥数字签署的至少一个其他应用程序的其他包名称的差别超过预定的相似度阈值。在这些例子中,所述计算机实现的方法还可包括通过分析包名称来确定包名称未被随机化。
[0010]在一些例子中,确定私有密钥已泄漏可包括对收集到的信息进行加权处理,并根据加权的信息计算私有密钥的总体可信度分值。
[0011]在一个实施例中,用于实施上述方法的系统可包括:(1)识别模块,其识别允许签名人数字签署应用程序的私有密钥,(2)收集模块,其从至少一个公共来源收集关于该私有密钥的信息,(3)确定模块,其根据从公共来源收集到的信息确定该私有密钥已泄漏并且可供未授权签名人使用,(4)安全模块,其响应于确定该私有密钥已泄漏并且可供未授权签名人使用来执行安全操作,以及(5)至少一个处理器,其被配置为执行识别模块、收集模块、确定模块和安全模块。
[0012]在一些例子中,上述方法可被编码为计算机可读存储介质上的计算机可读指令。例如,计算机可读存储介质可包括一个或多个计算机可执行指令,所述计算机可执行指令在被计算设备的至少一个处理器执行时,可以导致计算设备:(1)识别允许签名人数字签署应用程序的私有密钥,(2)从至少一个公共来源收集关于该私有密钥的信息,(3)根据从公共来源收集的信息,确定该私有密钥已泄漏并且可供未授权签名人使用,以及(4)响应于确定该私有密钥已泄漏并且可供未授权签名人使用,来执行安全操作。
[0013]来自上述实施例中的任何一者的特征可根据本文所述的一般原理彼此结合地使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其他实施例、特征和优点。
【附图说明】
[0014]附图示出了多个示例性实施例并且为说明书的一部分。这些附图结合下面的描述展示并且说明本发明的各种原理。
[0015]图1为用于识别已泄漏的私有密钥的示例性系统的框图。
[0016]图2为用于识别已泄漏的私有密钥的示例性系统的框图。
[0017]图3为用于识别已泄漏的私有密钥的示例性方法的流程图。
[0018]图4为用于识别已泄漏的私有密钥的示例性系统的框图。
[0019]图5为用于识别已泄漏的私有密钥的示例性系统的框图。
[0020]图6为能够实现本文描述和/或示出的实施例中的一者或多者的示例性计算系统的框图。
[0021]图7为能够实现本文描述和/或示出的实施例中的一者或多者的示例性计算网络的框图。
[0022]在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施例易受各种修改和替代形式的影响,但在附图中以举例的方式示出了特定实施例并且将在本文详细描述。然而,本文所述的示例性实施例并非旨在限于所公开的特定形式。相反,本发明涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。
【具体实施方式】
[0023]本发明整体涉及用于识别已泄漏的私有密钥的系统和方法。如将在下面更详细地阐释,通过根据对从公共可用来源收集到的信息的分析确定私有密钥已泄漏,本文所述的系统可以(1)通过警告用户应用程序已泄漏的私有密钥签署,来改提高用户的安全性,(2)通过警告签名人其私有密钥已泄漏,来提高签名人的安全性,以及/或者(3)通过降低用泄漏的私有密钥签署的应用程序的信誉度分值和/或阻止该应用程序,来提高应用程序发布平台的安全性。
[0024]下文将结合图1至图2、图4和图5提供用于识别已泄漏的私有密钥的示例性系统的详细描述。也将结合图3提供相应计算机实现方法的详细描述。此外,将分别结合图6和图7提供能够实现本文所述实施例中的一者或多者的示例性计算系统和网络体系结构的详细描述。
[0025]图1为用于识别已泄漏的私有密钥的示例性系统100的框图。如该图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,以及如将在下面更加详细地阐释,示例性系统100可包括识别模块104,该识别模块可识别允许签名人数字签署应用程序的私有密钥。示例性系统100还可包括收集模块106,该收集模块可从至少一个公共来源收集关于私有密钥的信息。
[0026]示例性系统100还可包括确定模块108,该确定模块可根据从公共来源收集到的信息确定私有密钥已泄漏并且可供未授权签名人使用。示例性系统100还可包括安全模块110,该安全模块可响应于确定私有密钥已泄漏并且可供未授权签名人使用,来执行安全操作。虽然以单独的元件示出,但图1中的模块102中的一者或多者可表示单个模块或应用程序的组成部分。
[0027]在某些实施例中,图1中的模块102中的一者或多者可表不一个或多个软件应用程序或程序,这些软件应用程序或程序在由计算设备执行时可致使计算设备执行一个或多个任务。例如并且如下文将更详细地描述,一个或多个模块102可表示存储在一个或多个计算设备上并且被配置为在所述计算设备上运行的软件模块,所述计算设备诸如为图2中示出的设备(例如,计算设备202和/或服务器206)、图6中的计算系统610、和/或图7中的示例性网络体系结构700的组成部分。图1中的模块102中的一者或多者还可表示被配置为执行一个或多个任务的一台或多台专用计算机的全部或部分。
[0028]如图1所示,示例性系统100还可包括一个或多个数据库,诸如数据库120。在一个例子中,数据库120可被配置为存储已知密钥发布网站的记录。
[0029]数据库120可表示单个数据库或计算设备的组成部分或者多个数据库或计算设备。例如,数据库120可表示图2中的服务器206的组成部分、图6中的计算系统610、和/或图7中的示例性网络体系结构700的组成部分。作为另外一种选择,图1中的数据库120可表示能够通过计算设备访问的一个或多个物理独立设备,诸如图2中的服务器206、图6中的计算系统610、和/或图7中的示例性网络体系结构700的组成部分。
[0030]图1中的示例性系统100可以多种方式来实现。例如,示例性系统100的全部或一部分可表示图2中的示例性系统200的组成部分。如图2所示,系统200可包括经由网络204与服务器206通信的计算设备202。计算设备202可用模块102中的一者或多者进行编程和/或可存储数据库120中的数据的全部或一部分。除此之外或作为另外一种选择,服务器206可用模块102中的一者或多者进行编程和/或可存储数据库120中的数据的全部或一部分。
[0031]在一个实施例中,图1的模块102中的一者或多者在被计算设备202和/或服务器206的至少一个处理器执行时,促进计算设备202和/或服务器206识别已泄漏的私有密钥。例如,以及如将在下面更加详细地描述,识别模块104可被编程为识别允许签名人数字签署应用程序210的私有密钥208。此外,收集模块106可被编程为从至少一个公共来源收集关于私有密钥208的信息214。确定模块108可被编程为根据从公共来源收集到的信息214确定私有密钥208已泄漏并且可供签名人216使用。此外,安全模块110可被编程为响应于确定私有密钥208已泄漏并且可供签名人216使用,来执行安全操作218。
[0032]计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。计算设备202的例子包括但不限于笔记本电脑、平板电脑、台式计算机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式系统、这些设备中的一者或多者的组合、图6中的示例性计算系统610或任何其他合适的计算设备。在一些例子中
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1