CN101969440B - 软件证书生成方法 - Google Patents
软件证书生成方法 Download PDFInfo
- Publication number
- CN101969440B CN101969440B CN 201010523088 CN201010523088A CN101969440B CN 101969440 B CN101969440 B CN 101969440B CN 201010523088 CN201010523088 CN 201010523088 CN 201010523088 A CN201010523088 A CN 201010523088A CN 101969440 B CN101969440 B CN 101969440B
- Authority
- CN
- China
- Prior art keywords
- software
- certificate
- publisher
- developer
- authority
- 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.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及计算机技术。本发明解决了现有没有完善的软件安全保护系统的问题,提供了一种软件证书生成方法,其技术方案可概括为:在整个软件的使用开放等各个环节均使用其各自的软件证书或软件开发者证书才能进行使用或上传,即每一步都采用软件实名制,并对软件实行权限控制。本发明的有益效果是,大大减轻了系统的维护和管理,适用于广电综合业务支撑系统。
Description
技术领域
本发明涉及计算机技术,特别涉及计算机系统安全的技术。
背景技术
随着网络信息技术的应用领域不断扩展,相关的各行各业所面临的网络安全问题越来越复杂,计算机系统面临的威胁也变得更加多样化,专用的计算机系统例如网络电视机顶盒、智能手机等,由于其采用专用平台、开发人员较少,对病毒的抵抗力更为薄弱,除了使用杀毒软件外,保证软件来源的安全可靠更是比较有效的安全手段。PKI(Public KeyInfrastructure)公钥基础设施时用公钥概念和技术实施的,提供真实性、保密性、完整性以及可追究性安全服务的具有普遍适用性的安全基础设施,PKI被广泛应用于电子商务中,是一种非常成熟的安全手段,X.509标准是ITU-T(国际电信联盟远程通信标准化组织)设计的PKI标准,目前被广泛使用,X.5093版支持扩展概念,因此任何人都可以定义扩展并将其纳入证书之中,用于扩展自己的应用需求。但是数字证书系统被用来保护软件安全的应用还很不专业,缺乏完善的系统。
发明内容
本发明的目的是克服目前没有完善的软件安全保护系统的缺点,提供一种软件证书生成方法。
本发明解决其技术问题,采用的技术方案是使用完善的软件证书系统方法,其特征在于,包括以下步骤:
a.软件发布商自己生产私钥和证书请求文件,并将证书请求文件和软件发布商的身份证明文件提交给证书颁发机构;
b.证书颁发机构根据接收到的软件发布商的身份证明文件证明软件发布商的身份合法性后,利用软件发布商提交的证书请求文件生成二级CA(数字证书认证中心)证书,将该二级CA证书发送给软件发布商,并赋予其受限的数字证书认证中心的权利;
c.软件使用者向软件发布商提供其申请者的唯一标识号和将下载的软件标识;
d.软件发布商生成签名软件证书并将该签名软件证书及软件发送给软件使用者;
e.软件使用者安装软件,验证签名软件证书的合法性、有效性及软件的完整性,并在签名软件证书合法、有效且软件完整时完成软件安装,并按照签名软件证书中软件的权限赋予软件相应的权限;
f.软件开发者生成密钥和证书请求文件,并将证书请求文件和开发机器的标识号组提交给软件发布商;
g.软件发布商根据软件开发者提供的信息生成软件开发者证书,并在该软件开发者证书中限制开发者的权限,且将该软件开发者证书下发给软件开发者,并提供用于软件签名的软件;
h.软件开发者根据接收到的软件开发者证书在开发机器上运行用于软件签名的软件,并将开发的软件签名后上传给软件发布商进行发布。
具体的,步骤b所述受限的数字证书认证中心的权利包括签发证书、签名及加密的权利。
进一步的,所述权限包括用户权限、系统权限、受限系统权限及设备制造商权限。
具体的,步骤d包括以下步骤:
d1.软件发布商获取软件使用者申请下载的软件信息;
d2.根据获取的软件信息通过数据库查询获得该申请的软件摘要值、摘要顺序信息及软件权限信息;
d3.软件发布商获取软件使用者的申请者的唯一标识号;
d4.软件发布商将软件摘要、摘要顺序、申请者的唯一标识号及软件权限信息加入到软件证书扩展字段;
d5.使用软件发布商的证书私钥签名该软件证书,并与软件一起发送给软件使用者。
再进一步的,步骤d1所述软件信息包括软件名字、软件编号及软件版本号。
具体的,步骤e包括以下步骤:
e1.软件使用者开始安装软件,安装程序验证签名软件证书扩展字段中的申请者唯一标示号是否与本机的唯一标识号相同,若是则进入下一步,若不是则进入e6步骤;
e2.安装程序到软件发布商和证书颁发机构获取相应的CA根证书和吊销列表,判断该签名软件证书是否有效,若是则进入下一步,若不是则进入e6步骤;
e3.安装程序按照签名软件证书扩展字段中的软件摘要顺序信息和相应的摘要算法,对软件进行摘要,判断该摘要值是否与签名软件证书扩展字段中的软件摘要值相同,若是则进入下一步,若不是则进入e6步骤;
e4.安装程序将该软件安装到该设备的指定位置;
e5.安装程序根据签名软件证书扩展字段中的软件权限信息设置该软件的权限,完成软件安装;
e6.程序出错,提示出错原因。
再进一步的,步骤g包括以下步骤:
g1.软件发布商验证软件开发者提供的证书请求文件中的身份证明是否真实,若是则进入下一步,若不是则不进行处理;
g2.软件发布商在软件开发者证书扩展项中增加开发机器的标识号组及设置软件开发者生成软件证书的权限,赋予软件开发者生成软件证书的权利;
g3.使用软件发布商的二级CA证书的私钥签名软件开发者证书,将软件开发者证书和用于软件签名的软件下发给软件开发者。
具体的,步骤h包括以下步骤:
h1.软件开发者根据接收到的软件开发者证书及用于软件签名的软件,配置好软件开发者证书,选择要签名的软件,填入开发机器的唯一标识号,提交申请;
h2.验证软件开发者证书扩展项中的开发机器的标识号组中是否有该开发机器的唯一标识号,若是则进入下一步,若不是则进入h6步骤;
h3.利用软件开发者证书中指定的摘要算法对软件进行摘要,并记录摘要顺序,将该摘要值和摘要顺序信息加入到软件证书扩展项中;
h4.利用软件开发者证书中指定的软件权限设置软件证书扩展项中的软件权限项;
h5.利用软件开发者证书的私钥对软件证书签名,生成软件证书,并将该软件证书及软件上传给软件发布商;
h6.生成软件证书出错,并提示出错原因。
本发明的有益效果是,通过上述软件证书生成方法,由于每一步都采用软件实名制,对出问题的软件责任实体明确,便于追究责任,软件实行权限控制,对安全级别低的软件或未经过专业测试的软件将限制其对系统资源的访问,经过签名的软件只能在指定的设备上使用,保护了软件发布商的权益,且为软件开发者提供签名软件的工具,但限定其权限,保护整个系统的安全。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述软件证书生成方法为:首先软件发布商自己生产私钥和证书请求文件,并将证书请求文件和软件发布商的身份证明文件提交给证书颁发机构,然后证书颁发机构根据接收到的软件发布商的身份证明文件证明软件发布商的身份合法性后,利用软件发布商提交的证书请求文件生成二级CA证书,将该二级CA证书发送给软件发布商,并赋予其受限的数字证书认证中心的权利,当软件使用者需要下载软件时,先向软件发布商提供其申请者的唯一标识号和将下载的软件标识,然后软件发布商生成签名软件证书并将该签名软件证书及软件发送给软件使用者,软件使用者再安装软件,并验证签名软件证书的合法性、有效性及软件的完整性,且在签名软件证书合法、有效且软件完整时完成软件安装,并按照签名软件证书中软件的权限赋予软件相应的权限,当软件开发者开发了软件需要上传给软件发布商进行发布时,首先软件开发者生成密钥和证书请求文件,并将证书请求文件和开发机器的标识号组提交给软件发布商,软件发布商再根据软件开发者提供的信息生成软件开发者证书,并在该软件开发者证书中限制开发者的权限,且将该软件开发者证书下发给软件开发者,并提供用于软件签名的软件,最后软件开发者根据接收到的软件开发者证书在开发机器上运行用于软件签名的软件,并将开发的软件签名后上传给软件发布商进行发布。
实施例
本例的权限包括用户权限、系统权限、受限系统权限及设备制造商权限。
首先软件发布商自己生产私钥和证书请求文件,并将证书请求文件和软件发布商的身份证明文件提交给证书颁发机构,然后证书颁发机构根据接收到的软件发布商的身份证明文件证明软件发布商的身份合法性后,利用软件发布商提交的证书请求文件生成二级CA证书,将该二级CA证书发送给软件发布商,并赋予其受限的数字证书认证中心的权利,包括签发证书、签名及加密等权利,当软件使用者需要下载软件时,先向软件发布商提供其申请者的唯一标识号和将下载的软件标识,然后软件发布商获取软件使用者申请下载的软件信息,软件信息包括软件名字、软件编号及软件版本号等,并根据获取的软件信息通过数据库查询获得该申请的软件摘要值、摘要顺序信息及软件权限信息,然后获取软件使用者的申请者的唯一标识号,再将软件摘要、摘要顺序、申请者的唯一标识号及软件权限信息加入到软件证书扩展字段,再使用软件发布商的证书私钥签名该软件证书,并与软件一起发送给软件使用者,软件使用者再安装软件,首先安装程序验证签名软件证书扩展字段中的申请者唯一标示号是否与本机的唯一标识号相同,若不是则程序出错,并提示出错原因为使用设备不合法,若是则安装程序到软件发布商和证书颁发机构获取相应的CA根证书和吊销列表,判断该签名软件证书是否有效,若不是则程序出错,并提示出错原因为软件证书无效,若是则安装程序按照签名软件证书扩展字段中的软件摘要顺序信息和相应的摘要算法,对软件进行摘要,判断该摘要值是否与签名软件证书扩展字段中的软件摘要值相同,若不是则程序出错,提示出错原因为软件不完整或已被篡改,若是则安装程序将该软件安装到该设备的指定位置,并根据签名软件证书扩展字段中的软件权限信息设置该软件的权限,完成软件安装,当软件开发者开发了软件需要上传给软件发布商进行发布时,首先软件开发者生成密钥和证书请求文件,并将证书请求文件和开发机器的标识号组提交给软件发布商,软件发布商再验证软件开发者提供的证书请求文件中的身份证明是否真实,若不是则不进行处理,若是则软件发布商在软件开发者证书扩展项中增加开发机器的标识号组及设置软件开发者生成软件证书的权限,赋予软件开发者生成软件证书的权利,再使用软件发布商的二级CA证书的私钥签名软件开发者证书,将软件开发者证书和用于软件签名的软件下发给软件开发者,然后软件开发者根据接收到的软件开发者证书及用于软件签名的软件,配置好软件开发者证书,选择要签名的软件,填入开发机器的唯一标识号,提交申请,系统验证软件开发者证书扩展项中的开发机器的标识号组中是否有该开发机器的唯一标识号,若不是则生成软件证书出错,并提示出错原因为不属于授权开发机器,若是则利用软件开发者证书中指定的摘要算法对软件进行摘要,并记录摘要顺序,将该摘要值和摘要顺序信息加入到软件证书扩展项中,再利用软件开发者证书中指定的软件权限设置软件证书扩展项中的软件权限项,然后利用软件开发者证书的私钥对软件证书签名,生成软件证书,并将该软件证书及软件上传给软件发布商。
其中,文中所述权限包括用户权限、系统权限、受限系统权限及设备制造商权限,用户权限主要包括用户数据读写,普通外设的使用,系统权限主要包括系统进程操作、设备状态转换、读写设备驱动数据等,受限系统权限主要包括网络协议控制和修改、访问受DRM保护内容、访问修改系统文件等,而设备制造商权限为对设备受保护功能进行访问和修改。
Claims (4)
1.软件证书生成方法,其特征在于,包括以下步骤:
a.软件发布商自己生产私钥和证书请求文件,并将证书请求文件和软件发布商的身份证明文件提交给证书颁发机构;
b.证书颁发机构根据接收到的软件发布商的身份证明文件证明软件发布商的身份合法性后,利用软件发布商提交的证书请求文件生成二级CA证书,将该二级CA证书发送给软件发布商,并赋予其受限的数字证书认证中心的权利,所述受限的数字证书认证中心的权利包括签发证书、签名及加密的权利;
c.软件使用者向软件发布商提供其申请者的唯一标识号和将下载的软件标识;
d.软件发布商生成签名软件证书并将该签名软件证书及软件发送给软件使用者,具体包括:
d1.软件发布商获取软件使用者申请下载的软件信息;
d2.根据获取的软件信息通过数据库查询获得该申请的软件摘要值、摘要顺序信息及软件权限信息;
d3.软件发布商获取软件使用者的申请者的唯一标识号;
d4.软件发布商将软件摘要值、摘要顺序、申请者的唯一标识号及软件权限信息加入到软件证书扩展字段;
d5.使用软件发布商的证书私钥签名该软件证书,并与软件一起发送给软件使用者;
e.软件使用者安装软件,验证签名软件证书的合法性、有效性及软件的完整性,并在签名软件证书合法、有效且软件完整时完成软件安装,并按照签名软件证书中软件的权限赋予软件相应的权限,所述软件证书中软件的权限包括用户权限、系统权限、受限系统权限及设备制造商权限,具体包括如下步骤:
e1.软件使用者开始安装软件,安装程序验证签名软件证书扩展字段中的申请者唯一标识号是否与本机的唯一标识号相同,若是则进入下一步,若不是则进入e6步骤;
e2.安装程序到软件发布商和证书颁发机构获取相应的CA根证书和吊销列表,判断该签名软件证书是否有效,若是则进入下一步,若不是则进入e6步骤;
e3.安装程序按照签名软件证书扩展字段中的软件摘要顺序信息和相应的摘要算法,对软件进行摘要,判断该摘要值是否与签名软件证书扩展字段中的软件摘要值相同,若是则进入下一步,若不是则进入e6步骤;
e4.安装程序将该软件安装到本机的指定位置;
e5.安装程序根据签名软件证书扩展字段中的软件权限信息设置该软件的权限,完成软件安装;
e6.程序出错,提示出错原因;
f.软件开发者生成密钥和证书请求文件,并将证书请求文件和开发机器的标识号组提交给软件发布商;
g.软件发布商根据软件开发者提供的信息生成软件开发者证书,并在该软件开发者证书中限制开发者的权限,且将该软件开发者证书下发给软件开发者,并提供用于软件签名的软件;
h.软件开发者根据接收到的软件开发者证书在开发机器上运行用于软件签名的软件,并将开发的软件签名后上传给软件发布商进行发布。
2.根据权利要求1所述软件证书生成方法,其特征在于,步骤d1所述软件信息包括软件名字、软件编号及软件版本号。
3.根据权利要求1所述软件证书生成方法,其特征在于,步骤g包括以下步骤:
g1.软件发布商验证软件开发者提供的证书请求文件中的身份证明是否真实,若是则进入下一步,若不是则不进行处理;
g2.软件发布商在软件开发者证书扩展项中增加开发机器的标识号组及设置软件开发者生成软件证书的权限,赋予软件开发者生成软件证书的权利;
g3.使用软件发布商的二级CA证书的私钥签名软件开发者证书,将软件开发者证书和用于软件签名的软件下发给软件开发者。
4.根据权利要求3所述软件证书生成方法,其特征在于,步骤h包括以下步骤:
h1.软件开发者根据接收到的软件开发者证书及用于软件签名的软件,配置好软件开发者证书,选择要签名的软件,填入开发机器的唯一标识号,提交申请;
h2.验证软件开发者证书扩展项中的开发机器的标识号组中是否有该开发机器的唯一标识号,若是则进入下一步,若不是则进入h6步骤;
h3.利用软件开发者证书中指定的摘要算法对软件进行摘要,并记录摘要顺序,将该摘要值和摘要顺序信息加入到软件证书扩展项中;
h4.利用软件开发者证书中指定的软件权限设置软件证书扩展项中的软件权限项;
h5.利用软件开发者证书的私钥对软件证书签名,生成软件证书,并将该软件证书及软件上传给软件发布商;
h6.生成软件证书出错,并提示出错原因。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010523088 CN101969440B (zh) | 2010-10-28 | 2010-10-28 | 软件证书生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010523088 CN101969440B (zh) | 2010-10-28 | 2010-10-28 | 软件证书生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101969440A CN101969440A (zh) | 2011-02-09 |
CN101969440B true CN101969440B (zh) | 2013-06-19 |
Family
ID=43548544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010523088 Active CN101969440B (zh) | 2010-10-28 | 2010-10-28 | 软件证书生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101969440B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102011108003B4 (de) * | 2011-07-19 | 2013-07-25 | Abb Technology Ag | Prozessleitsystem |
US20130031371A1 (en) * | 2011-07-25 | 2013-01-31 | Alcatel-Lucent Usa Inc. | Software Run-Time Provenance |
CN102300065A (zh) * | 2011-08-31 | 2011-12-28 | 四川长虹电器股份有限公司 | 基于安卓平台的智能电视软件安全认证的方法 |
CN102663320A (zh) * | 2012-04-12 | 2012-09-12 | 福建联迪商用设备有限公司 | 终端识别开发者及划分不同权限开发者的方法 |
CN104036182B (zh) * | 2013-03-04 | 2017-09-29 | 联想(北京)有限公司 | 一种信息处理方法、提示方法、服务器及电子设备 |
CN103533403B (zh) * | 2013-10-31 | 2016-07-06 | 中国科学院信息工程研究所 | 一种面向智能云电视终端的设备证书激活的实现方法 |
SG10201509221YA (en) | 2015-11-06 | 2017-06-29 | Huawei Int Pte Ltd | System and method for managing installation of an application package requiring high-risk permission access |
WO2018091093A1 (en) * | 2016-11-17 | 2018-05-24 | Huawei Technologies Co., Ltd. | Electronic device, software provisioning server and methods thereof |
CN107391967B (zh) * | 2017-07-28 | 2019-01-18 | 北京深思数盾科技股份有限公司 | 软件许可的管理方法和装置 |
CN107864038B (zh) * | 2017-10-25 | 2020-08-04 | 中国平安人寿保险股份有限公司 | 证书管理方法、装置、设备及计算机可读存储介质 |
CN109543397B (zh) * | 2018-11-22 | 2022-02-11 | 福州符号信息科技有限公司 | 一种算法库加密授权方法及系统 |
CN111526159B (zh) * | 2020-05-25 | 2022-07-05 | 普联技术有限公司 | 建立数据连接的方法、装置、终端设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1360448A (zh) * | 2000-12-20 | 2002-07-24 | 摩托罗拉公司 | 在安全环境下对移动通信装置软件进行调试和测试的方法 |
CN1719765A (zh) * | 2005-08-03 | 2006-01-11 | 武汉理工大学 | 一种安全可靠的受控授权电子签名方法 |
CN101203000A (zh) * | 2007-05-24 | 2008-06-18 | 深圳市德诺通讯技术有限公司 | 一种移动终端应用软件的下载方法及系统 |
CN101714195A (zh) * | 2009-07-22 | 2010-05-26 | 北京创原天地科技有限公司 | 一种基于数字证书的新型数字版权保护方法和装置 |
CN101827108A (zh) * | 2010-05-12 | 2010-09-08 | 清华大学 | 数字版权管理中数字化作品的权利对象描述和获取的方法 |
-
2010
- 2010-10-28 CN CN 201010523088 patent/CN101969440B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1360448A (zh) * | 2000-12-20 | 2002-07-24 | 摩托罗拉公司 | 在安全环境下对移动通信装置软件进行调试和测试的方法 |
CN1719765A (zh) * | 2005-08-03 | 2006-01-11 | 武汉理工大学 | 一种安全可靠的受控授权电子签名方法 |
CN101203000A (zh) * | 2007-05-24 | 2008-06-18 | 深圳市德诺通讯技术有限公司 | 一种移动终端应用软件的下载方法及系统 |
CN101714195A (zh) * | 2009-07-22 | 2010-05-26 | 北京创原天地科技有限公司 | 一种基于数字证书的新型数字版权保护方法和装置 |
CN101827108A (zh) * | 2010-05-12 | 2010-09-08 | 清华大学 | 数字版权管理中数字化作品的权利对象描述和获取的方法 |
Non-Patent Citations (2)
Title |
---|
分离映射机制下公钥基础设施的部署与实现;赵鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100215(第2期);正文第29页 * |
赵鹏.分离映射机制下公钥基础设施的部署与实现.《中国优秀硕士学位论文全文数据库 信息科技辑》.2010,(第2期), |
Also Published As
Publication number | Publication date |
---|---|
CN101969440A (zh) | 2011-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101969440B (zh) | 软件证书生成方法 | |
CN107231351B (zh) | 电子证件的管理方法及相关设备 | |
CN101145906B (zh) | 对单向网络中的接收终端进行合法性认证的方法及系统 | |
KR101430240B1 (ko) | 어플리케이션 서명 장치 및 방법 | |
US8898469B2 (en) | Software feature authorization through delegated agents | |
KR101571225B1 (ko) | 익명 엔티티 인증 방법 및 장치 | |
CN111224788B (zh) | 一种基于区块链的电子合同管理方法、装置及系统 | |
US8924307B2 (en) | Document authentication using electronic signature | |
US20080195868A1 (en) | Rollback-Resistant Code-Signing | |
CN109257328B (zh) | 一种现场运维数据的安全交互方法及装置 | |
CN103677892A (zh) | 在安全电子控制单元中启用特殊优先模式的授权方案 | |
JP2004259281A5 (zh) | ||
CN103886260A (zh) | 一种基于二次签名验签技术的应用程序管控方法 | |
CN103560889B (zh) | 一种x509数字证书与证书应用之间的精确化身份认证方法 | |
CN103679005A (zh) | 启用安全电子控制单元的开发模式的方法 | |
US20100211772A1 (en) | Collaborative Reconciliation of Application Trustworthiness | |
CN107994993B (zh) | 应用程序检测方法及装置 | |
CN104735054A (zh) | 数字家庭设备可信接入平台及认证方法 | |
CN102236752B (zh) | 软件安装和升级的可信度量方法 | |
CN101252432B (zh) | 一种基于域的数字权限管理方法、域管理服务器及系统 | |
KR101355077B1 (ko) | 디지털 컨텐츠의 원본 생성 및 확인 시스템과 그 방법 | |
CN106650320A (zh) | 软件证书生成方法 | |
US8646099B2 (en) | Midlet signing and revocation | |
JP5768543B2 (ja) | 電子署名システム、署名サーバ、署名者クライアント、電子署名方法、およびプログラム | |
CN103905390B (zh) | 权限获取方法、装置、电子设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |