一种基于cpk标识认证技术的软件版权保护管理方法

xiaoxiao2020-10-23  17

一种基于cpk标识认证技术的软件版权保护管理方法
【技术领域】
[0001]本发明涉及一种软件版权保护的方法,具体涉及一种基于CPK标识认证技术的软件版权保护管理方法。
【背景技术】
[0002]随着计算机技术、网络信息技术发展,软件由于其数字化的特征,人们可以随意拷贝和使用,软件版权保护问题一直是软件开发商需要面临的重要问题,而使用加密锁是实现软件版权保护的一种主要手段。加密锁是一个连接在计算机接口(并口或串口)上的硬件设备,在被保护软件发行之前,软件开发商将该软件中对应某一线程的部分代码移植到加密锁中,使得被保护软件在运行过程中,必须调用连接在计算机上的加密锁,而加密锁作为一种硬件设备,复制的难度较大,从而起到软件版权保护的作用。
[0003]常用的基于加密锁的软件版权保护方法主要是基于查询-应答的方式来实现的,而在这种方法中虽然能够实现对软件版权的保护,但却存在以下问题:一是加密锁受到体积和成本等限制,处理能力远不及被保护软件所在的计算机,从而限制了被保护软件的运行速度;二是由于操作系统的开放性,被保护软件和加密狗之间的通信部分却是一个薄弱的环节,盗版者可以通过加密锁的AP1、驱动、甚至是监听物理总线,获得被保护软件与加密锁之间的通信数据,分析出加密锁内部被保护的数据和功能,进而破解出移植在加密狗中的部分代码。

【发明内容】

