CN104580161A - 一种基于安全标识文件的软件实名认证方法和装置 - Google Patents

一种基于安全标识文件的软件实名认证方法和装置 Download PDF

Info

Publication number
CN104580161A
CN104580161A CN201410784694.2A CN201410784694A CN104580161A CN 104580161 A CN104580161 A CN 104580161A CN 201410784694 A CN201410784694 A CN 201410784694A CN 104580161 A CN104580161 A CN 104580161A
Authority
CN
China
Prior art keywords
software
secure
file
information
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410784694.2A
Other languages
English (en)
Inventor
王祥根
孔志印
郭宪勇
王福喜
汪伦伟
王智超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN201410784694.2A priority Critical patent/CN104580161A/zh
Publication of CN104580161A publication Critical patent/CN104580161A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于安全标识文件的软件实名认证方法和装置。该方法包括:预先存储为软件生成的与其对应的安全标识文件,形成安全标识文件库;基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。本发明通过为软件生成对应的安全标识文件,并将安全标识文件和软件独立存储,并基于此,在软件启动时,对软件进行安全认证。本发明能够适用于国产软件计算环境、提升计算机终端软件资源管理能力、提升计算平台安全防护能力和支持实现软件使用责任认定。

Description

一种基于安全标识文件的软件实名认证方法和装置
技术领域
本发明涉及信息安全技术领域,特别是涉及一种基于安全标识文件的软件实名认证方法和装置。
背景技术
公开密钥基础设施(Public Key Infrastructure,简称PKI),是一种遵循X.509标准的密钥管理和用户验证安全基础设施,它能够为所有网络应用透明地提供加密和数字签名等密码服务所必需的密钥,并通过认证权威机构CA将用户的公钥和用户的身份信息捆绑在一起,并结合公钥密码和对称密码,实现密钥的自动管理,保证网上数据的安全传输。
PKI主要由认证权威机构(CA)、注册机构(RA)、密钥管理系统、证书签发系统、证书注册系统、证书目录系统、证书服务系统以及证书应用中间件等部分组成。PKI提供了一个框架,在这个框架下可以实施认证、完整性和机密性三种基本加密安全服务。
数字签名(Digital Signature),是手写签名的电子模拟,数字签名可以确定签名者身份,说明签名者与被签名数据之间的关系。数字签名与手写签名一样,是认证的主要工具,其主要目的是防抵赖、防否认、防冒充和防篡改。
数字签名是一个具有特殊性质的数学运算的输出结果,其安全性基于非对称加密,即加密与解密过程使用不同的密钥。通过数字签名,可以对签名者身份、签名日期进行验证,对被签名的消息内容进行认证,而且在出现争执时,签名可由第三方进行仲裁。
数字签名具有不可仿造性和不可否认性。在身份认证、数据完整性、不可否认性以及匿名性等信息中具有重要应用,特别是在大型网络安全通信的密钥分配、认证以及电子商务系统中具有重要作用。随着计算机网络技术的发展,数字签名技术也在不断发展,并得到广泛应用。通常,我们需要用数字签名保护的对象是一些重要的文件资料。但在这之外,数字签名也可用于软件代码,可对软件起到防篡改、防抵赖的作用。软件实名认证机制中软件安全标识的生成,以及检查软件撤销列表的有效性上均要用到数字签名技术。
软件实名认证技术,是运用数字签名技术和PKI技术,对计算机软件进行完整性保护和身份认证,将计算机软件和其编制者以及发布者的身份信息进行绑定。实名化后的软件具备防篡改及防抵赖的功能,当软件分发安装或启动运行时可在计算环境中对软件进行认证,根据认证的结果来决定是否允许软件的安装以及运行,同时如果软件对计算机系统造成了危害,将依据软件编制者及发布者的身份信息进行责任追究。因此,通过软件实名认证,既可以限制恶意软件的执行,又可以为软件造成损害的责任追究提供科学证据,从而给计算机系统提供一种强有力的安全保障。
目前,软件实名认证机制是利用可执行文件加壳技术实现软件编制者身份信息以及软件完整性信息的添加。该机制在实际应用方面存在以下问题:
(1)依赖于具体的软件文件类型,技术通用性差。现有的实名认证只适用于EXE、DLL等PE格式文件,不适用于ELF格式的可执行文件和库文件以及RPM、TAR等格式的安装文件,因此技术应用的适用范围受限。
(2)修改可执行文件改变加载时的执行流程,影响软件执行效率。现有的软件实名认证机制需要修改PE格式文件结构,为PE文件添加一个新节以插入一段代码,并且修改加载流程,使得PE文件加载时先加载用于认证的动态链接库,由该库完成认证功能。虽然该方法能够达到确保软件安全性的目的,但是每次可执行文件尤其是DLL文件加载时都需要进行认证,影响了计算机系统的可用性。
(3)在系统用户层实现对软件的实名认证,系统自身安全性难以保证。现有的软件实名认证机制利用应用层的动态链接库来对软件进行认证,但是该动态链接库的安全没有保证。一旦该动态链接库被替换或遭到篡改,则整个实名认证机制将失效。
发明内容
为了解决上述技术问题,本发明提供了一种基于安全标识的软件实名认证方法和装置。基于上述技术问题,本发明是通过以下技术方案来解决的。
一方面,本发明提供一种基于安全标识文件的软件实名认证方法,包括:预先存储为软件生成的与其对应的安全标识文件,形成安全标识文件库;基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。
其中,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证,包括:根据为软件预设的安全等级和预先存储的所述安全标识文件库,在软件启动时,对软件进行相应的安全认证。
其中,在所述安全标识文件中,包括:软件基本信息、软件安全信息、软件标识符信息、软件签名信息。
其中,对所述软件进行安全认证的方式,包括:本地认证和远程认证。
其中,当进行本地认证时,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证,包括:截获软件的启动运行操作;计算软件的软件安全信息;在安全标识文件库中,检索是否存在包含所述软件安全信息的安全标识文件;在存在包含所述软件安全信息的安全标识文件的情况下,在预先保存的公钥链表中,检索是否存在与所述软件对应的可信公钥;在存在所述可信公钥的情况下,基于所述可信公钥对安全标识文件中的软件签名信息进行认证;如果认证通过,则反馈认证成功的信息;反之,则反馈认证失败的信息。
其中,当进行远程认证时,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证,包括:截获软件的启动运行操作;计算软件的软件安全信息;将所述软件的软件安全信息发送至安全认证服务器,由安全认证服务器进行安全认证;接收安全认证服务器反馈的认证结果;其中,所述认证结果包括:认证成功和认证失败。
另一个方面,本发明提供了一种基于安全标识文件的软件实名认证装置,包括:存储模块,用于预先存储为软件生成的与其对应的安全标识文件,形成安全标识文件库;认证模块,用于基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。
其中,所述认证模块,用于:根据为软件预设的安全等级和预先存储的所述安全标识文件库,在软件启动时,对软件进行相应的安全认证。
其中,在所述安全标识文件中,包括:软件基本信息、软件安全信息、软件标识符信息、软件签名信息。
其中,所述认证模块包括本地认证子模块,用于:截获软件的启动运行操作;计算软件的软件安全信息;在安全标识文件库中,检索是否存在包含所述软件安全信息的安全标识文件;在存在包含所述软件安全信息的安全标识文件的情况下,在预先保存的公钥链表中,检索是否存在与所述软件对应的可信公钥;在存在所述可信公钥的情况下,基于所述可信公钥对安全标识文件中的软件签名信息进行认证;如果认证通过,则反馈认证成功的信息;反之,则反馈认证失败的信息。
其中,所述认证模块包括远程认证子模块,用于:截获软件的启动运行操作;计算软件的软件安全信息;将所述软件的软件安全信息发送至安全认证服务器,由安全认证服务器进行安全认证;接收安全认证服务器反馈的认证结果;其中,所述认证结果包括:认证成功和认证失败。
本发明有益效果如下:
本发明通过为软件生成对应的安全标识文件,并将安全标识文件和软件独立存储,并基于此,在软件启动时,对软件进行安全认证。本发明能够适用于国产软件计算环境、提升计算机终端软件资源管理能力、提升计算平台安全防护能力和支持实现软件使用责任认定。
附图说明
图1是根据本发明一实施例的基于安全标识文件的软件实名认证系统的结构图;
图2是根据本发明一实施例的基于安全标识文件的软件实名认证方法的流程图;
图3是根据本发明一实施例的安全标识文件的生成步骤流程图;
图4是根据本发明一实施例的软件启动运行认证的示意图;
图5是根据本发明一实施例的本地认证步骤的流程图;
图6是根据本发明一实施例的本地认证的示意图;
图7是根据本发明一实施例的远程认证步骤的流程图;
图8是根据本发明一实施例的远程认证的示意图;
图9是根据本发明一实施例的基于安全标识的软件实名认证装置的结构图。
具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
如图1所示,图1是根据本发明一实施例的基于安全标识文件的软件实名认证系统的结构图。
该系统包括:软件研制厂商、软件注册发布中心、认证权威机构以及软件执行单元。
软件研制厂商,为软件的编制者,主要用于设计、开发和测试操作系统、数据库管理系统、中间件以及各类业务应用系统的软件。
软件注册发布中心,为软件的发布者,主要用于审核软件研制厂商的身份信息、以及审核软件研制厂商提交的软件;在审核都通过后,对软件进行实名化处理和发布。软件注册发布中心还用于注销已经发布的软件。用户可以从软件注册发布中心下载需要的软件。
认证权威机构,用于签发和管理软件研制厂商和软件注册发布中心的公钥证书。认证权威机构,还用于生成并发布公钥证书撤销信息。
软件执行单元,用于安装和执行软件,该软件执行单元为现有通用的计算机设备。软件执行单元包括:内核级软件认证模块。内核级软件认证模块,用于对存储、安装、启动、运行的软件进行认证,确保软件的来源合法及实体完整。
基于上述系统,本发明提出了一种基于安全标识文件的软件实名认证方法。
如图2所示,图2是根据本发明一实施例的基于安全标识文件的软件实名认证方法的流程图。
步骤S210,预先存储为软件生成的与其对应的安全标识文件,形成安全标识文件库。
步骤S220,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。
进一步地,根据为软件预设的安全等级和预先存储的所述安全标识文件库,在软件启动时,对软件进行相应的安全认证。
步骤S210在软件注册发布中心执行。步骤S220-S230在软件执行单元的内核空间中执行。
针对步骤S210,具体而言,
为了确保软件实名认证能够适用于不同的操作系统中的多种格式的软件,本实施例采用外联式实名认证机制,即为软件生成对应的安全标识文件。具体地,安全标识文件包括:软件标识符信息、软件基本信息、软件安全信息和软件签名信息。
软件标识符信息和软件基本信息,用于实现软件与软件编制者身份的绑定、以及软件与安全标识文件的关联,并支持软件的识别和管理。
软件安全信息,用于支持软件的完整性认证。
软件签名信息,用于保证软件安全标识文件自身的完整性和合法性,实现软件与发布者信息的绑定。
具体而言,
软件标识符信息具有唯一性,根据该软件标识符可以区分不同的软件。
软件基本信息包括:软件名称、软件版本、研制单位、软件功能。
软件安全信息包括:软件组成模块、安装包的完整性信息。例如:软件安全信息包括:软件组成模块1的摘要值信息、……、软件组成模块N的摘要值信息、软件安装包的摘要值信息。其中,N≥1。
软件签名信息包:安全标识文件的摘要值,签名使用的私钥、签名算法和安全标识文件对应的公钥证书信息。
安全标识文件是基于数字证书系统,也即是认证权威机构签发的公钥证书,利用公钥密码数字签名技术生成的。安全标识文件生成的主要过程包括软件基本信息的录入、软件标识符的分配、软件组成模块、安装包的摘要值的计算、签名信息的生成等。
如图3所示,为根据本发明一实施例的安全标识文件的生成步骤流程图。
步骤S310,接收软件基本信息。
在软件研制厂商提交的软件之后,接收用户通过安全标识生成工具的界面录入的软件名称、软件版本、研制单位、软件功能等描述信息。安全标识生成工具被设置在软件注册发布中心。
步骤S320,获得软件的软件安全信息。
针对软件研制厂商提交的软件,安全标识生成工具,解析软件的组成结构;对软件组成模块、安装包进行摘要运算,获得组成模块的摘要值和安装包的摘要值;将摘要值作为静态完整性指标的基准值,形成软件的静态完整性信息,即软件安全信息。
步骤S330,根据软件基本信息、软件安全信息,为软件分配唯一的软件标识符。
安全标识生成工具,根据软件基本信息、软件安全信息,为待标识的软件分配唯一的软件标识符。
步骤S340,封装软件基本信息、软件安全信息和软件标识符,获得软件标识。
步骤S350,利用预先获得的公钥证书对应的私钥,对软件标识进行签名,生成软件安全标识文件。
软件在软件注册发布中心注册时,软件的相关信息审核通过后,认证权威机构会为该软件签发公钥证书。
该公钥证书安全标识生成工具,将软件标识符、软件描述信息以及静态完整性信息封装成为软件标识;使用与公钥证书对应的私钥,对软件标识进行签名,生成软件安全标识文件。进一步地,计算该软件标识的摘要值,并用私钥对其加密,进而实现对软件标识文件的签名。
针对步骤S210,具体而言:
基于安全标识文件,可以对软件的启动运行进行认证。如图4所示,为根据本发明一实施例的软件启动运行认证的示意图。该认证由软件执行单元中的内核级软件认证模块(以下简称内核模块),内核模块在软件启动运行时,基于软件的安全标识文件,对软件的可执行文件和动态链接库文件的完整性和合法性验证,并依据验证结果对软件启动运行过程进行控制,从而保证软件应用的安全可信。
在生成安全标识文件后,软件和对应的安全标识文件独立存储。可以将多个安全标识文件组成一个安全标识文件库,该安全标识文件库可以存储在软件执行单元(本地),也可以存储在软件注册发布中。
软件启动运行认证包括:本地认证和远程认证两种形式。如果安全标识文件库被存储在本地时,则进行本地认证;如果安全标识文件库被存储在软件注册发布中的安全认证服务器时,则进行远程认证。
本地认证是指:本地认证过程全部在本地完成。其中,软件的安全标识文件在软件分发安装时存放在计算平台本地或是从安全认证服务器上下载镜像。进一步地,在本地截获软件的启动运行操作;计算软件的软件安全信息;在安全标识文件库中,检索是否存在包含所述软件安全信息的安全标识文件;在存在包含所述软件安全信息的安全标识文件的情况下,在预先保存的公钥链表中,检索是否存在与所述软件对应的可信公钥;在存在所述可信公钥的情况下,基于所述可信公钥对安全标识文件中的软件签名信息进行认证;如果认证通过,则反馈认证成功的信息;反之,则反馈认证失败的信息。
如图5所示,为根据本发明一实施例的本地认证步骤的流程图。图6为根据本发明一实施例的本地认证的示意图。
步骤S510,截获软件的启动运行操作。
具体的,通过运行在操作系统内核层的内核模块,截获软件可执行文件以及动态链接库文件加载操作。在截获加载操作时,获取软件可执行文件或动态链接库文件的路径信息。
步骤S520,计算软件的可执行文件和动态链接库文件的摘要值。
根据软件可执行文件或动态链接库文件的路径,获取软件可执行文件或动态链接库文件,并分别计算可执行文件或动态链接库文件的摘要值。
步骤S530,在安全标识文件库中,检索是否存在包含该摘要值的安全标识文件;如果是,则执行步骤S540,如果否,则执行步骤S570。
将软件的可执行文件和动态链接库文件的摘要值作为索引,在安全标识文件库中进行检索,确定安全标识文件库中是否存在包含与可执行文件和动态链接库文件的摘要值相同的安全标识文件。
步骤S540,在预先保存的公钥链表中,检索是否存在软件对应的可信公钥。如果是,则执行步骤S550,如果否,则执行步骤S570。
在本地预先下载公钥链表,公钥链表中记录了认证权威机构为各软件注册中心签发的公钥证书信息。在检索到与软件对应的安全标识文件后,将安全标识文件中的公钥证书信息作为索引,在公钥链表中检索是否存在相应的公钥证书,如果检索到公钥证书,则认为存在对应的可信公钥。若未检索到相应的公钥证书,则表示认证未通过。
步骤S550,基于检索到的可信公钥,对安全标识文件中的签名信息进行认证。若认证通过,则执行步骤S560,若认证不通过,则执行步骤S570。
因为在生成安全标识文件时,是用公钥证书对应的私钥,对软件标识进行签名,所以,在验证安全标识文件是否合法时,则可以用公钥证书中的可信公钥对安全标识文件进行验证。进一步地,利用可信公钥对安全标识文件的摘要值进行解密;同时,根据检索到的安全标识文件,重新计算安全标识文件的摘要值;确定解密获得的摘要值和重新计算的摘要值是否相同,若相同,则认证通过,若不同,则认证不通过。
步骤S560,反馈认证成功的信息。
认证成功,说明安全标识文件合的、并且安全标识文件本身完整。
步骤S570,反馈认证失败的信息。
认证失败,说明安全标识文件不合法、或者安全标识文件本身不完整。
远程认证是指:在本地截获软件的启动运行操作;计算软件的软件安全信息;将软件的软件安全信息发送至安全安全认证服务器,由安全安全认证服务器进行安全认证;接收安全安全认证服务器反馈的认证结果;其中,认证结果包括:认证成功和认证失败。进一步地,在认证时必须实时访问远程的安全认证服务器,依据软件可执行文件或动态链接库文件的摘要值信息,在安全认证服务器中,对软件的安全标识文件和公钥证书撤销列表进行查询,确定待认证的软件已被注册且没有被撤销,从而验证该软件的完整性和合法性。为了确保软件执行单元和安全认证服务器之间信息交互过程的安全性,需要遵循软件远程认证协议。
图7是根据本发明一实施例的远程认证步骤的流程图。图8是根据本发明一实施例的远程认证的示意图。
步骤S710,软件执行单元截获软件的启动运行操作,并计算软件的可执行文件和动态链接库文件的摘要值。
软件执行单元,通过运行在操作系统内核层的内核模块,截获软件的可执行文件以及动态链接库文件的加载操作,并计算软件可执行文件和动态链接库文件的摘要值。
软件执行单元向安全认证服务器发起软件认证请求。该软件认证请求中携带软件的可执行文件和动态链接库文件的摘要值。
步骤S720,安全认证服务器获取软件的可执行文件和动态链接库文件的摘要值。
安全认证服务器接收并解析软件认证请求,获取软件的可执行文件和动态链接库文件的摘要值。
步骤S730,安全认证服务器检索是否存在包含该摘要值的安全标识文件。如果是,则执行步骤S740,如果否,则执行步骤S770。
安全认证服务器在对软件进行注册时,保存软件的安全标识文件,并形成安全标识文件库;在安全标识文件库中,检索含有该摘要值的安全标识文件。
步骤S740,安全认证服务器检索包含该摘要值的安全标识文件是否存在与软件撤销列表中。如果是,则执行步骤S750,如果否,则执行步骤S760。
如果公钥证书被撤销,需要形成公钥证书的撤销链表,并记录在安全认证服务器中。安全认证服务器遍历该撤销链表,如果检索不到相应的摘要值则认证失败;如果检索到相应的摘要值,则认证成功。
步骤S750,安全认证服务器向软件执行单元反馈认证成功的信息。
认证成功,说明软件是合法的并且是完整的。
步骤S760,安全认证服务器向软件执行单元反馈认证失败的信息。
认证失败,说明软件时不合法的或者是不完整的。
在认证结束后,如果认证结果为认证失败,则可以根据安全标识文件中的软件基本信息追溯软件的来源。
在一个实施例中,在软件启动时,还可以根据为软件设置的安全等级进行安全认证。进一步地,软件实名认证机制,是在软件执行时,对软件文件进行验证,可达到有效防范恶意代码以增强系统安全性的目的。但是,如果对所有的可执行文件和动态链接库文件都在运行和加载时进行验证,必然会引起计算机系统效率的降低,极大地影响到该安全机制的可用性。为了较好地解决安全性和可用性平衡的问题,本实施例采用基于安全等级的安全认证机制。
如表1所示,表1为每种安全等级对应的含义。
表1
为了降低软件实名认证机制对计算机系统效率造成的影响,需要为己认证过的可执行文件和动态链接库文件建立已认证文件缓存链表,链表中记录已认证的文件的详细路径及其认证结果。当认证策略为1级和3级时,软件认证过程中将首先查询已认证文件缓存链表,如果发现待认证的文件在链表中,则说明属于已经被认证过的文件,那么按照策略不需要再进行重复认证,直接采用上次的认证结果。如果缓存链表中没有待认证的文件,则执行认证过程,验证其合法性和完整性,认证之后将相关信息添加到已认证文件缓存链表中。
本发明还提供了一种基于安全标识的软件实名认证装置。如图7所示,图7是根据本发明一实施例的基于安全标识的软件实名认证装置的结构图。
该装置包括:
存储模块710,用于预先存储为软件生成与其对应的安全标识文件,形成安全标识文件库。在安全标识文件中,包括:软件基本信息、软件安全信息、软件标识符信息、软件签名信息。
认证模块720,用于基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。
在一个实施例中,认证模块720,用于根据为软件预设的安全等级和预先存储的所述安全标识文件库,在软件启动时,对软件进行相应的安全认证。
在另一实施例中,认证模块720包括本地认证子模块(未示出),用于截获软件的启动运行操作;计算软件的软件安全信息;在安全标识文件库中,检索是否存在包含所述软件安全信息的安全标识文件;在存在包含所述软件安全信息的安全标识文件的情况下,在预先保存的公钥链表中,检索是否存在与所述软件对应的可信公钥;在存在所述可信公钥的情况下,基于所述可信公钥对安全标识文件中的软件签名信息进行认证;如果认证通过,则反馈认证成功的信息;反之,则反馈认证失败的信息。
在又一实施例中,认证模块720包括远程认证子模块(未示出),用于截获软件的启动运行操作;计算软件的软件安全信息;将所述软件的软件安全信息发送至安全认证服务器,由安全认证服务器进行安全认证;接收安全认证服务器反馈的认证结果;其中,所述认证结果包括:认证成功和认证失败。
本实施例所述的装置的功能已经在图1-图6所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本发明给出了如何实现面向多种文件格式软件的实名、如何在内核级实现软件运行时的实名认证、以及如何在确保安全性的同时减轻软件认证对计算机系统效率的影响。本发明能够适用于国产软件计算环境、提升计算机终端软件资源管理能力、提升计算平台安全防护能力和支持实现软件使用责任认定。
第一,能够适用于国产软件计算环境
已有的软件实名机制是面向Windows操作系统中EXE、DLL等PE格式文件,基于嵌入式标识机制,采用PE加壳技术实现,不适用于中标麒麟操作系统中ELF格式的可执行文件和库文件以及RPM、TAR等格式的软件安装文件。本专利采用外联式标识机制建立了一套统一的软件实名认证机制,能够适用于多种软件计算环境,支持为所有格式的文件进行实名化处理。随着国产自主软硬件推进策略的逐步实施,本专利提出的软件实名认证机制将得到越来越广泛的应用。
第二,提升计算机终端软件资源管理能力
已有的软件实名机制主要解决的问题是验证软件可执行文件的完整性,不能实现对计算机终端中软件资源的管控。本专利借鉴数字证书管理方法,设计了软件撤销列表,基于该列表能够对计算机终端中软件资源进行控制,达到软件进得来、用不了的目的,从而有助于解决当前计算机系统内软件滥用的问题。
第三,提升计算平台安全防护能力
针对Linux系统的病毒、木马等恶意代码的数量和种类迅速增多。随着恶意代码自身技术的不断发展,恶意代码攻击技术出现了攻击途径多样化、攻击手段体系化专业化和攻击过程隐蔽化等新趋势,对计算机信息系统的网络攻击威胁能力不断提升,防病毒、防火墙、入侵检测等触发响应式的被动防御机制的局限性愈益突出,尤其是防范发生在系统或网络边界内的内部威胁方面。本专利采用基于安全标识文件的软件实名认证机制,将恶意代码防范方法从事后如何查找和检测病毒程序转向事前如何管理和控制软件的运行,从而实现了对恶意代码的主动防御,极大地提升了计算平台的安全防护能力。
第四,支持实现软件使用责任追究
软件研制单位或者发布单位,出于某种目的,可能会在所生产的已被授权的软件中插入恶意代码。针对这种情况,需要能够判断软件的研制单位和发布单位,支持进行责任追究。本专利提出的软件实名机制实现了软件与其研制单位和发布单位身份的绑定,当采用其他技术手段发现软件存在安装垃圾软件、收集和发送敏感信息等不良行为时,可以通过安全标识文件中含有的签名信息和基本信息识别该软件的研制单位和发布单位,对其进行责任追究。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。

Claims (10)

1.一种基于安全标识文件的软件实名认证方法,其特征在于,包括:
预先存储为软件生成的与其对应的安全标识文件,形成安全标识文件库;
基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。
2.如权利要求1所述的方法,其特征在于,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证,包括:
根据为软件预设的安全等级和预先存储的所述安全标识文件库,在软件启动时,对软件进行相应的安全认证。
3.如权利要求1所述的方法,其特征在于,在所述安全标识文件中,包括:软件基本信息、软件安全信息、软件标识符信息、软件签名信息。
4.如权利要求3所述的方法,其特征在于,对所述软件进行安全认证的方式,包括:本地认证和远程认证。
5.如权利要求4所述的方法,其特征在于,当进行本地认证时,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证,包括:
截获软件的启动运行操作;
计算软件的软件安全信息;
在安全标识文件库中,检索是否存在包含所述软件安全信息的安全标识文件;
在存在包含所述软件安全信息的安全标识文件的情况下,在预先保存的公钥链表中,检索是否存在与所述软件对应的可信公钥;
在存在所述可信公钥的情况下,基于所述可信公钥对安全标识文件中的软件签名信息进行认证;如果认证通过,则反馈认证成功的信息;反之,则反馈认证失败的信息。
6.如权利要求4所述的方法,其特征在于,当进行远程认证时,基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证,包括:
截获软件的启动运行操作;
计算软件的软件安全信息;
将所述软件的软件安全信息发送至安全认证服务器,由安全认证服务器进行安全认证;
接收安全认证服务器反馈的认证结果;其中,所述认证结果包括:认证成功和认证失败。
7.一种基于安全标识文件的软件实名认证装置,其特征在于,包括:
存储模块,用于预先存储为软件生成的与其对应的安全标识文件,形成安全标识文件库;在所述安全标识文件中,包括:软件基本信息、软件安全信息、软件标识符信息、软件签名信息;
认证模块,用于基于预先存储的所述安全标识文件库,在软件启动时,对所述软件进行安全认证。
8.如权利要求7所述的装置,其特征在于,所述认证模块,用于:
根据为软件预设的安全等级和预先存储的所述安全标识文件库,在软件启动时,对软件进行相应的安全认证。
9.如权利要求7所述的装置,其特征在于,所述认证模块包括本地认证子模块,用于:
截获软件的启动运行操作;
计算软件的软件安全信息;
在安全标识文件库中,检索是否存在包含所述软件安全信息的安全标识文件;
在存在包含所述软件安全信息的安全标识文件的情况下,在预先保存的公钥链表中,检索是否存在与所述软件对应的可信公钥;
在存在所述可信公钥的情况下,基于所述可信公钥对安全标识文件中的软件签名信息进行认证;如果认证通过,则反馈认证成功的信息;反之,则反馈认证失败的信息。
10.如权利要求7所述的装置,其特征在于,所述认证模块包括远程认证子模块,用于:
截获软件的启动运行操作;
计算软件的软件安全信息;
将所述软件的软件安全信息发送至安全认证服务器,由安全认证服务器进行安全认证;
接收安全认证服务器反馈的认证结果;其中,所述认证结果包括:认证成功和认证失败。
CN201410784694.2A 2014-12-17 2014-12-17 一种基于安全标识文件的软件实名认证方法和装置 Pending CN104580161A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410784694.2A CN104580161A (zh) 2014-12-17 2014-12-17 一种基于安全标识文件的软件实名认证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410784694.2A CN104580161A (zh) 2014-12-17 2014-12-17 一种基于安全标识文件的软件实名认证方法和装置

Publications (1)

Publication Number Publication Date
CN104580161A true CN104580161A (zh) 2015-04-29

Family

ID=53095342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410784694.2A Pending CN104580161A (zh) 2014-12-17 2014-12-17 一种基于安全标识文件的软件实名认证方法和装置

Country Status (1)

Country Link
CN (1) CN104580161A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106204047A (zh) * 2016-06-30 2016-12-07 成都生辉电子科技有限公司 一种移动终端支付装置
CN107787500A (zh) * 2015-06-26 2018-03-09 德国电信股份公司 消息提供和评价系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900941A (zh) * 2006-04-28 2007-01-24 傅玉生 一种基于软件身份认证技术的计算机安全保护方法
CN101149773A (zh) * 2007-08-27 2008-03-26 中国人民解放军空军电子技术研究所 一种基于软件实名认证的系统及其安全查证方法
CN103186723A (zh) * 2011-12-30 2013-07-03 北京大学 数字内容安全协作的方法和系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900941A (zh) * 2006-04-28 2007-01-24 傅玉生 一种基于软件身份认证技术的计算机安全保护方法
CN101149773A (zh) * 2007-08-27 2008-03-26 中国人民解放军空军电子技术研究所 一种基于软件实名认证的系统及其安全查证方法
CN103186723A (zh) * 2011-12-30 2013-07-03 北京大学 数字内容安全协作的方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107787500A (zh) * 2015-06-26 2018-03-09 德国电信股份公司 消息提供和评价系统
CN107787500B (zh) * 2015-06-26 2022-03-04 德国电信股份公司 消息提供和评价系统
CN106204047A (zh) * 2016-06-30 2016-12-07 成都生辉电子科技有限公司 一种移动终端支付装置

