CN107784206A - 软件保护方法和装置以及软件验证方法和装置 - Google Patents

软件保护方法和装置以及软件验证方法和装置 Download PDF

Info

Publication number
CN107784206A
CN107784206A CN201711104369.7A CN201711104369A CN107784206A CN 107784206 A CN107784206 A CN 107784206A CN 201711104369 A CN201711104369 A CN 201711104369A CN 107784206 A CN107784206 A CN 107784206A
Authority
CN
China
Prior art keywords
software
authority
device identification
authorization
protective lock
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
CN201711104369.7A
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.)
Beijing Senseshield Technology Co Ltd
Original Assignee
Beijing Senseshield 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 Beijing Senseshield Technology Co Ltd filed Critical Beijing Senseshield Technology Co Ltd
Priority to CN201711104369.7A priority Critical patent/CN107784206A/zh
Publication of CN107784206A publication Critical patent/CN107784206A/zh
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种软件保护方法,应用于服务端,该方法包括:接收来自用户设备侧的授权请求,所述授权请求中包括软件保护锁的设备标识,所述授权请求用于为受保护软件申请授权文件;基于所述设备标识,生成包括所述设备标识的授权文件;将授权文件返回给用户设备侧。本发明还公开了一种软件验证方法,软件保护系统和软件验证装置。通过本发明的方案,具有保护强度高,且易于扩展的优点。

Description

软件保护方法和装置以及软件验证方法和装置
技术领域
本发明涉及计算机领域,尤其涉及一种软件保护方法和装置以及软件验证方法和装置。
背景技术
在现有的软件保护方案中,为了防止软件被克隆,一般将软件的授权信息与计算机的硬件特征信息绑定,硬件特征信息例如包括计算机的网卡地址、硬盘信息、CPU信息以及主板信息等。
然而,这导致了在同一用户需要在不同计算机上使用同一软件时需要购买多份授权软件的情况,或者用户的运行软件的计算机需要更换网卡、硬盘、CPU或主板时或计算机硬件损坏时导致授权信息失效的情况。
发明内容
有鉴于此,本发明旨在提供一种在确保软件安全的同时不需依赖于计算机特征信息的软件授权方式。
为此,本发明实施例提供了一种软件保护方法,应用于服务端,该方法包括:接收来自用户设备侧的授权请求,所述授权请求中包括软件保护锁的设备标识,所述授权请求用于为受保护软件申请授权文件;基于所述设备标识,生成包括所述设备标识的授权文件;将授权文件返回给用户设备侧。
作为优选,在基于所述设备标识生成授权文件之后,所述方法还包括:使用第一私钥对基于所述设备标识生成的授权文件进行数字签名,得到经签名的授权文件,则将所述授权文件返回给用户设备侧包括:将经签名的授权文件返回给用户设备侧。
作为优选,在基于所述设备标识生成授权文件之前,所述方法还包括:对所述授权请求进行验证,如验证通过则基于所述设备标识生成授权文件。
作为优选,对所述授权请求进行验证包括:验证所述授权请求中是否包括预定的授权信息和/或验证所述授权请求中包括的授权信息是否有效。
本发明实施例还提供了一种软件验证方法,应用于客户端,该方法包括:在启动受保护软件时,获取软件保护锁的设备标识;将获取的设备标识与所述受保护软件的授权文件中的设备标识进行对比,如对比结果为不一致,则禁止运行所述受保护软件。
作为优选,该方法还包括:使用第一公钥验证所述授权文件的数字签名是否有效,如验证未通过,则禁止运行所述受保护软件。
作为优选,所述软件保护锁具有设备证书,所述设备证书中具有所述设备标识,则在所述对比结果为一致时,该方法还包括:通过所述软件保护锁的所述设备证书的签发机构证书对所述设备证书进行验证,如验证未通过,则禁止运行所述受保护软件。
作为优选,所述方法还包括:向所述软件保护锁发送数字签名/加密请求,所述数字签名/加密请求中包括待签名/加密的数据;从所述软件保护锁接收返回的经签名/加密的数据,并通过所述设备证书验证所述经签名/加密的数据,如验证未通过,则禁止运行所述受保护软件。
本发明实施例还提供了一种软件保护系统,包括:接口模块,配置为接收来自用户设备侧的授权请求,所述授权请求中包括软件保护锁的设备标识,所述授权请求用于为受保护软件申请授权文件;授权模块,配置为基于所述设备标识,生成包括所述设备标识的授权文件,所述接口模块还配置为将授权模块生成的授权文件返回给用户设备侧。
作为优选,授权模块还配置为使用第一私钥对基于所述设备标识生成的授权文件进行数字签名,得到经签名的授权文件,所述接口模块具体配置为将经签名的授权文件返回给用户设备侧。
作为优选,授权模块还配置为在基于所述设备标识生成授权文件之前,对所述授权请求进行验证,如验证通过则基于所述设备标识生成授权文件。
作为优选,授权模块具体配置为验证所述授权请求中是否包括预定的授权信息和/或验证所述授权请求中包括的授权信息是否有效。
本发明实施例还提供了一种软件验证装置,包括处理器,其执行指令以:在启动受保护软件时,获取软件保护锁的设备标识;将获取的设备标识与所述受保护软件的授权文件中的设备标识进行对比,如对比结果为不一致,则禁止运行所述受保护软件。
作为优选,所述处理器进一步执行指令以:使用第一公钥验证所述授权文件的数字签名是否有效,如验证未通过,则禁止运行所述受保护软件。
作为优选,所述软件保护锁具有设备证书,所述设备证书中具有所述设备标识,所述处理器进一步执行指令以:在所述对比结果为一致时,通过所述软件保护锁的所述设备证书的签发机构证书对所述设备证书进行验证,如验证未通过,则禁止运行所述受保护软件。
作为优选,所述处理器进一步执行指令以:向所述软件保护锁发送数字签名/加密请求,所述数字签名/加密请求中包括待签名/加密的数据;从所述软件保护锁接收返回的经签名/加密的数据,并通过所述设备证书验证所述经签名/加密的数据,如验证未通过,则禁止运行所述受保护软件。
通过本发明实施例的软件授权方案,可以与现有的软件授权方式兼容,软件开发者在确保软件安全运行、用户使用便利的同时,不必设计额外的加密方案,也不必为软件保护锁开发专用的锁内程序。本发明实施例的方案具有较高的安全性,难以通过伪造软件保护锁的方式来破解。
附图说明
图1为本发明的软件保护方法的一个实施例的示意性流程图;
图2为本发明的软件保护方法的另一个实施例的示意性流程图;
图3为本发明的软件保护方法的再一个实施例的示意性流程图;
图4为本发明的软件验证方法的一个实施例的示意性流程图;
图5为本发明的软件验证方法的另一个实施例的示意性流程图;
图6为本发明的软件验证方法的再一个实施例的示意性流程图;
图7为本发明的软件验证方法的又一个实施例的示意性流程图;
图8为本发明的软件保护系统的一个实施例的示意性框图。
具体实施方式
下面参照附图对本发明的实施例进行详细说明。
图1为本发明的软件保护方法的一个实施例的示意性流程图,本发明实施例的软件保护方法应用于服务端,例如云服务器。
如图1所示,本发明实施例的软件保护方法包括:
S101、接收来自用户设备侧的授权请求,授权请求中包括软件保护锁的设备标识,授权请求用于为受保护软件申请授权文件;
本发明实施例的软件保护锁例如可以为硬件加密锁。根据本发明实施例,当用户购买受保护的软件时,可以选择软件授权方式为绑定到软件保护锁,也可以选择软件授权方式为绑定到用户的计算机,也就是本发明的绑定软件保护锁的授权方式可以与现有的绑定计算机硬件特征的软件授权方式共存。当用户希望将受保护软件绑定到软件保护锁时,可以从软件开发商侧获得软件保护锁,或者用户也可以使用已有的软件保护锁进行软件绑定。
在准备好软件保护锁后,用户要在用户设备上启动软件激活授权操作时,可将软件保护锁连接到用户设备。用户在用户设备上确认激活授权操作时,软件的用户界面上可显示软件激活方式的不同选项,可供用户在所显示的不同授权方式选项中选择绑定到软件保护锁的授权方式;或者,确认激活授权操作时软件的用户界面上也可以只显示是否确认绑定到软件保护锁的方式。
当用户确认选用绑定到软件保护锁的授权方式时,确认操作触发受保护软件提取与用户设备连接的软件保护锁的设备标识,生成包括该设备标识的授权请求发送给服务端。授权请求用于要求服务端为受保护软件的合法用户颁发对于该软件的授权文件。
S102、基于所述设备标识,生成包括所述设备标识的授权文件;
服务端接收到授权请求后,基于授权请求中的设备标识生成对于用户设备的受保护软件的授权文件。所生成的授权文件中包括授权请求中携带的软件保护锁的设备标识以备后续验证。
S103、将授权文件返回给用户设备侧。
用户设备侧从服务端接收到授权文件后,可将授权文件保存在软件保护锁中,也可以保存在用户设备中。如果用户需要在不同计算机上使用受保护软件,则将授权文件保存在软件保护锁中,用户需要在用户设备上使用软件时,将软件保护锁插接至用户设备即可正常使用软件。
通过本发明实施例的软件保护方法,受保护软件的运行不受特定计算机的限制,当用户需要在不同计算机上使用受保护软件时,只需将绑定软件的软件保护锁插接至需运行软件的计算机上,即可正常使用软件,计算机的硬件部件的损坏或更换也不会对受保护软件的运行产生影响,而且用户通过随身携带软件保护锁,还可以避免用户设备上的受保护软件被其他用户使用。此外,本发明实施例的软件保护方法,可以与现有的绑定计算机硬件特征的软件授权方式兼容,用户可以在激活软件授权时选择使用哪种授权方式,从而使得在确保软件安全运行、用户使用便利的同时,不必设计额外的加密方案,也不必为软件保护锁开发专用的锁内程序。本发明实施例的方案使得受保护软件具有较高的安全性,难以通过伪造软件保护锁的方式来破解受保护软件。
图2为本发明的软件保护方法的另一个实施例的示意性流程图。
如图2所示,本发明实施例的软件保护方法包括:
S201、接收来自用户设备侧的授权请求,授权请求中包括软件保护锁的设备标识,授权请求用于为受保护软件申请授权文件;
当用户确认选用绑定到软件保护锁的授权方式时,确认操作触发受保护软件提取与用户设备连接的软件保护锁的设备标识,生成包括该设备标识的授权请求发送给服务端。
S202、基于所述设备标识,生成包括所述设备标识的授权文件;
服务端接收到授权请求后,基于授权请求中的设备标识生成对于用户设备的受保护软件的授权文件。所生成的授权文件中包括授权请求中携带的软件保护锁的设备标识以备后续验证。
S203、使用第一私钥对基于所述设备标识生成的授权文件进行数字签名,得到经签名的授权文件;
本发明实施例中,服务端在生成授权文件之后,还使用服务端的第一私钥对所生成的授权文件进行数字签名,用于用户设备侧验证授权文件。
S204、将签名的授权文件返回给用户设备侧。
用户设备侧从服务端接收到经签名的授权文件后,使用预先存储的服务端公钥对经签名的授权文件验签,如验证通过则表明授权文件为从服务端发出的合法文件。随后可将通过验签的授权文件保存在软件保护锁。用户需要在用户设备上使用软件时,将软件保护锁插接至用户设备即可正常使用软件。由于用户可能在不同计算机上使用同一受保护软件,为提高安全性,可在每次使用软件时验证授权文件的签名的合法性。
图3为本发明的软件保护方法的再一个实施例的示意性流程图。
如图3所示,本发明实施例的软件保护方法包括:
S301、接收来自用户设备侧的授权请求,授权请求中包括软件保护锁的设备标识,授权请求用于为受保护软件申请授权文件;
当用户确认选用绑定到软件保护锁的授权方式时,确认操作触发受保护软件提取与用户设备连接的软件保护锁的设备标识,生成包括该设备标识的授权请求发送给服务端。
S302、对授权请求进行验证;
在本发明实施例中,用户购买软件后,还从软件开发商获得预定的授权信息,例如软件授权码(可以为CD-KEY的方式)。用户在启动软件激活授权时,可将预定的授权信息输入到软件的激活授权界面中,软件将包括软件保护锁的设备标识和预定的授权信息的授权请求发送到服务端,由服务端进行验证。
S303、验证通过,则基于设备标识,生成包括该设备标识的授权文件。
服务端可通过确认授权请求中是否包括预定的授权信息来验证授权请求,并且/或者通过确认授权请求中包括的预定的授权信息是否有效来验证授权请求。服务端在对授权请求的验证通过后,可基于授权请求中的设备标识生成对于用户设备的受保护软件的授权文件。所生成的授权文件中包括授权请求中携带的软件保护锁的设备标识以备后续验证。
S304、将授权文件返回给用户设备侧。
用户设备侧从服务端接收到授权文件后,可将授权文件保存在软件保护锁中。用户需要在用户设备上使用软件时,将软件保护锁插接至用户设备即可正常使用软件。
图4为本发明的软件验证方法的一个实施例的示意性流程图,本发明实施例的软件验证方法可应用于客户端。
如图4所示,本发明实施例的软件验证方法包括:
S401、在启动受保护软件时,获取软件保护锁的设备标识;
用户需要在用户设备上运行受保护软件时,将软件保护锁插接至用户设备,启动受保护软件,软件启动时首先读取软件的授权文件。用户可以在软件中设置读取授权文件的路径,用户可以根据用户激活授权时采用的方式不同,设置授权文件的获取路径不同,例如当用户使用计算机硬件特征信息绑定软件时,软件启动时可以从计算机读取软件的授权文件,当用户使用软件保护锁绑定软件时,软件启动时可以从软件保护锁读取授权文件,但本发明不限于此,不论用户采用哪种授权方式,授权文件可以都存在软件保护锁中或者都存在计算机中,具体可根据使用需求来确定。
软件读取授权文件后,可根据授权文件是基于何种授权方式来读取对应的设备信息,当授权方式为绑定软件保护锁时,软件读取软件保护锁的设备标识。
S402、将获取的设备标识与受保护软件的授权文件中的设备标识进行对比;
软件读取软件保护锁的设备标识后,将所读取的设备标识与先读取的授权文件中的设备标识进行对比,确认两者是否一致。
S403、如对比结果为不一致,则禁止运行所述受保护软件;
如对比结果为两者不一致,表明该软件保护锁并非在软件激活授权时绑定的软件保护锁,则禁止运行受保护软件。
S404、如对比结果为一致,则允许运行受保护软件。
如两者为两者一致,表明该软件保护锁正是在软件激活授权时绑定的软件保护锁,则允许受保护软件正常运行。
通过本发明实施例的软件验证方法,受保护软件的运行不受特定计算机的限制,当用户需要在不同计算机上使用受保护软件时,只需将绑定软件的软件保护锁插接至需运行软件的计算机上,即可正常使用软件,计算机的硬件部件的损坏或更换也不会对受保护软件的运行产生影响,而且用户通过随身携带软件保护锁,还可以避免用户设备上的受保护软件被其他用户使用。
图5为本发明的软件验证方法的另一个实施例的示意性流程图。
如图5所示,本发明实施例的软件验证方法包括:
S501、在启动受保护软件时,获取受保护软件的授权文件;
受保护软件启动时可以根据默认路径或者用户设置的路径从用户设备或软件保护锁读取授权文件。
S502、使用第一公钥验证所述授权文件的数字签名是否有效;
软件读取授权文件后,可使用预先保存的服务端公钥对经签名的授权文件验签,以确认授权文件的合法性。
S503、获取软件保护锁的设备标识,将其与授权文件中的设备标识进行对比;
当确认授权文件的签名有效,软件可根据授权文件是基于何种授权方式来读取对应的设备信息,当授权方式为绑定软件保护锁时,软件读取软件保护锁的设备标识,并将读取的设备标识与授权文件中的设备标识进行对比。
S504、禁止运行受保护软件;
当S502中验证授权文件的数字签名无效,或者S503中的对比结果为不一致,则不允许运行受保护软件。
S505、允许运行受保护软件。
当S503中的对比结果为一致,则允许运行受保护软件。
在本发明实施例中,软件可在每次启动运行时验证授权文件的合法性,以便在例如用户可能在不同计算机上使用同一受保护软件时提高安全性。
图6为本发明的软件验证方法的再一个实施例的示意性流程图。
如图6所示,本发明实施例的软件验证方法包括:
S601、获取设备标识,将其与授权文件中的设备标识对比;
受保护软件启动时可以根据默认路径或者用户设置的路径从用户设备或软件保护锁读取授权文件。软件可根据授权文件是基于何种授权方式来读取对应的设备信息,当授权方式为绑定软件保护锁时,软件读取软件保护锁的设备标识,并将读取的设备标识与授权文件中的设备标识进行对比。软件可以读取软件保护锁的设备证书并从设备证书中读取软件保护锁的设备标识。
S602、通过设备证书的签发机构证书对设备证书进行验证;
通过软件保护锁的设备证书的签发机构证书(CA证书)对设备证书进行验证,可确定软件保护锁设备证书是否为合法证书。例如,设备证书中可以包括签发机构用根设备私钥生成的数字签名,CA证书中可以包括根设备公钥,从而可以使用CA证书中的根设备公钥对设备证书中的数字签名进行验证,以确认软件保护锁的设备证书是否合法。
S603、禁止运行受保护软件;
当S601中的比对结果为不一致,或者S602中验证软件保护锁的设备证书不合法,则认为软件保护锁为非法设备,不允许运行受保护软件。
S604、允许运行受保护软件。
当S602中验证结果为设备证书合法,则认为软件保护锁为合法设备,允许运行受保护软件。
在本发明实施例中,通过验证软件保护锁的设备证书的有效性,可确保只有合法的软件保护锁设备才能启动受保护软件的运行,进一步提高了受保护软件的安全性。
图7为本发明的软件验证方法的又一个实施例的示意性流程图;
如图7所示,本发明实施例的软件验证方法中S701-S703与如图6所示实施例中的S601和S602相同,下面对S704-S706进行说明:
S704、向软件保护锁发送数字签名/加密请求;
在S702中对设备证书验证通过后,软件可向软件保护锁发送数字签名/加密请求,该数字签名/加密请求中可以包括待签名/加密的数据,该待签名/加密的数据可以是软件预先准备的数据,也可以是软件临时生成的随机数。软件保护锁在接收到数字签名/加密请求后,使用软件保护锁自身的私钥对请求中携带的数据进行签名或加密,并将经过签名或加密的数据返回给软件。
S705、用设备证书验证从软件保护锁返回的经签名/加密的数据;
软件从软件保护锁接收到经过签名或加密的数据,可通过软件保护锁的设备证书验证经签名或加密的数据。例如,设备证书中可包括软件保护锁的公钥,软件可通过使用该公钥来验证经过签名或加密的数据是否为用与该公钥唯一匹配的私钥签名或加密而生成,从而验证软件保护锁是否为合法设备。如验证未通过,则进行到S703,禁止运行受保护软件。
S706、允许运行受保护软件。
如软件对软件保护锁返回的经过签名或加密的数据验证通过,则允许运行受保护软件。
在本发明实施例中,通过依次查验设备标识、设备证书、软件保护锁的数字签名/加密数据,能够完全确保只有合法的软件保护锁设备才能启动受保护软件的运行,极大地提高了受保护软件的安全性。
图8为本发明的软件保护系统的一个实施例的示意性框图。
如图8所示,本发明实施例的软件保护系统包括接口模块10和授权模块20。
接口模块10配置为接收来自用户设备侧的授权请求,授权请求中包括软件保护锁的设备标识,授权请求用于为受保护软件申请授权文件。
授权模块20配置为基于该设备标识生成包括该设备标识的授权文件,并通过接口模块10将授权模块20生成的授权文件返回给用户设备侧。
在本发明实施例中,授权模块20还配置为使用第一私钥对基于设备标识生成的授权文件进行数字签名,得到经签名的授权文件,并通过接口模块10将经签名的授权文件返回给用户设备侧。
在本发明实施例中,授权模块20还配置为在基于设备标识生成授权文件之前,对授权请求进行验证,在验证通过时才进行基于设备标识生成授权文件的操作。授权模块20可以配置为验证授权请求中是否包括预定的授权信息和/或验证授权请求中包括的授权信息是否有效。
本发明实施例的软件验证装置包括处理器,其执行指令以在启动受保护软件时,获取软件保护锁的设备标识,并将获取的设备标识与受保护软件的授权文件中的设备标识进行对比,如对比结果为不一致,则禁止运行受保护软件。
本发明实施例中,软件验证装置的处理器进一步执行指令以使用第一公钥验证授权文件的数字签名是否有效,如验证未通过,则禁止运行所述受保护软件。
本发明实施例中,软件保护锁可具有设备证书,设备证书中具有软件保护锁的设备标识,并且软件验证装置的处理器进一步执行指令以在对比结果为一致时,通过软件保护锁的设备证书的签发机构证书对设备证书进行验证,如验证未通过,则禁止运行受保护软件。
本发明实施例中,软件验证装置的处理器进一步执行指令以向软件保护锁发送数字签名/加密请求,数字签名/加密请求中包括待签名/加密的数据,并在从软件保护锁接收返回的经签名/加密的数据后,通过设备证书验证返回的经签名/加密的数据,如验证未通过,则禁止运行受保护软件。
本发明实施例的软件保护系统和软件验证装置的具体工作过程可参见前述软件保护方法和软件验证方法的实施例,在此省略具体说明。
本发明不限于以上具体实施例,本领域技术人员在不脱离本发明精神的范围内可对以上实施例作出多种修改和变型,这些修改和变型都应落入本发明所要求保护的范围。

Claims (16)

1.一种软件保护方法,应用于服务端,该方法包括:
接收来自用户设备侧的授权请求,所述授权请求中包括软件保护锁的设备标识,所述授权请求用于为受保护软件申请授权文件;
基于所述设备标识,生成包括所述设备标识的授权文件;
将授权文件返回给用户设备侧。
2.如权利要求1所述的方法,其中,在基于所述设备标识生成授权文件之后,所述方法还包括:使用第一私钥对基于所述设备标识生成的授权文件进行数字签名,得到经签名的授权文件,
则将所述授权文件返回给用户设备侧包括:将经签名的授权文件返回给用户设备侧。
3.如权利要求1所述的方法,其中,在基于所述设备标识生成授权文件之前,所述方法还包括:对所述授权请求进行验证,
如验证通过则基于所述设备标识生成授权文件。
4.如权利要求3所述的方法,其中,对所述授权请求进行验证包括:验证所述授权请求中是否包括预定的授权信息和/或验证所述授权请求中包括的授权信息是否有效。
5.一种软件验证方法,应用于客户端,该方法包括:
在启动受保护软件时,获取软件保护锁的设备标识;
将获取的设备标识与所述受保护软件的授权文件中的设备标识进行对比,如对比结果为不一致,则禁止运行所述受保护软件。
6.如权利要求5所述的方法,其中,该方法还包括:
使用第一公钥验证所述授权文件的数字签名是否有效,如验证未通过,则禁止运行所述受保护软件。
7.如权利要求5所述的方法,其中,所述软件保护锁具有设备证书,所述设备证书中具有所述设备标识,则在所述对比结果为一致时,该方法还包括:
通过所述软件保护锁的所述设备证书的签发机构证书对所述设备证书进行验证,如验证未通过,则禁止运行所述受保护软件。
8.如权利要求7所述的方法,其中,所述方法还包括:
向所述软件保护锁发送数字签名/加密请求,所述数字签名/加密请求中包括待签名/加密的数据;
从所述软件保护锁接收返回的经签名/加密的数据,并通过所述设备证书验证所述经签名/加密的数据,如验证未通过,则禁止运行所述受保护软件。
9.一种软件保护系统,包括:
接口模块,配置为接收来自用户设备侧的授权请求,所述授权请求中包括软件保护锁的设备标识,所述授权请求用于为受保护软件申请授权文件;
授权模块,配置为基于所述设备标识,生成包括所述设备标识的授权文件,
所述接口模块还配置为将授权模块生成的授权文件返回给用户设备侧。
10.如权利要求9所述的系统,其中,
授权模块还配置为使用第一私钥对基于所述设备标识生成的授权文件进行数字签名,得到经签名的授权文件,
所述接口模块具体配置为将经签名的授权文件返回给用户设备侧。
11.如权利要求9所述的系统,其中,
授权模块还配置为在基于所述设备标识生成授权文件之前,对所述授权请求进行验证,如验证通过则基于所述设备标识生成授权文件。
12.如权利要求11所述的系统,其中,
授权模块具体配置为验证所述授权请求中是否包括预定的授权信息和/或验证所述授权请求中包括的授权信息是否有效。
13.一种软件验证装置,包括处理器,其执行指令以:
在启动受保护软件时,获取软件保护锁的设备标识;
将获取的设备标识与所述受保护软件的授权文件中的设备标识进行对比,如对比结果为不一致,则禁止运行所述受保护软件。
14.如权利要求13所述的装置,其中,所述处理器进一步执行指令以:
使用第一公钥验证所述授权文件的数字签名是否有效,如验证未通过,则禁止运行所述受保护软件。
15.如权利要求13所述的装置,其中,所述软件保护锁具有设备证书,所述设备证书中具有所述设备标识,所述处理器进一步执行指令以:
在所述对比结果为一致时,通过所述软件保护锁的所述设备证书的签发机构证书对所述设备证书进行验证,如验证未通过,则禁止运行所述受保护软件。
16.如权利要求15所述的装置,其中,所述处理器进一步执行指令以:
向所述软件保护锁发送数字签名/加密请求,所述数字签名/加密请求中包括待签名/加密的数据;
从所述软件保护锁接收返回的经签名/加密的数据,并通过所述设备证书验证所述经签名/加密的数据,如验证未通过,则禁止运行所述受保护软件。
CN201711104369.7A 2017-11-10 2017-11-10 软件保护方法和装置以及软件验证方法和装置 Pending CN107784206A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711104369.7A CN107784206A (zh) 2017-11-10 2017-11-10 软件保护方法和装置以及软件验证方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711104369.7A CN107784206A (zh) 2017-11-10 2017-11-10 软件保护方法和装置以及软件验证方法和装置