[0004]针对现有技术中存在的上述问题,本发明提供一种基于CPK标识认证技术的软件版权保护管理方法,采用支持CPK标识认证技术的被保护软件和CPK Key设备,引入的CPKKey设备里面只存有用户的CPK标识私钥,而不会存储被保护软件的部分代码,这样既不会影响被保护软件的运行速度,又可解决被保护软件版权保护的问题,同时也具有软件使用中的管理功能,为软件使用者提供了便利性和安全性。
[0005]为达到上述目的,本发明的实施例采用的如下技术方案:
[0006]一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于包括以下步骤:
[0007]I)用户打开被保护软件时,被保护软件检测CPK Key设备是否被插入,若没有插入,提示错误信息并等待用户插入CPK Key设备;若插入,提示用户输入CPK Key设备的启动口令并登陆被保护软件;
[0008]2) CPK Key设备对用户输入的启动口令做本地验证,验证失败,提示错误信息并请求用户重新输入启动口令;验证通过,CPK Key设备产生随机数,用用户的CPK标识私钥对随机数进行签名生成签名信息,并将签名信息发送给被保护软件;
[0009]3)被保护软件先验证签名信息中的用户标识是否在用户标识的白名单中,若验证失败,提示错误信息并退出被保护软件;若验证通过,再验证签名信息中的签名数据,若验证失败,提示错误信息并退出被保护软件;若验证通过,继续被保护软件的启动;
[0010]4)被保护软件启动到关键保护点时,将用用户的CPK标识公钥加密的关键数据发送给CPK Key设备;
[0011]5)CPK Key设备用用户的CPK标识私钥对其解密并将解密后的关键数据回传给被保护软件;
[0012]6)被保护软件验证收到的关键数据,若验证失败,提示错误信息并退出被保护软件;若验证通过,则被保护软件正常启动并运行。
[0013]所述步骤6)中的被保护软件正常启动并运行,在运行过程中的保护还包括步骤:
[0014]6.1)被保护软件运行到关键保护点时,产生随机数,用用户的CPK标识公钥加密该随机数并将加密后的随机数发送给CPK Key设备;
[0015]6.2) CPK Key设备用用户的CPK标识私钥对其解密并返回解密后的随机数;被保护软件验证收到的随机数与已存的随机数是否一致,若验证失败,提示错误信息并退出被保护软件;若验证通过,被保护软件正常运行。
[0016]所述步骤6.2)中的CPK Key设备用用户的CPK标识私钥对其解密得到随机数,也可用用户的CPK标识私钥对随机数进行签名生成签名信息,并将该签名信息返回给被保护软件,被保护软件用用户的CPK标识公钥验证签名信息,若验证失败,提示错误信息并退出被保护软件;若验证通过,被保护软件正常运行。
[0017]所述的被保护软件为支持CPK标识认证技术的、能进行用户标识白名单管理的应用软件;在被保护软件中包含了被保护软件的签名信息,该签名信息是软件开发商用自己的CPK标识私钥生成的签名信息。
[0018]所述CPK Key设备为支持CPK标识认证技术的软件保护设备,里面存有用户的CPK标识私钥,每一个CPK key设备都具有唯一性。
[0019]所述的CPK key设备在第一次登陆被保护软件时,用户需要设置CPK key设备的启动口令,在每次被保护软件启动时都需要用户输入已设置的CPK Key的启动口令做本地验证;用户的CPK Key的启动口令在一次被保护软件启动中错误输入到达一定次数,用户的CPK Key设备会锁死,用户则需要去CPK Key设备的发证中心去解锁。
[0020]所述的CPK Key设备具有被保护软件使用中的管理功能,CPK Key设备用户用自己的(或对方的)CPK标识公钥加密的数据只能用自己的(或对方的)CPK标识私钥进行解密,从而实现了自我数据加密保护或点对点的数据加密传输保护。
[0021]所述的CPK Key设备为标准的设备,可对其进行角色定位和权限分配,其中可分配管理CPK Key设备,管理CPK Key设备可实现对每个用户的行为进行审计。
[0022]所述的管理CPK Key设备可实现被保护软件中用户标识白名单的管理(用户标识总数量不可变),如删除、更改等管理操作。
【附图说明】
[0023]图1为本发明基于CPK标识认证技术的被保护软件启动保护流程图
[0024]图2为本发明基于CPK标识认证技术的被保护软件运行保护流程图
[0025]图3为本发明中CPK Key设备与被保护软件实现管理的功能框图
【具体实施方式】
[0026]为使本发明的目的、技术方案和优点更加清楚明白,下面将结合实施例中的附图,对本发明进一步详细说明。
[0027]参照图1所示,本发明提出的一种基于CPK标识认证技术的软件版权保护管理方法,该方法包括的步骤如下:
[0028]I)用户需要使用被保护软件时,打开被保护软件;被保护软件检测CPK Key设备是否被插入,若没有插入,提示错误信息并等待用户插入CPK Key设备;若插入,提示用户输入CPK Key设备的启动口令并登陆被保护软件;
[0029]2)CPK Key设备对用户输入的启动口令做本地验证,验证失败,提示错误信息并请求用户重新输入启动口令;验证通过,CPK Key设备产生随机数,用存在CPK Key设备中的用户的CPK标识私钥对随机数进行签名生成签名信息,并将该签名信息发送给被保护软件;
[0030]3)被保护软件先验证签名信息中的用户标识是否在用户标识的白名单中,若验证失败,提示错误信息并退出被保护软件;若验证通过,再验证签名信息中的签名数据,若验证失败,提示错误信息并退出被保护软件;若验证通过,继续被保护软件的启动;
[0031]4)被保护软件启动到关键保护点时,将用用户的CPK标识公钥加密的关键数据发送给CPK Key设备;CPK Key设备用用户的CPK标识私钥对其解密并将解密后的关键数据回传给被保护软件;被保护软件验证收到的关键数据,若验证失败,提示错误信息并退出被保护软件;若验证通过,则被保护软件正常启动并运行。
[0032]参照图2所示,在被保护软件在正常启动并运行后,在运行过程中的保护还包括以下步骤:
[0033]5)被保护软件运行到关键保护点时,产生随机数,用用户的CPK标识公钥加密该随机数并将加密后的随机数发送给CPK Key设备;
[0034]6)CPK Key设备用用户的CPK标识私钥对其解密并返回解密后的随机数;被保护软件验证收到的随机数与已存的随机数是否一致,若验证失败,提示错误信息并退出被保护软件;若验证通过,被保护软件正常运行。
[0035]所述步骤6)中的CPK Key设备用用户的CPK标识私钥对其解密得到随机数,也可用用户的CPK标识私钥对随机数进行签名生成签名信息,并将该 签名信息返回给被保护软件,被保护软件用用户的CPK标识公钥验证签名信息,若验证失败,提示错误信息并退出被保护软件;若验证通过,被保护软件正常运行。
[0036]本发明实施例中的被保护软件为支持CPK标识认证技术的、能进行用户标识白名单管理的应用软件;在被保护软件中包含了被保护软件的签名信息,该签名信息是软件开发商用自己的CPK标识私钥生成的签名信息。
[0037]本发明实施例中的CPK设备为支持CPK标识认证技术的软件保护设备,里面存有用用户标识生成的用户的CPK标识公私钥对中的用户的CPK标识私钥,每一个CPK key设备都具有唯一性。CPK key设备在第一次登陆被保护软件时,被保护软件会提示让用户修改CPK key设备的初始启动口令,在以后每次被保护软件启动时都需要用户输入已设置的CPKKey的启动口令做本地验证;若用户并未修改CPK key设备的初始启动口令,被保护软件启动时用户需要输入默认的初始启动口令做本地验证。为了防止CPK Key设备被非法的人员利用,CPK Key设备的启动口令在一次被保护软件启动中错误输入到达一定次数,CPK Key设备会被锁死,用户则需要去CPK Key设备的发证中心去解锁。
[0038]本发明实施例中CPK Key设备为标准的设备,可对其进行角色定位和权限分配,其中不同的角色具有不同的使用权限,例如比较常用的有一般CPK Key设备和具有管理功能的管理CPK Key设备。
[0039]参照图3所示,Yl、Y2、Yn分别代表的是不同用户所持有的各自的CPK Key设备。CPK Key设备具有被保护软件使用中的管理功能,CPK Key设备通过被保护软件中的用户管理模块与数据加/解密模块的交互通信可实现用户自我数据加密保护和点对点的数据加密传输保护,其中CPK Key设备用户用自己的(或对方的)CPK标识公钥加密的数据只能用自己的(或对方的)CPK标识私钥进行解密。管理CPK Key设备通过被保护软件中的审计管理模块的功能可实现对每个用户的行为进行审计,管理员的CPK Key设备也可实现对被保护软件中用户标识白名单的管理(用户标识总数量不可变),如删除、更改等管理操作。
[0040]本发明提出的此种方法不仅解决了被保护软件版权的安全问题,保护了软件开发商的利益;同时也为被保护软件的用户提供软件使用中的管理功能,提高了用户的安全性和便利性。
[0041]由于本发明技术的应用和实施十分广泛,只要是需要对软件版权进行保护的软件都能够采用此方法实现软件版权的保护管理。以上所述,仅为本发明的优选实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
【主权项】
1.一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于包括以下步骤: 1)用户打开被保护软件时,被保护软件检测CPKKey设备是否被插入,若没有插入,提示错误信息并等待用户插入CPK Key设备;若插入,提示用户输入CPK Key设备的启动口令并登陆被保护软件; 2)CPKKey设备对用户输入的启动口令做本地验证,验证失败,提示错误信息并请求用户重新输入启动口令;验证通过,CPK Key设备产生随机数,用用户的CPK标识私钥对随机数进行签名生成签名信息,并将签名信息发送给被保护软件; 3)被保护软件先验证签名信息中的用户标识是否在用户标识的白名单中,若验证失败,提示错误信息并退出被保护软件;若验证通过,再验证签名信息中的签名数据,若验证失败,提示错误信息并退出被保护软件;若验证通过,继续被保护软件的启动; 4)被保护软件启动到关键保护点时,将用用户的CPK标识公钥加密的关键数据发送给CPK Key 设备; 5)CPK Key设备用用户的CPK标识私钥对其解密并将解密后的关键数据回传给被保护软件; 6)被保护软件验证收到的关键数据,若验证失败,提示错误信息并退出被保护软件;若验证通过,则被保护软件正常启动并运行。2.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于,所述步骤6)中的被保护软件正常启动并运行,在运行过程中的保护还包括步骤: 6.1)被保护软件运行到关键保护点时,产生随机数,用用户的CPK标识公钥加密该随机数并将加密后的随机数发送给CPK Key设备; 6.2) CPK Key设备用用户的CPK标识私钥对其解密并返回解密后的随机数;被保护软件验证收到的随机数与已存的随机数是否一致,若验证失败,提示错误信息并退出被保护软件; 若验证通过,被保护软件正常运行。3.如权利要求2所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于,所述步骤6.2)中的CPK Key设备用用户的CPK标识私钥对其解密得到随机数,也可用用户的CPK标识私钥对随机数进行签名生成签名信息,并将该签名信息返回给被保护软件,被保护软件用用户的CPK标识公钥验证签名信息,若验证失败,提示错误信息并退出被保护软件;若验证通过,被保护软件正常运行。4.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:上述中的CPK,就是组合公钥体制(Combined Public Key Cryptosystem,简称CPK),是在椭圆曲线密码(ECC算法)上,由组合矩阵和分割密钥序列构成,是一种先进的标识认证体制。5.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:所述的被保护软件为支持CPK标识认证技术的、能进行用户标识白名单管理的应用软件;在被保护软件中包含了被保护软件的签名信息,该签名信息是软件开发商用自己的CPK标识私钥生成的签名信息。6.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:所述CPK Key设备为支持CPK标识认证技术的软件保护设备,里面存有用户的CPK标识私钥,每一个CPK key设备都具有唯一性。7.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:所述的CPK key设备在第一次登陆被保护软件时,用户需要设置CPK key设备的启动口令, 在每次被保护软件启动时都需要用户输入已设置的CPK Key的启动口令做本地验证;用户的CPK Key的启动口令在一次被保护软件启动中错误输入到达一定次数,用户的CPKKey设备会锁死,用户则需要去CPK Key设备的发证中心去解锁。8.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:所述的CPK Key设备具有被保护软件使用中的管理功能,CPK Key设备用户用自己的(或对方的)CPK标识公钥加密的数据只能用自己的(或对方的)CPK标识私钥进行解密,从而实现了自我数据加密保护或点对点的数据加密传输保护。9.如权利要求1所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:所述的CPK Key设备为标准的设备,可对其进行角色定位和权限分配,其中可分配管理CPK Key设备,管理CPK Key设备可实现对每个用户的行为进行审计。10.如权利要求9所述的一种基于CPK标识认证技术的软件版权保护管理方法,其特征在于:所述的管理CPK Key设备可实现被保护软件中用户标识白名单的管理(用户标识总数量不可变),如删除、更改等管理操作。
【专利摘要】本发明提供一种基于CPK标识认证技术的软件版权保护管理方法。该方法包括:打开被保护软件时,插入CPK Key设备,输入CPK Key设备的启动口令并登陆被保护软件;被保护软件验证来自CPK Key设备的签名信息中的用户标识和签名数据,签名信息验证通过后,被保护软件验证CPK Key设备解密回传的关键数据;若验证通过,被保护软件正常启动并运行;被保护软件运行到关键保护点时,将加密的随机数发送给CPK Key设备,并验证CPK Key设备返回的数据来决定被保护软件是否继续运行;引入的CPK Key设备可解决被保护软件版权保护的问题,同时也具有软件使用中的管理功能,为软件使用者提供了便利性和安全性。
【IPC分类】G06F21/12
【公开号】CN104899480
【申请号】CN201510221351
【发明人】陈谦, 孟俊, 邱银娟
【申请人】易兴旺, 陈谦, 胡浩, 孟俊
【公开日】2015年9月9日
【申请日】2015年5月5日

最新回复(0)