Similar Documents

Publication Publication Date Title
US11757641B2 (en) Decentralized data authentication
CN110036613B (zh) 提供用于去中心化应用的身份认证的系统和方法
CN110537346B (zh) 安全去中心化域名系统
EP3061027B1 (en) Verifying the security of a remote server
US9281949B2 (en) Device using secure processing zone to establish trust for digital rights management
JP6357158B2 (ja) 仮想マシンによる安全なデータ処理
US9219607B2 (en) Provisioning sensitive data into third party
CN114008968B (zh) 用于计算环境中的许可授权的系统、方法和存储介质
CN112016106B (zh) 开放接口的认证调用方法、装置、设备和可读存储介质
CN109981287B (zh) 一种代码签名方法及其存储介质
KR20070112432A (ko) 런타임 패키지 서명에서 트러스트된, 하드웨어 기반의 신원증명을 사용하여 모바일 통신과 고액 거래 실행을 보안처리하기 위한 방법
WO2017191472A1 (en) A verification system and method
CN112308236B (zh) 用于处理用户请求的方法、装置、电子设备及存储介质
JP2017011491A (ja) 認証システム
Alzomai et al. The mobile phone as a multi OTP device using trusted computing
CN111399980A (zh) 容器编排器的安全认证方法、装置及系统
WO2022184456A1 (en) Authorized encryption
Akram et al. A novel consumer-centric card management architecture and potential security issues
CN104580161A (zh) 一种基于安全标识文件的软件实名认证方法和装置
KR20130100032A (ko) 코드 서명 기법을 이용한 스마트폰 어플리케이션 배포 방법
Fenzl et al. Collaborative Security Patterns for Automotive Electrical/Electronic Architectures
Kim et al. Secure user authentication based on the trusted platform for mobile devices
CN113592638A (zh) 交易请求的处理方法、装置以及联盟链
KR102534012B1 (ko) 컨텐츠 제공자의 보안등급을 인증하는 시스템 및 그 방법
Ur Rahman et al. Practical security for rural internet kiosks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150429

WD01 Invention patent application deemed withdrawn after publication