CN112579989B - 网络服务软件反盗版方法 - Google Patents

网络服务软件反盗版方法 Download PDF

Info

Publication number
CN112579989B
CN112579989B CN202011536156.3A CN202011536156A CN112579989B CN 112579989 B CN112579989 B CN 112579989B CN 202011536156 A CN202011536156 A CN 202011536156A CN 112579989 B CN112579989 B CN 112579989B
Authority
CN
China
Prior art keywords
network service
service software
software
maintenance center
code
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
Application number
CN202011536156.3A
Other languages
English (en)
Other versions
CN112579989A (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.)
Hangzhou Ansiyuan Technology Co ltd
Original Assignee
Hangzhou Ansiyuan Technology Co ltd
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 Hangzhou Ansiyuan Technology Co ltd filed Critical Hangzhou Ansiyuan Technology Co ltd
Priority to CN202011536156.3A priority Critical patent/CN112579989B/zh
Publication of CN112579989A publication Critical patent/CN112579989A/zh
Application granted granted Critical
Publication of CN112579989B publication Critical patent/CN112579989B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了网络服务软件反盗版方法。本发明方法通过网络服务软件的生产方法、部分加密方法、运维方法、注册方法、网络服务软件验证方法、终端APP绑定网络服务软件验证方法实现。服务网络服务软件生产时创建初始公私钥对,计算得到序列码,作为特征码和启动密钥。预置特征码和初始私钥后得到发布版软件,将关键部分用启动密钥后替换原来关键部分,作为交付版软件。网络服务软件采集本地服务器的特征信息,加密后发送给运维中心申请注册,运维中心解密后验证合法性,验证通过后成为能够正常工作的发布版网络服务软件。本发明方法实现了服务器溯源、强制在线注册、证书绑定验证以及终端APP反向验证,有效提高了网络服务软件反盗版能力。

Description