Publications (1)

Publication Number Publication Date
CN107784206A true CN107784206A (zh) 2018-03-09

Family

ID=61432839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711104369.7A Pending CN107784206A (zh) 2017-11-10 2017-11-10 软件保护方法和装置以及软件验证方法和装置

Country Status (1)

Country Link
CN (1) CN107784206A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110855668A (zh) * 2019-11-14 2020-02-28 浙江九州云信息科技有限公司 一种管理容器云平台授权证书的方法及系统
CN110874455A (zh) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 授权管理方法和系统
WO2020173332A1 (zh) * 2019-02-27 2020-09-03 阿里巴巴集团控股有限公司 基于可信执行环境的应用激活方法及装置
CN112632481A (zh) * 2020-12-11 2021-04-09 深圳市英威腾电气股份有限公司 用于对软件进行授权的方法、终端设备及存储介质
WO2023024538A1 (zh) * 2021-08-27 2023-03-02 华为技术有限公司 一种保护应用程序的方法、装置和系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027997A1 (en) * 2003-07-29 2005-02-03 Yazaki Corporation Protection key and a method for reissuance of a protection key
CN1582422A (zh) * 2001-09-04 2005-02-16 诺基亚有限公司 防止未被授权使用软件的方法
KR20050111970A (ko) * 2004-05-24 2005-11-29 에스케이 텔레콤주식회사 유에스비 키를 이용한 단말기 사용 제어 방법 및 시스템
CN102054135A (zh) * 2009-11-06 2011-05-11 北大方正集团有限公司 一种软件授权的方法和装置
CN102646178A (zh) * 2011-02-18 2012-08-22 北京亚美科软件有限公司 一种软件保护方法及基于该方法实现的软件销售方法
CN103258151A (zh) * 2012-10-30 2013-08-21 中国科学院沈阳自动化研究所 一种实时授权的软件License控制方法
CN103995991A (zh) * 2014-05-07 2014-08-20 华中师范大学 一种软件版权保护中绑定硬件信息与密钥的方法
CN104580316A (zh) * 2013-10-24 2015-04-29 深圳市国信互联科技有限公司 软件授权管理方法及系统
CN107204848A (zh) * 2017-07-25 2017-09-26 北京深思数盾科技股份有限公司 一种管理秘钥数据的方法及管理密钥数据的装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1582422A (zh) * 2001-09-04 2005-02-16 诺基亚有限公司 防止未被授权使用软件的方法
US20050027997A1 (en) * 2003-07-29 2005-02-03 Yazaki Corporation Protection key and a method for reissuance of a protection key
KR20050111970A (ko) * 2004-05-24 2005-11-29 에스케이 텔레콤주식회사 유에스비 키를 이용한 단말기 사용 제어 방법 및 시스템
CN102054135A (zh) * 2009-11-06 2011-05-11 北大方正集团有限公司 一种软件授权的方法和装置
CN102646178A (zh) * 2011-02-18 2012-08-22 北京亚美科软件有限公司 一种软件保护方法及基于该方法实现的软件销售方法
CN103258151A (zh) * 2012-10-30 2013-08-21 中国科学院沈阳自动化研究所 一种实时授权的软件License控制方法
CN104580316A (zh) * 2013-10-24 2015-04-29 深圳市国信互联科技有限公司 软件授权管理方法及系统
CN103995991A (zh) * 2014-05-07 2014-08-20 华中师范大学 一种软件版权保护中绑定硬件信息与密钥的方法
CN107204848A (zh) * 2017-07-25 2017-09-26 北京深思数盾科技股份有限公司 一种管理秘钥数据的方法及管理密钥数据的装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110874455A (zh) * 2018-08-31 2020-03-10 阿里巴巴集团控股有限公司 授权管理方法和系统
WO2020173332A1 (zh) * 2019-02-27 2020-09-03 阿里巴巴集团控股有限公司 基于可信执行环境的应用激活方法及装置
CN110855668A (zh) * 2019-11-14 2020-02-28 浙江九州云信息科技有限公司 一种管理容器云平台授权证书的方法及系统
CN112632481A (zh) * 2020-12-11 2021-04-09 深圳市英威腾电气股份有限公司 用于对软件进行授权的方法、终端设备及存储介质
WO2023024538A1 (zh) * 2021-08-27 2023-03-02 华为技术有限公司 一种保护应用程序的方法、装置和系统

Similar Documents

Publication Publication Date Title
CN107784206A (zh) 软件保护方法和装置以及软件验证方法和装置
CN107615292B (zh) 用于管理需要高风险权限访问的应用程序包的安装的系统和方法
CN107438849B (zh) 用于验证电子设备的完整性的系统和方法
US20190253417A1 (en) Hardware device and authenticating method thereof
CN112425114B (zh) 受公钥-私钥对保护的密码管理器
CN110677376B (zh) 认证方法、相关设备和系统及计算机可读存储介质
CN102396251A (zh) 对与网络通信的设备的确认和/或认证
EP2579178A1 (en) Controller, control method, computer program, program recording medium, recording apparatus, and method of manufacturing recording apparatus
JP2008527565A (ja) 十分に正当な/最新のコードであることを確実にして行使する最後の防衛線
US20100250949A1 (en) Generation, requesting, and/or reception, at least in part, of token
CN101983375A (zh) 将密码模块绑定到平台
CN107466455B (zh) Pos机安全验证方法及装置
CN110324344B (zh) 账号信息认证的方法及装置
CN110096849A (zh) 一种License授权认证方法、装置、设备及可读存储介质
JP2015232810A (ja) 記憶装置、情報処理装置および情報処理方法
JP6387908B2 (ja) 認証システム
CN114430346B (zh) 登录方法、装置及电子设备
CN105577644A (zh) 一种加密认证方法和系统
CN110298152A (zh) 一种保护用户隐私和系统安全的线上身份管理方法
CN111147259B (zh) 鉴权方法和设备
CN102222195B (zh) 电子书阅读方法和系统
CN111125665A (zh) 认证方法及设备
JP2008021021A (ja) ソフトウエアのライセンス認証方法
CN102833296A (zh) 用于构建安全的计算环境的方法和设备
KR101473576B1 (ko) Sw 토큰을 이용한 오프라인 로그인 방법 및 이를 적용한 모바일 기기

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180309