CN101290648A - 一种对软件的正版性进行远程验证的方法 - Google Patents

一种对软件的正版性进行远程验证的方法 Download PDF

Info

Publication number
CN101290648A
CN101290648A CNA2008101119455A CN200810111945A CN101290648A CN 101290648 A CN101290648 A CN 101290648A CN A2008101119455 A CNA2008101119455 A CN A2008101119455A CN 200810111945 A CN200810111945 A CN 200810111945A CN 101290648 A CN101290648 A CN 101290648A
Authority
CN
China
Prior art keywords
software
legal
remote server
authentication module
data
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
CNA2008101119455A
Other languages
English (en)
Other versions
CN101290648B (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 CN2008101119455A priority Critical patent/CN101290648B/zh
Publication of CN101290648A publication Critical patent/CN101290648A/zh
Application granted granted Critical
Publication of CN101290648B publication Critical patent/CN101290648B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种远程验证软件正版性的技术方法。本发明通过在软件保护装置中增加一个正版验证模块,并架设一个远程验证服务器,可以在没有客户信息数据库的情况下对软件的正版性进行验证。由于验证的过程不要求客户进行注册,因此实施非常简便但可靠性远远高于现有的验证方法,有效防止对最终用户欺骗行为的发生。

Description

一种对软件的正版性进行远程验证的方法
技术领域
本发明涉及软件保护技术,特别涉及一种远程对软件的正版性进行验证的方法。
背景技术
使用软件保护装置是实现软件安全保护和版权保护的主要手段。装置中存储着软件的使用许可,例如决定软件是否可以被使用,那些模块被使用等等。软件保护装置特指一种附加在计算机接口(比如,USB接口、串口、并口等接口)上的硬件设备,对运行在计算机上的特定的软件进行软件安全保护和版权保护。现代的软件保护装置,例如USB加密锁,采用高强度智能卡芯片和先进的密码学技术,具有一定的运算和存储能力,同时难以被破解和复制,在高强度软件版权保护中具有广泛的应用。
为了最大程度保护软件不被盗版,最先进的软件保护装置采用了代码移植的功能,即允许软件开发商将软件的一部分功能移植到软件保护装置内部去执行。因为软件保护装置本身为一种高度安全的设备,例如采用了智能卡芯片,所以硬件本身几乎不可能被复制,而其中保存的被移植的软件功能也不可能被读出来。这样,只要破解者不能成功猜出软件保护装置内部的移植代码,就不可能让软件离开软件保护装置而独立运行,从而保护软件不被盗版。
但是,并非所有软件开发商都能充分使用软件保护装置的先进功能,要么是因为开发商在加密过程中所采用的技术含量较低,要么开发商的软件本身不适合采用高强度的加密。在一些情况下,软件开发商的软件可能被破解,盗版者可以制作出与软件开发商外观极为相似甚至完全相同的盗版软件保护装置,并进行非法销售。这种方式已经成为商业软件领域中最普遍的盗版形式,由于利益的驱使,软件开发商的代理商也往往加入到销售盗版的队伍中来。
蒙受损失的不仅仅是软件开发商,最终用户因此所蒙受的损失更大:最终用户经常花费了正版软件的成本结果购买了盗版软件。一方面绝大多数软件没有实现实名注册,即便有注册过程软件其注册信息也往往是虚假的,另一方面销售盗版的角色往往是合法代理或者最终用户无法鉴别的仿冒代理,所以最终用户通常很难鉴别自己所购买的软件是否为正版。
发明内容
为了解决上述问题,本发明提出了一种远程对软件正版性进行验证的方法。通过在软件保护装置中增加一个正版验证模块,并架设一个远程验证服务器,用户可以自行对所购买的软件进行正版性验证,防止购买假冒盗版产品。
根据本发明的一个方面,提供一种对软件的正版性进行远程验证的方法,其特征在于,该方法包括步骤:
(1)将软件保护装置与本地计算机相连接;
(2)本地计算机上运行的软件与远程服务器通过网络连接;
(3)通过正版验证模块对远程服务器作出响应;
(4)远程服务器验证响应结果,确定软件是否为正版。
根据本发明的一个方面,其特征还在于,在步骤(3)中,通过正版验证模块对远程服务器的挑战作出响应。
根据本发明的一个方面,其特征还在于,在步骤(3)中,正版验证模块接受远程服务器发来的挑战数据,对挑战数据作出响应。
根据本发明的一个方面,其特征还在于,所述的挑战数据是随机数或者不重复的数据。
根据本发明的一个方面,其特征还在于,不重复的数据是时间戳。
根据本发明的一个方面,其特征还在于,对应的响应过程是:对挑战数据进行密码学运算处理。
根据本发明的一个方面,其特征还在于,处理算法包括:数字签名、计算MAC验证码、对数据进行加密运算。
根据本发明的一个方面,其特征还在于,对应的服务器验证过程为:对正版验证模块计算出来的响应进行验证,如果验证正确则认为软件为正版。
根据本发明的一个方面,其特征还在于,验证方法与正版验证模块所采用的密码学处理算法相对应。
根据本发明的一个方面,其特征还在于,远程服务器与正版验证模块所使用的密码学算法的密钥是相同的或者成对的。
根据本发明的一个方面,其特征还在于,在步骤(2)中,本地计算机与远程服务器之间的连接采用C/S结构或者B/S结构。
附图说明
图1为本发明的示意图。
图2为根据本发明的一种实施方式的流程图。
具体实施方式
本发明中的软件保护装置功能模块为对软件实现保护的模块,例如深思洛克精锐系列产品的代码移植功能模块。软件保护装置的功能模块分为多种,都属于行业内成熟和公开的技术。
本发明的具体验证过程为:
A、用户将软件保护装置连接到本地计算机上;
B、本地运行的软件与远程服务器进行连接,通过正版验证模块来对远程服务器的挑战(challenge)作出响应;
C、远程服务器验证响应结果,确定软件是否为正版。
其中,所述的正版验证模块可以是一个专用的硬件模块,也可以是软件保护程序中的一段固件代码。在步骤B中正版验证模块完成的功能为:接受远程服务器发来的挑战数据,对挑战数据作出响应。
所述的挑战数据可以是一个随机数,也可以是一段不会重复的数据,如时间戳。
对应的响应过程为:对挑战数据进行密码学运算处理。处理算法包括:数字签名、计算MAC验证码、对数据进行加密运算。
对应的服务器验证过程为:对正版验证模块计算出来的响应进行验证,如果验证正确则认为软件为正版。验证方法与正版验证模块所采用的密码学处理算法相对应。
远程服务器与正版验证模块所使用的密码学算法的密钥是相同的或者成对的,能够实现互相验证的目标。
步骤B中,本地与远程服务器之间的连接既可以采用C/S结构,也可以采用B/S结构。
下面结合附图对本发明的具体实施例进行详细描述。
本实施例中,软件保护装置中包含一对专用的RSA密钥,其中私钥Kr被软件保护装置中的正版验证模块所使用,用于对远程服务器所发出的挑战数据进行数字签名。公钥Kp远程服务器保留有备份,用于对数字签名进行验证。
所述的正版模块为一段固件程序代码,可以通过命令的方式被访问。代码的功能为接收一段定长的数据,并对数据进行数字签名。
本实施例中远程服务器提供Web服务,即验证过程为B/S架构。
参考图2,本实施例的具体操作步骤为:
步骤101:将软件保护装置连接到本地计算机上,启动浏览器软件连接远程验证服务器;
步骤102:如果用户为首次使用,可能需要下载相关的控件以实现对软件保护装置的访问;否则直接跳入步骤103;
步骤103:远程服务器将当前的服务器时间组成时间戳,格式为8字节时间数据格式,将时间戳发送给用户浏览器;
步骤104:浏览器通过控件调用软件保护装置中的正版验证模块,将时间戳传入正版验证模块要求计算响应;
步骤105:正版验证模块利用Kr对时间戳进行数字签名处理,将签名结果返回给浏览器作为响应数据;
步骤106:浏览器将响应数据发送给远程服务器;
步骤107:远程服务器利用Kp对响应结果进行验证,如果验证通过则在浏览器上显示正版信息,否则显示为盗版。
由于软件保护装置的不可复制性,所以盗版者即使能够破解软件使之正常运行,但无法得到有效的RSA私钥Kr,所以盗版软件保护装置不可能通过正版验证。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。

Claims (11)

1、一种对软件的正版性进行远程验证的方法,其特征在于,该方法包括步骤:
(1)将软件保护装置与本地计算机相连接;
(2)本地计算机上运行的软件与远程服务器通过网络连接;
(3)通过正版验证模块对远程服务器作出响应;
(4)远程服务器验证响应结果,确定软件是否为正版。
2、根据权利要求1所述的方法,其特征在于,在步骤(3)中,通过正版验证模块对远程服务器的挑战作出响应。
3、根据权利要求2所述的方法,其特征在于,在步骤(3)中,正版验证模块接受远程服务器发来的挑战数据,对挑战数据作出响应。
4、根据权利要求3所述的方法,其特征在于,所述的挑战数据是随机数或者不重复的数据。
5、根据权利要求4所述的方法,其特征在于,不重复的数据是时间戳。
6、根据权利要求1-5所述的任一方法,其特征在于,对应的响应过程是:对挑战数据进行密码学运算处理。
7、根据权利要求6所述的方法,其特征在于,处理算法包括:数字签名、计算MAC验证码、对数据进行加密运算。
8、根据权利要求1-5所述的任一方法,其特征在于,对应的服务器验证过程为:对正版验证模块计算出来的响应进行验证,如果验证正确则认为软件为正版。
9、根据权利要求8所述的方法,其特征在于,验证方法与正版验证模块所采用的密码学处理算法相对应。
10、根据权利要求9所述的方法,其特征在于,远程服务器与正版验证模块所使用的密码学算法的密钥是相同的或者成对的。
11、根据权利要求1所述的方法,其特征在于,在步骤(2)中,本地计算机与远程服务器之间的连接采用C/S结构或者B/S结构。
CN2008101119455A 2008-05-19 2008-05-19 一种对软件的正版性进行远程验证的方法 Expired - Fee Related CN101290648B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101119455A CN101290648B (zh) 2008-05-19 2008-05-19 一种对软件的正版性进行远程验证的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101119455A CN101290648B (zh) 2008-05-19 2008-05-19 一种对软件的正版性进行远程验证的方法

Publications (2)

Publication Number Publication Date
CN101290648A true CN101290648A (zh) 2008-10-22
CN101290648B CN101290648B (zh) 2010-09-08

Family

ID=40034901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101119455A Expired - Fee Related CN101290648B (zh) 2008-05-19 2008-05-19 一种对软件的正版性进行远程验证的方法

Country Status (1)

Country Link
CN (1) CN101290648B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980234A (zh) * 2010-10-19 2011-02-23 北京深思洛克软件技术股份有限公司 一种生成信息安全设备客户数据的方法
CN105656704A (zh) * 2014-11-12 2016-06-08 腾讯数码(天津)有限公司 页面异常检测方法、装置及系统
CN107835162A (zh) * 2017-10-18 2018-03-23 北京深思数盾科技股份有限公司 软件数字许可服务器签发软件数字许可权限的方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101980234A (zh) * 2010-10-19 2011-02-23 北京深思洛克软件技术股份有限公司 一种生成信息安全设备客户数据的方法
CN101980234B (zh) * 2010-10-19 2012-07-11 北京深思洛克软件技术股份有限公司 一种生成信息安全设备客户数据的方法
CN105656704A (zh) * 2014-11-12 2016-06-08 腾讯数码(天津)有限公司 页面异常检测方法、装置及系统
CN105656704B (zh) * 2014-11-12 2020-02-18 腾讯数码(天津)有限公司 页面异常检测方法、装置及系统
CN107835162A (zh) * 2017-10-18 2018-03-23 北京深思数盾科技股份有限公司 软件数字许可服务器签发软件数字许可权限的方法

Also Published As

Publication number Publication date
CN101290648B (zh) 2010-09-08

Similar Documents

Publication Publication Date Title
CN100342296C (zh) 基于可信计算模块芯片实现计算机软件防盗版的方法
US6343280B2 (en) Distributed execution software license server
JP4073913B2 (ja) 開放型汎用耐攻撃cpu及びその応用システム
EP1224516B1 (en) Trusted computing platform for restricting use of data
US6889209B1 (en) Method and apparatus for protecting information and privacy
US8930705B1 (en) System and method for authenticating remote execution
US20020083318A1 (en) Method and system for software integrity control using secure hardware assist
CN105303069B (zh) 一种数字版权管理系统及方法
CN108399329A (zh) 一种提高可信应用程序安全的方法
CN103164643B (zh) 一种通过硬件进行反调试的方法和装置
KR20130114593A (ko) 전자 라이센스 관리
CN101305333A (zh) 防篡改可信任虚拟机
CN101002421A (zh) 数字许可证共享系统和方法
US20010033657A1 (en) Method and systems for identifying the existence of one or more unknown programs in a system
CN104246698A (zh) 弹性操作系统电脑
CN102495982A (zh) 一种基于进程线程的防拷贝系统和防拷贝存储介质
CN108229210A (zh) 一种保护数据的方法、终端及计算机可读存储介质
CN101290648B (zh) 一种对软件的正版性进行远程验证的方法
CN104361280B (zh) 一种通过smi中断实现对usb存储设备进行可信认证的方法
CN104077502A (zh) 一种软加密方式的软件保护方法
CN102842000A (zh) 通用软件注册系统的实现方法
CN101286987A (zh) 一种转移软件授权许可的方法
KR20140011021A (ko) 안드로이드 플랫폼 기반의 어플리케이션의 무단복제 방지 및 최초 복제 추적을 위한 디지털 워터마킹 삽입 방법
AU2017201171A1 (en) Electronic license management
CN105141623A (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: 20150119

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: 20150119

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.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

CF01 Termination of patent right due to non-payment of annual fee