网络服务软件反盗版方法
技术领域
本发明属于计算机技术领域,具体涉及一种网络服务软件反盗版方法。
背景技术
网络服务软件产品是以商品形式将网络服务器本身出让给客户,由客户自己部署运行,并向其终端用户提供网络服务的一种软件产品形态。网络服务软件的供应商本身不向终端用户提供网络服务,而是将网络服务软件出售给计划向终端用户提供该网络服务软件所具备的服务能力的客户。供应商的收益来自客户购买网络服务软件产品,而客户可以通过向终端用户提供网络服务获得收益。
目前,网络服务软件的盗版问题已经引起众多软件供应商的广泛关注。与传统的应用软件不同,网络服务软件客户数不会太大,但是一款优秀的网络服务软件可能为数以千万计的终端用户提供服务。因此网络服务软件产品通常价格较高,由此也成为软件盗版的热点目标。
目前大多数反盗版方案都是在软件产品注册和发布的阶段对网络服务软件本身的合法性进行验证。考虑到网络服务软件产品具有随时在线、需要专业的运维进行后台支持、终端用户通常使用专门的终端APP等特点。
发明内容
本发明的目的就是提供一种网络服务软件反盗版方法。
本发明方法通过网络服务软件的生产方法、部分加密方法、运维方法、注册方法、网络服务软件验证方法、终端APP绑定网络服务软件验证方法实现。
所述的生产方法具体是:
服务网络服务软件生产时,首先为当前产品创建初始公私钥对(PKt,SKt),然后生成产品描述码PD=[V,T,N,R];其中,V是当前软件产品的版本号,T是软件生产商运维系统的时统提供的当前时间戳,N是当前软件产品的编号,R为预留字段;以上所有字段的长度不可变;
然后,利用安全杂凑算法H计算产品的序列码SN=H(k|PD|k);其中,k为产品发布主密钥,由软件生产商安全持有并维护;取序列码SN的前l1个比特进行编码,作为当前产品的特征码s,取后l2个比特作为产品的启动密钥k0;l1+l2=l,l为序列码SN长度;
将待编译的网络服务软件源码中的特征码占位字符串用特征码s替换,同时在源码中预置当前产品的初始私钥SKt,编译网络服务软件源码后得到正式的发布版网络服务软件。
所述的部分加密方法具体是:
针对选取的发布版网络服务软件中独立的关键部分P,利用对称加密算法C用启动密钥k0加密得到P′,并替换P,作为交付版网络服务软件;交付版网络服务软件以及特征码s、产品描述码PD、初始公钥PKt、数字信封E(PKt,k0)由运维中心统一保存,数字信封E(PKt,k0)表示用PKt对k0进行公钥加密。
所述的运维方法具体是:
运维中心在销售确认并正确采集客户信息后,将准备销售给客户的交付版网络服务软件所对应特征码s、产品描述码PD以及客户信息入库存档,运维中心将自己的公钥PK嵌入交付版网络服务软件中,然后将交付版网络服务软件安装部署到客户服务器或交给客户自行部署;
网络服务软件首次运行时,在软件版权声明中显示该版本的特征码s,用户确认后,网络服务软件转到注册过程。
所述的注册方法具体是:
网络服务软件采集本地服务器的特征信息f,通过安全杂凑算法H计算摘要α=H(f|s|t),其中t是服务器当前的本地时间戳;网络服务软件将f,s,t,
Figure BDA0002853529830000021
通过PK加密后发送给运维中心注册申请,
Figure BDA0002853529830000022
表示用SKt对α进行签名;运维中心收到注册申请后,用自己的私钥SK解密,得到f,s,t,
Figure BDA0002853529830000023
然后验证时间戳和签名
Figure BDA0002853529830000024
的合法性:若时间戳超时或签名错误则验证失败,断开连接,拒绝注册;若验证通过,则运维中心为网络服务软件生成工作授权证书;运维中心将用户的数字信封E(PKt,k0)和工作授权证书发送给网络服务软件;网络服务软件收到工作授权证书后,用初始私钥SKt解密得E(PKt,k0)到启动密钥k0,然后用k0解密P′恢复被加密的关键部分P,得到可以正常工作的发布版网络服务软件。
所述的网络服务软件验证方法具体是:
在网络服务软件获得授权并正常工作后,所有与运维中心的交互消息都需要附加特征码s,运维中心随机检测与网络服务软件之间交互消息中的特征码s的正确性,如果检测到s不正确,则进入警示状态。
所述的终端APP绑定网络服务软件验证方法具体是:
网络服务软件对应的终端APP注册加入或重新登录网络服务软件时,服务器向终端APP出示自己的工作授权证书;终端APP利用预置的运维中心的证书公钥验证网络服务软件工作授权证书的有效性,如果验证不通过,则终端APP拒绝加入该服务器,同时向运维中心提交异常报告;终端APP定期连接运维中心,连接时向运维中心提交其当前所登录的网络服务软件的授权证书副本和IP地址。
本发明方法实现了服务器溯源、强制在线注册、证书绑定验证以及终端APP反向验证,有效提高了网络服务软件反盗版能力。
具体实施方式
网络服务软件反盗版方法,该方法适用场景:软件供应商生产网络服务软件产品以及专用终端APP;软件供应商同时构建运维中心,负责产品的销售、注册、监测及售后服务。生产过程与运维过程分离,生产过程可以批量预产并提交运维中心,也可以由运维中心获取客户需求后,采取订单式生产。
该方法通过网络服务软件的生产方法、部分加密方法、运维方法、注册方法、网络服务软件验证方法、终端APP绑定网络服务软件验证方法实现。
生产方法具体是:
服务网络服务软件生产时,首先为当前产品创建初始公私钥对(PKt,SKt),然后生成产品描述码PD=[V,T,N,R];其中,V是当前软件产品的版本号,T是软件生产商运维系统的时统提供的当前时间戳,N是当前软件产品的编号,R为预留字段;以上所有字段的长度不可变,每个字段的具体长度根据实际应用情况确定。
然后,利用安全杂凑算法H计算产品的序列码SN=H(k|PD|k);其中,k为产品发布主密钥,由软件生产商安全持有并维护,主密钥可(定期或按版本)更新。序列码SN长度为256比特,取其前60个比特进行BASE32编码,得到长度为12字节的字符串,记为XXXX-XXXX-XXXX,该字符串作为当前产品的特征码s,取SN尾部的128比特作为产品的启动密钥k0
软件生产商将待编译的网络服务软件源码中的特征码占位字符串用特征码s替换,同时在源码中预置当前产品的初始私钥SKt,然后编译网络服务软件源码,得到正式的发布版网络服务软件。
部分加密方法具体是:
软件生产商针对选取的发布版网络服务软件中独立的关键部分P,利用对称加密算法C用启动密钥k0加密得到P′,并替换P,作为交付版网络服务软件。代码P在网络服务软件注册成功之前不会使用,但是会影响网络服务软件注册成功后某些重要功能的正常运行。交付版网络服务软件以及特征码s、产品描述码PD、初始公钥PKt、数字信封E(PKt,k0)由运维中心统一保存,数字信封E(PKt,k0)表示用PKt对k0进行公钥加密。
运维方法具体是:
运维中心在销售确认并正确采集客户信息后,将准备销售给客户的交付版网络服务软件所对应特征码s、产品描述码PD以及客户信息入库存档,运维中心将自己的公钥PK嵌入交付版网络服务软件中,然后将交付版网络服务软件安装部署到客户服务器或交给客户自行部署。
网络服务软件首次运行时,在软件版权声明中显示该版本的特征码s,用户确认后,网络服务软件转到注册过程。
注册方法具体是:
网络服务软件采集本地服务器的特征信息f(包括:服务器CPU序列号、BIOS序列号、硬盘序列号、网络适配器的MAC地址、部署的IP地址等),然后通过安全杂凑算法H计算摘要α=H(f|s|t),其中t是服务器当前的本地时间戳;网络服务软件将f,s,t,
Figure BDA0002853529830000041
通过PK加密后发送给运维中心注册申请,
Figure BDA0002853529830000042
表示用SKt对α进行签名。
运维中心收到注册申请后,用自己的私钥SK解密,得到f,s,t,
Figure BDA0002853529830000043
然后验证时间戳和签名
Figure BDA0002853529830000044
的合法性:若时间戳超时或签名错误则验证失败,断开连接,拒绝注册;若验证通过,则运维中心为网络服务软件生成工作授权证书,该工作授权证书中包含授权时间、授权用户数量、客户的注册信息等。运维中心将用户的数字信封E(PKt,k0)和工作授权证书发送给网络服务软件。
网络服务软件收到工作授权证书后,用初始私钥SKt解密得E(PKt,k0)到启动密钥k0,然后用k0解密P′恢复被加密的关键部分P,得到可以正常工作的发布版网络服务软件。
网络服务软件验证方法具体是:
为了对网络服务软件的合法性进行持续监测,在网络服务软件获得授权并正常工作后,所有与运维中心的交互消息中,需要附加特征码s,运维中心随机检测与网络服务软件之间交互消息中的特征码s的正确性,如果检测到s不正确,则进入警示状态。
终端APP绑定网络服务软件验证方法具体是:
网络服务软件对应的终端APP注册加入或重新登录网络服务软件时,服务器向终端APP出示自己的工作授权证书。
终端APP利用预置的运维中心的证书公钥验证网络服务软件工作授权证书的有效性,如果验证不通过,则终端APP拒绝加入该服务器,同时向运维中心提交异常报告。由于终端APP的更新周期较短,所以其预置公钥以及验证算法被破解的可能性较小。
终端APP定期连接运维中心,连接时向运维中心提交其当前所登录的网络服务软件的授权证书副本和IP地址等信息。

Claims (3)

1.网络服务软件反盗版方法,该方法通过网络服务软件的生产方法、部分加密方法、运维方法、注册方法、网络服务软件验证方法和终端APP绑定网络服务软件验证方法实现,其特征在于:
所述的生产方法具体是:
网络服务软件生产时,首先为当前产品创建初始公私钥对(PKt,SKt),然后生成产品描述码PD=[V,T,N,R];其中,V是当前软件产品的版本号,T是软件生产商运维系统的时统提供的当前时间戳,N是当前软件产品的编号,R为预留字段;以上所有字段的长度不可变;
然后,利用安全杂凑算法H计算产品的序列码SN=H(k|PD|k);其中,k为产品发布主密钥,由软件生产商安全持有并维护;取序列码SN的前l1个比特进行编码,作为当前产品的特征码s,取后l2个比特作为产品的启动密钥k0;l1+l2=l,l为序列码SN长度;
将待编译的网络服务软件源码中的特征码占位字符串用特征码s替换,同时在源码中预置当前产品的初始私钥SKt,编译网络服务软件源码后得到正式的发布版网络服务软件;
所述的部分加密方法具体是:
针对选取的发布版网络服务软件中独立的关键部分P,利用对称加密算法C用启动密钥k0加密得到P′,并替换P,作为交付版网络服务软件;交付版网络服务软件以及特征码s、产品描述码PD、初始公钥PKt、数字信封E(PKt,k0)由运维中心统一保存,数字信封E(PKt,k0)表示用PKt对k0进行公钥加密;
所述的运维方法具体是:
运维中心在销售确认并正确采集客户信息后,将准备销售给客户的交付版网络服务软件所对应特征码s、产品描述码PD以及客户信息入库存档,运维中心将自己的公钥PK嵌入交付版网络服务软件中,然后将交付版网络服务软件安装部署到客户服务器或交给客户自行部署;
网络服务软件首次运行时,在软件版权声明中显示该版本的特征码s,用户确认后,网络服务软件转到注册过程;
所述的注册方法具体是:
网络服务软件采集本地服务器的特征信息f,通过安全杂凑算法H计算摘要α=H(f|s|t),其中t是服务器当前的本地时间戳;网络服务软件将
Figure FDA0003590250140000021
通过PK加密后发送给运维中心注册申请,
Figure FDA0003590250140000022
表示用SKt对α进行签名;运维中心收到注册申请后,用自己的私钥SK解密,得到
Figure FDA0003590250140000023
然后验证时间戳和签名
Figure FDA0003590250140000024
的合法性:若时间戳超时或签名错误则验证失败,断开连接,拒绝注册;若验证通过,则运维中心为网络服务软件生成工作授权证书;运维中心将用户的数字信封E(PKt,k0)和工作授权证书发送给网络服务软件;网络服务软件收到工作授权证书后,用初始私钥SKt解密E(PKt,k0)得到启动密钥k0,然后用k0解密P′恢复被加密的关键部分P,得到可以正常工作的发布版网络服务软件;
所述的网络服务软件验证方法具体是:
在网络服务软件获得授权并正常工作后,所有与运维中心的交互消息都需要附加特征码s,运维中心随机检测与网络服务软件之间交互消息中的特征码s的正确性,如果检测到s不正确,则进入警示状态;
所述的终端APP绑定网络服务软件验证方法具体是:
网络服务软件对应的终端APP注册加入或重新登录网络服务软件时,服务器向终端APP出示自己的工作授权证书;终端APP利用预置的运维中心的证书公钥验证网络服务软件工作授权证书的有效性,如果验证不通过,则终端APP拒绝加入该服务器,同时向运维中心提交异常报告;终端APP定期连接运维中心,连接时向运维中心提交其当前所登录的网络服务软件的授权证书副本和IP地址。
2.如权利要求1所述的网络服务软件反盗版方法,其特征在于:所述的特征信息f包括服务器CPU序列号、BIOS序列号、硬盘序列号、网络适配器的MAC地址和部署的IP地址。
3.如权利要求1所述的网络服务软件反盗版方法,其特征在于:所述的工作授权证书包含授权时间、授权用户数量和客户的注册信息。
CN202011536156.3A 2020-12-23 2020-12-23 网络服务软件反盗版方法 Active CN112579989B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011536156.3A CN112579989B (zh) 2020-12-23 2020-12-23 网络服务软件反盗版方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011536156.3A CN112579989B (zh) 2020-12-23 2020-12-23 网络服务软件反盗版方法

Publications (2)

Publication Number Publication Date
CN112579989A CN112579989A (zh) 2021-03-30
CN112579989B true CN112579989B (zh) 2022-06-24

Family

ID=75138955

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011536156.3A Active CN112579989B (zh) 2020-12-23 2020-12-23 网络服务软件反盗版方法

Country Status (1)

Country Link
CN (1) CN112579989B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897005A (zh) * 2006-05-23 2007-01-17 施霖 一种用于防止软件运行在非授权计算机上的保护装置
WO2009061171A2 (en) * 2007-11-09 2009-05-14 Mimos Berhad Secure software licensing control mechanism
WO2010139258A1 (zh) * 2009-06-01 2010-12-09 Xue Ming 一种软件版权保护方法、设备和系统
CN102271130A (zh) * 2011-07-22 2011-12-07 四川长虹电器股份有限公司 实现软件安全交付及分发的方法
CN103078858A (zh) * 2012-12-31 2013-05-01 上海同岩土木工程科技有限公司 基于web服务和签名证书的软件授权试用方法
CN103491097A (zh) * 2013-09-30 2014-01-01 华中师范大学 基于公钥密码体制的软件授权系统
CN106529218A (zh) * 2016-10-28 2017-03-22 杭州华三通信技术有限公司 一种应用校验方法和装置
CN109639680A (zh) * 2018-12-14 2019-04-16 杭州安司源科技有限公司 一种三元对等的即时通信身份认证和权限控制方法
CN110826030A (zh) * 2019-11-08 2020-02-21 湖南长城医疗科技有限公司 一种自助软件和相关模块授权使用方法
CN110866226A (zh) * 2019-11-15 2020-03-06 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN111708991A (zh) * 2020-06-17 2020-09-25 腾讯科技(深圳)有限公司 服务的授权方法、装置、计算机设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1897005A (zh) * 2006-05-23 2007-01-17 施霖 一种用于防止软件运行在非授权计算机上的保护装置
WO2009061171A2 (en) * 2007-11-09 2009-05-14 Mimos Berhad Secure software licensing control mechanism
WO2010139258A1 (zh) * 2009-06-01 2010-12-09 Xue Ming 一种软件版权保护方法、设备和系统
CN102271130A (zh) * 2011-07-22 2011-12-07 四川长虹电器股份有限公司 实现软件安全交付及分发的方法
CN103078858A (zh) * 2012-12-31 2013-05-01 上海同岩土木工程科技有限公司 基于web服务和签名证书的软件授权试用方法
CN103491097A (zh) * 2013-09-30 2014-01-01 华中师范大学 基于公钥密码体制的软件授权系统
CN106529218A (zh) * 2016-10-28 2017-03-22 杭州华三通信技术有限公司 一种应用校验方法和装置
CN109639680A (zh) * 2018-12-14 2019-04-16 杭州安司源科技有限公司 一种三元对等的即时通信身份认证和权限控制方法
CN110826030A (zh) * 2019-11-08 2020-02-21 湖南长城医疗科技有限公司 一种自助软件和相关模块授权使用方法
CN110866226A (zh) * 2019-11-15 2020-03-06 中博信息技术研究院有限公司 一种基于加密技术的java应用软件版权保护方法
CN111708991A (zh) * 2020-06-17 2020-09-25 腾讯科技(深圳)有限公司 服务的授权方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN112579989A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
US6986063B2 (en) Method for monitoring software using encryption including digital signatures/certificates
US6799277B2 (en) System and method for monitoring software
US7003107B2 (en) Hybrid stream cipher
US7216368B2 (en) Information processing apparatus for watermarking digital content
US7496756B2 (en) Content usage-right management system and management method
US7426639B2 (en) Information processing apparatus and method for managing grouped devices in an encrypted environment
US20070044159A1 (en) Information processing apparatus
US20060291650A1 (en) State-varying hybrid stream cipher
CN103491098A (zh) 基于公钥密码体制的软件授权方法
CN101145906A (zh) 对单向网络中的接收终端进行合法性认证的方法及系统
EP1403839A1 (en) Data originality validating method and system
JP5204553B2 (ja) グループ従属端末、グループ管理端末、サーバ、鍵更新システム及びその鍵更新方法
KR20020034974A (ko) 컨텐츠 배신방법, 이에 이용하는 서버, 단말 및 컴퓨터프로그램
CN112579989B (zh) 网络服务软件反盗版方法
US20030182236A1 (en) Information processor
CN108235152B (zh) Drm应用系统和drm私有数据的传递方法
US20030144958A1 (en) Computer network based secure peer-to-peer file distribution system
JP2009251977A (ja) ソフトウェアインストールシステム
US20140013453A1 (en) Duplication judgment device and duplication management system
KR20030038995A (ko) 소프트웨어 불법복제 방지 시스템 및 방법
WO1998033296A1 (en) Distribution system with authentication
CN101808100A (zh) 一种解决信息安全设备远程升级重放性的方法和系统
CN113221074B (zh) 一种离线授权方法
JP2003087237A (ja) コンテンツ利用管理システム、コンテンツ利用管理方法、および情報処理装置、並びにコンピュータ・プログラム
JP5677194B2 (ja) コンテンツ販売管理装置及びコンテンツ販売システム及びコンピュータプログラム及びコンテンツ販売管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant