CN101217363A - 一种通过共享密钥实现远程升级的方法 - Google Patents

一种通过共享密钥实现远程升级的方法 Download PDF

Info

Publication number
CN101217363A
CN101217363A CNA2007103045610A CN200710304561A CN101217363A CN 101217363 A CN101217363 A CN 101217363A CN A2007103045610 A CNA2007103045610 A CN A2007103045610A CN 200710304561 A CN200710304561 A CN 200710304561A CN 101217363 A CN101217363 A CN 101217363A
Authority
CN
China
Prior art keywords
software
protecting equipment
upgrade
content
upgrading
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.)
Granted
Application number
CNA2007103045610A
Other languages
English (en)
Other versions
CN100593296C (zh
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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
SHENSILUOKE DATA PROTECTION CENTER BEIJING
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 SHENSILUOKE DATA PROTECTION CENTER BEIJING filed Critical SHENSILUOKE DATA PROTECTION CENTER BEIJING
Priority to CN200710304561A priority Critical patent/CN100593296C/zh
Publication of CN101217363A publication Critical patent/CN101217363A/zh
Application granted granted Critical
Publication of CN100593296C publication Critical patent/CN100593296C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开一种通过共享密钥对软件保护装置的内容进行远程升级的方法。传统的升级方法包括将软件保护装置返回到软件开发商,升级之后再返回给用户,该方法耗时比较长。另外一种方法是用户通过互联网下载升级包,这要求软件开发商获知用户设备的特征信息以便针对不同的软件保护装置生成不同的升级包,该方法操作难度大,管理成本增加。本发明的方法是在软件开发商和其开发的不同软件保护装置分组之间共享不同的密钥;软件开发商使用共享的密钥对要升级的内容进行加密,生成升级包;软件保护装置利用共享的密钥对升级包进行解密,更新软件保护装置。通过本方法,能够简单、安全、快速地对用户的软件保护装置的内容进行升级。

Description

一种通过共享密钥实现远程升级的方法
技术领域
本发明涉及信息安全领域,尤其涉及通过共享密钥对软件保护装置的内容进行远程升级的方法。
背景技术
共享密钥,指软件开发商与其开发出的软件保护装置共享的一对密钥。
软件保护装置,指对软件进行加密保护的硬件。例如,加密锁。
远程升级,指直接在用户端更新软件保护装置的内容。
模块,指软件保护装置内具有某一特定功能的内容的集合。
硬件程序,指在软件保护装置内,提供底层控制功能的程序。
传统的对软件保护装置的内容进行升级方法是:用户将软件保护装置返回到软件开发商进行升级,再由软件开发商返回给用户,由于需要实物传递,升级过程耗时比较长,影响用户的正常使用,同时也增加软件开发商的管理成本。
还有一种比较高速有效的升级方法是:软件开发商可以通过电子邮件给用户发送软件保护装置的升级包,或者由用户到互联网上下载软件保护装置的升级包,手动或者自动地对软件保护装置进行升级。但是该方法中软件开发商需要获知用户设备的特征信息以便针对不同用户的软件保护装置生成不同的升级包,这增加了操作的难度、软件开发商的管理成本。
发明内容
本发明的目的是提供一种通过共享密钥对软件保护装置的内容进行远程升级的方法,以便能够简单、安全、快速地对用户的软件保护装置的内容进行升级,克服上述现有技术中的问题。
为达到上述目的,本发明提供了一种通过共享密钥对软件保护装置的内容进行远程升级的方法,包括下列步骤:
(1)软件开发商对软件保护装置进行分组;
(2)软件开发商在相同的软件保护装置分组中写入相同的共享密钥,不同分组的软件保护装置内的密钥不同;
(3)当软件保护装置需要升级时,软件开发商使用所述共享的密钥对要升级的内容进行加密,生成升级包;
(4)得到所述升级包之后,软件保护装置利用所述共享的密钥通过硬件程序对升级包进行解密,并用解密后的内容更新其软件保护装置的内容。
通过本发明的升级方法,软件开发商不需要针对每个不同用户的软件保护装置生成不同升级包,而只需针对不同的分组生成升级包,减少了软件开发商的管理成本,而且使得软件保护装置的升级更加快速、简单。同时,升级包是经过加密后发送的,这确保了升级包在传输过程中的安全性,并且确保只有拥有该共享密钥的软件保护装置才能解密升级包。
附图说明
图1为本发明实施例的远程升级的方法的流程图。
具体实施方式
下面结合具体实施例,对本发明内容做进一步阐述。
本实施例中的软件保护装置为用于保护PC端软件的可编程硬件,其核心为单片机或智能卡芯片,所述单片机或智能卡芯片包括中央处理单元CPU、与CPU相连的存储器和接口控制芯片。CPU可以采用任意的,如Intel MCS8051、Philips 80C31等微处理器。存储器可以采用RAM、ROM、EEPROM、Flash或上述处理器的组合。接口控制芯片可以是USB控制芯片、firewire控制芯片等。硬件程序、用户可执行代码及数据存放在存储器中。PC端包括被保护的软件,硬件驱动及访问硬件的应用层API。PC端通过外部总线,如USB总线,软件保护装置中的接口控制芯片,如USB控制芯片,与连接到PC的软件保护装置通信。
具体来说,升级过程如下:
软件开发商端:
软件开发商对软件保护装置进行分组(S101)。
所述分组的规则视开发商需求策略决定,例如,用于保护不同版本软件的软件保护装置分成不同的组。
在本实施例中,软件开发商根据软件功能将PC端软件分为A、B两个版本:A版(完全版)具有软件全部功能、B版(评估版)具有软件一部分功能。
根据PC端软件的版本不同,软件保护装置也相应的分为A、B两个组。现假设软件开发商要升级A版本PC端软件,相应的A组软件保护装置也需要升级。
软件开发商和软件保护装置之间共享一对密钥(S102)。
同一分组的软件保护装置内的密钥相同,不同分组的软件保护装置内的密钥不同。软件开发商在初始化软件保护装置时,与A组软件保护装置共享A组的密钥,与B组软件保护装置共享B组的密钥。
软件开发商对要升级的内容进行加密,生成升级包(S103)。
对于本实施例的软件保护装置,可升级的内容为存储器中存放的可执行代码或数据。
所述升级包中除了包含要升级的内容,还可以包含对升级进行描述的信息。所述对升级进行描述的信息,是指升级过程需要用到的信息,如,对升级模块、升级位置的描述。
所述升级包中还可以包含对升级内容的授权,即对升级内容的使用限制,如使用时间、次数、范围。
本实施例采用DES算法对升级的内容和授权进行加密,所述授权包括对使用时间的限制。
此外,加密可以使用公开的加密算法,包括对称加密算法(如DES、TDES、AES算法)、非对称加密算法(如RSA算法)、混合加密算法,或使用开发商自己实现的保密算法。
在本实施例中,如果要对A组软件保护装置进行升级,软件开发商将待升级的数据用A组的密钥加密。Data表示待升级的内容,例如待更新的可执行代码或数据;KA表示A组的密钥。则加密后的待升级内容的密文S为:
S = E K A ( Data )
其中,E表示DES加密运算,下标KA表示使用密钥KA。密文S即为升级包。
然后,软件开发商将S发送给用户。
用户端:
软件保护装置对升级包进行解密,更新软件保护装置(S104)。
用户将软件开发商发来的升级包S,通过PC端的升级程序,传送到软件保护装置中。
软件保护装置中的硬件程序利用共享的A组的密钥通过DES算法将S解密得到明文:
Data 1 = D K A ( S )
其中,D表示DES解密运算,下标KA表示使用密钥KA
由于软件保护装置中与软件开发商共享同一密钥KA,所以Data1与Data完全相同。软件保护装置获得待升级的内容。
硬件程序利用Data1更新软件保护装置中的内容,例如存储器中的可执行代码或数据。
至此,升级成功完成,用户现在可以使用升级后的软件。
另一方面,B组用户不能使用升级包S升级其软件保护装置。
假设使用B软件的用户通过某种途径得到了升级包S,用同样的PC端的升级程序,传送到软件保护装置中。
由于B组软件保护装置中共享的是B组的密钥,表示为:KB。则硬件程序将S用DES算法解密得到明文:
Data 2 = D K B ( S )
由于解密使用的密钥KB与加密使用的密钥KA不相同,所以Data2与正确的升级数据Data不相同。
升级后的软件保护装置不能和升级后的PC端软件相匹配。B组软件的用户不能够使用升级后的软件。这就确保只有A组软件的用户得到升级。
显然,本领域的技术人员可以对本发明的方法进行各种改变而不脱离本发明的精神范围。因此如果这些改变属于本发明权利要求书及其等同技术范围内,则本发明也意图涵盖这些改变。

Claims (10)

1.一种通过共享密钥对软件保护装置的内容进行远程升级的方法,包括下列步骤:
(1)软件开发商对软件保护装置进行分组;
(2)软件开发商在相同的软件保护装置分组中写入相同的共享密钥,不同分组的软件保护装置内的密钥不同;
(3)当软件保护装置需要升级时,软件开发商使用所述共享的密钥对要升级的内容进行加密,生成升级包;
(4)得到所述升级包之后,软件保护装置利用所述共享的密钥通过硬件程序对升级包进行解密,并用解密后的内容更新软件保护装置的内容。
2.如权利要求1所述的远程升级的方法,其特征在于:
软件开发商在初始化软件保护装置时,在软件保护装置中写入共享的密钥。
3.如权利要求1所述的远程升级的方法,其特征在于:
所述分组的确定由开发商根据需求策略决定。
4.如权利要求1所述的远程升级的方法,其特征在于:
所述共享密钥可以是任意加密算法所使用的密钥。
5.如权利要求1所述的远程升级的方法,其特征在于:
所述升级包中包含要升级的内容,还可以包含对升级进行描述的信息,即指升级过程需要用到的信息。
6.如权利要求1所述的远程升级的方法,其特征在于:
升级包中还可以包含对升级内容的授权,即对升级内容的使用限制。
7.如权利要求3所述的远程升级的方法,其特征在于:
所述需求策略包括对用于保护不同版本软件的软件保护装置的需求。
8.如权利要求4所述的远程升级的方法,其特征在于:
所述加密算法包括:对称加密算法、非对称加密算法、混合加密算法,或软件开发商自己实现的保密算法。
9.如权利要求5所述的远程升级的方法,其特征在于:
所述对升级进行描述的信息包括对升级模块、升级位置的描述。
10.如权利要求6所述的远程升级的方法,其特征在于:
所述使用限制包括使用时间、次数、范围。
CN200710304561A 2007-12-28 2007-12-28 一种通过共享密钥实现远程升级的方法 Active CN100593296C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710304561A CN100593296C (zh) 2007-12-28 2007-12-28 一种通过共享密钥实现远程升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710304561A CN100593296C (zh) 2007-12-28 2007-12-28 一种通过共享密钥实现远程升级的方法

Publications (2)

Publication Number Publication Date
CN101217363A true CN101217363A (zh) 2008-07-09
CN100593296C CN100593296C (zh) 2010-03-03

Family

ID=39623730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710304561A Active CN100593296C (zh) 2007-12-28 2007-12-28 一种通过共享密钥实现远程升级的方法

Country Status (1)

Country Link
CN (1) CN100593296C (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012019395A1 (zh) * 2010-08-11 2012-02-16 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
CN101741894B (zh) * 2008-11-26 2012-09-19 ***通信集团公司 一种分布式***的升级方法、升级调度节点及***
CN104486355A (zh) * 2014-12-30 2015-04-01 大连楼兰科技股份有限公司 防止代码被恶意篡改的方法和装置
CN107797817A (zh) * 2017-03-13 2018-03-13 平安科技(深圳)有限公司 应用更新方法和装置
CN108235807A (zh) * 2018-01-15 2018-06-29 福建联迪商用设备有限公司 软件加密终端、支付终端、软件包加密及解密方法及***
CN105404534B (zh) * 2015-11-27 2018-11-23 北京京仪绿能电力***工程有限公司 一种逆变器软件在线远程维护方法
CN112134911A (zh) * 2019-06-25 2020-12-25 联合汽车电子有限公司 一种远程程序升级方法、装置和介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026830A (zh) * 2016-02-02 2017-08-08 上海格尔软件股份有限公司 一种应用程序自动升级的安全方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741894B (zh) * 2008-11-26 2012-09-19 ***通信集团公司 一种分布式***的升级方法、升级调度节点及***
WO2012019395A1 (zh) * 2010-08-11 2012-02-16 中兴通讯股份有限公司 版本升级软件包的打包方法及装置
US8726265B2 (en) 2010-08-11 2014-05-13 Zte Corporation Apparatus and method for packing a software package of version upgrade
CN104486355A (zh) * 2014-12-30 2015-04-01 大连楼兰科技股份有限公司 防止代码被恶意篡改的方法和装置
CN105404534B (zh) * 2015-11-27 2018-11-23 北京京仪绿能电力***工程有限公司 一种逆变器软件在线远程维护方法
CN107797817A (zh) * 2017-03-13 2018-03-13 平安科技(深圳)有限公司 应用更新方法和装置
CN107797817B (zh) * 2017-03-13 2021-02-19 平安科技(深圳)有限公司 应用更新方法和装置
CN108235807A (zh) * 2018-01-15 2018-06-29 福建联迪商用设备有限公司 软件加密终端、支付终端、软件包加密及解密方法及***
CN108235807B (zh) * 2018-01-15 2020-08-04 福建联迪商用设备有限公司 软件加密终端、支付终端、软件包加密及解密方法及***
CN112134911A (zh) * 2019-06-25 2020-12-25 联合汽车电子有限公司 一种远程程序升级方法、装置和介质

Also Published As

Publication number Publication date
CN100593296C (zh) 2010-03-03

Similar Documents

Publication Publication Date Title
EP3583740B1 (en) Data owner restricted secure key distribution
CN100593296C (zh) 一种通过共享密钥实现远程升级的方法
EP3387813B1 (en) Mobile device having trusted execution environment
CN109074449B (zh) 在安全飞地中灵活地供应证明密钥
US8677144B2 (en) Secure software and hardware association technique
KR101317496B1 (ko) 전송 데이터를 보호하기 위한 방법 및 이 방법을 구현하기 위한 보안 시스템
EP2856695B1 (en) A method and system for transferring firmware or software to a plurality of devices
CN101404576B (zh) 一种网络资源查询方法和***
US10680816B2 (en) Method and system for improving the data security during a communication process
US9116841B2 (en) Methods and systems for securely transferring embedded code and/or data designed for a device to a customer
CN102467634B (zh) 软件授权***及方法
RU2010114241A (ru) Многофакторная защита контента
CN204360381U (zh) 移动设备
CN109067528A (zh) 密码运算、创建工作密钥的方法、密码服务平台及设备
CN102932349A (zh) 一种数据传输方法、装置及***
CN113346997B (zh) 用于物联网设备通信的方法及装置、物联网设备、服务器
US20130174282A1 (en) Digital right management method, apparatus, and system
EP3602368B1 (en) Hardware trusted data communications over system-on-chip (soc) architectures
CN101256607A (zh) 一种对软件保护装置进行远程更新和使用控制的方法
US10841287B2 (en) System and method for generating and managing a key package
CN101140610A (zh) 使用drm卡的内容解密方法
CN111316596A (zh) 具有身份验证的加密芯片
US20120321088A1 (en) Method And System For The Accelerated Decryption Of Cryptographically Protected User Data Units
CN102831357A (zh) 二次开发嵌入式应用程序的加密和认证保护的方法及***
CN112069535A (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
ASS Succession or assignment of patent right

Owner name: BEIJING SHENSI SHUDUN SCIENCE + TECHNOLOGY CO., LT

Free format text: FORMER OWNER: BEIJING SENSELOCK SOFTWARE TECHNOLOGY CO., LTD.

Effective date: 20150114

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100086 HAIDIAN, BEIJING TO: 100872 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20150114

Address after: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee after: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

Address before: 100086 Beijing City, Haidian District Zhongguancun South Street No. 6 Zhucheng building block B room 1201

Patentee before: Beijing Senselock Software Technology Co.,Ltd.

C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193 Beijing, Haidian District, East West Road, No. 10, East Hospital, building No. 5, floor 5, layer 510

Patentee after: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

Address before: 100872 room 1706, building 59, Zhongguancun street, Haidian District, Beijing

Patentee before: BEIJING SHENSI SHUDUN TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder

Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee after: Beijing Shendun Technology Co.,Ltd.

Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing

Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder