CN1889088A - 一种网络软件系统的版权保护方法 - Google Patents
一种网络软件系统的版权保护方法 Download PDFInfo
- Publication number
- CN1889088A CN1889088A CN 200610088959 CN200610088959A CN1889088A CN 1889088 A CN1889088 A CN 1889088A CN 200610088959 CN200610088959 CN 200610088959 CN 200610088959 A CN200610088959 A CN 200610088959A CN 1889088 A CN1889088 A CN 1889088A
- Authority
- CN
- China
- Prior art keywords
- software systems
- card
- server end
- client
- side program
- 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
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及软件保护技术领域,具体说是一种利用基于金融规范的IC卡为网络软件系统提供版权保护的方法。本发明的一种网络软件系统的版权保护方法,将基于金融规范的IC卡与网络软件系统客户端程序相关联,网络软件系统服务器端验证基于金融规范的IC卡的合法性,验证通过后再恢复客户端程序,从而使客户端程序正常运行,实现对网络软件系统的防盗版目的。本发明的方法由于使用高安全性的基于金融规范的IC卡进行身份认证,很大程度提高了其安全性;由于客户端程序不完整,所以无法单独运行,增大破解难度,所以也增强了本发明方法的安全性。综上所述,本发明的方法具有很好的防盗版效果。
Description
技术领域
本发明涉及软件保护技术领域,具体说是一种利用基于金融规范的IC卡为网络软件系统提供版权保护的方法。
背景技术
软件作为一种无形的产品,凝聚了开发者的辛勤劳动,然而,开放平台上的软件几乎从一开始就受到盗版问题的困扰,盗版者常常会让软件厂商血本无归。
基于网络的软件系统,其系统结构主要包括C/S结构和B/S结构两种类型:
C/S(Client/Server)结构,即客户端/服务器端结构;B/S(Browser/Server)结构,即浏览器端/服务器端结构。其中B/S结构是在C/S结构基础上发展而来的,浏览器端实质上也是一种客户端程序,它将HTML脚本转换成可视的界面。通过这两种结构可以充分利用两端硬件环境的优势,将任务合理分配到客户端或浏览器端和服务器端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是C/S或B/S形式的两层结构。
对于上述两种结构的软件系统,对于客户端或浏览器端应用程序的安装程序一直没有行之有效的机制和手段来保障版权不受侵犯,安装程序被盗版者肆意的拷贝和散播,给软件开发商的权益造成了巨大的伤害,而且也给服务器端应用及数据的安全性带来了巨大的挑战。
金融规范是银行为了方便交易和提高交易的安全性而制定的金融交易标准,现行的国际金融规范主要是EMV标准,EMV标准是由国际三大银行卡组织--Europay(欧陆卡)、MasterCard(万事达卡)和Visa(维萨卡)共同发起制定的银行卡从磁条卡向IC(集成电路)卡转移的技术标准,该标准的采用将大大提高银行卡交易的安全性,减少欺诈行为。随着EMV标准的进一步推广,世界各国依据EMV标准结合本国国情制定出相应的金融规范。我国基于EMV标准扩展的金融规范为中国人民银行金融集成电路(IC)卡规范,即PBOC规范,其它各国也基于EMV标准分别制定了各自的金融规范。
金融规范中规定持卡人信息包括银行卡号、持卡人姓名或持卡人证件号等记录。
CA(Certification Authority)中心,又称为数字证书认证中心。CA中心作为电子交易中受信任的第三方,负责为电子商务环境中各个实体颁发数字证书,以证明各实体身份的真实性,并负责在交易中检验和管理数字证书。数字证书(又称公钥证书)中包含有证书实体的身份信息、公钥数据、发证机构名称等,发证机构验证证书实体为合法注册实体后,就对上述信息进行数字签名,形成数字证书。在公钥证书体系中,如果某用户需要已向CA中心注册的用户的公钥,可直接向该用户索取数字证书,而后用CA中心公钥验证数字证书。
发明内容
本发明是针对目前网络软件系统盗版情况严重的现状,提供一种能够防止网络软件被肆意拷贝使用的版权保护方法。
本发明解决其技术问题所采用的技术方案是:
一种网络软件系统的版权保护方法,包括如下步骤:
(1)软件系统客户端程序与基于金融规范的IC卡建立连接;
(2)软件系统服务器端验证基于金融规范的IC卡的合法性;
(3)验证通过后,所述软件系统客户端程序正常运行。
所述基于金融规范的IC卡中储存持卡人信息。
所述验证基于金融规范的IC卡的合法性,其方法包括以下步骤:
(1)所述软件系统服务器端验证所述持卡人信息是否存在于持卡人信息列表中;
(2)所述软件系统服务器端比对所述持卡人信息是否与所述持卡人信息列表中的信息一致。
所述基于金融规范的IC卡中储存发卡行公钥证书和卡片公钥证书。
所述验证基于金融规范的IC卡的合法性,其方法包括以下步骤:
(1)所述软件系统服务器端将随机数通过所述软件系统客户端程序转发至所述基于金融规范的IC卡中;
(2)所述基于金融规范的IC卡利用其私钥签名所述随机数,并通过所述软件系统客户端程序返回所述软件系统服务器端;
(3)所述软件系统服务器端利用CA中心公钥验证发卡行公钥证书,确认发卡行公钥有效;
(4)所述软件系统服务器端利用所述发卡行公钥验证卡片公钥证书,确认卡片公钥有效;
(5)所述软件系统服务器端利用所述卡片公钥验证签名。
所述基于金融规范的IC卡中同时储存持卡人信息、发卡行公钥证书和卡片公钥证书。
所述验证基于金融规范的IC卡的合法性,其方法包括以下步骤:
(1)所述软件系统服务器端验证所述持卡人信息是否存在于持卡人信息列表中;
(2)所述软件系统服务器端比对所述持卡人信息是否与所述持卡人信息列表中的信息一致;
(3)所述软件系统服务器端将随机数通过所述软件系统客户端程序转发至所述基于金融规范的IC卡中;
(4)所述基于金融规范的IC卡利用其私钥签名所述随机数,并通过所述软件系统客户端程序返回所述软件系统服务器端;
(5)所述软件系统服务器端利用CA中心公钥验证发卡行公钥证书,确认发卡行公钥有效;
(6)所述软件系统服务器端利用所述发卡行公钥验证卡片公钥证书,确认卡片公钥有效;
(7)所述软件系统服务器端利用所述卡片公钥验证签名。
软件系统服务器端验证基于金融规范的IC卡的合法性通过后,还需恢复所述软件系统客户端程序。
所述恢复软件系统客户端程序的方法包括:
所述软件系统客户端程序利用所述软件系统服务器端发送的运算因子解密软件系统客户端程序的密文部分。
所述恢复软件系统客户端程序的方法还包括:
(1)所述软件系统服务器端向所述软件系统客户端程序发送其缺少的代码模块的密文以及相应运算因子;
(2)所述软件系统客户端程序利用所述运算因子解密密文的代码模块成明文后填充缺少部分。
所述恢复软件系统客户端程序的方法还包括:
(1)所述软件系统客户端程序向所述软件系统服务器端发送请求;
(2)所述软件系统服务器端运行相应函数并将处理结果返回所述软件系统客户端程序。
本发明的一种网络软件系统的版权保护方法,其用基于金融规范的IC卡取代现有技术下的网络传送证书或由磁盘存放证书方式,其优点在于:
1、安全性:由于基于金融规范的IC卡是能够防止篡改和盗取的安全载体,卡片操作系统能实现只在卡片内部产生和使用私钥,这样私钥就不能被复制和攻击,本发明的方法采用基于金融规范的IC卡保护软件安全性极高;另外,本发明的客户端软件是不完整的软件,运行时需服务器的参与而不能单独运行,这样的保护方法增大破解难度,安全性更高。
2、灵活性:由于基于金融规范的IC卡体积小,重量轻,方便携带和移动作业,本发明的方法采用基于金融规范的IC保护软件灵活性高。
附图说明
图1为本发明的身份认证流程图;
图2为恢复客户端程序的第一种实施方式的原理示意图;
图3为恢复客户端程序的第二种实施方式的原理示意图;
图4为恢复客户端程序的第三种实施方式的原理示意图。
具体实施方式
下面结合附图和具体实施方式进一步说明本发明,但不作为对本发明的限定。
由于B/S结构中的浏览器端实质上也是一种客户端程序,所以以下说明中的客户端程序泛指C/S结构中的客户端程序和B/S结构中的浏览器端程序。
软件系统服务器端存放CA中心公钥、持卡人信息列表。
用户购买客户端软件产品时,需向销售商提供基于金融规范的IC卡或卡片相关信息进行注册,软件系统服务器端将基于金融规范的IC卡的持卡人信息记录在上述持卡人信息列表中。
如图1所示,用户运行软件时,首先需要通过服务器端的身份认证,其认证过程如下:
步骤101,启动客户端程序,建立客户端与服务器端的连接;
步骤102,将基于金融规范的IC卡通过读卡器连接用户计算机;
步骤103,客户端程序通过读卡器向基于金融规范的IC卡发送选择应用命令来选择应用目录;
步骤104,基于金融规范的IC卡向客户端程序返回应用相关信息;
步骤105,根据上述应用相关信息,客户端程序向基于金融规范的IC卡发送读记录命令来读取用户文件记录;
步骤106,基于金融规范的IC卡向客户端程序返回用户文件记录相关信息;
步骤107,客户端程序将用户文件记录发送至服务器端;
步骤108,服务器端从用户文件记录中读取持卡人信息,并从持卡人信息列表中寻找对应持卡人信息,如果对应持卡人信息不存在或与持卡人信息列表中的相应信息不一致,则结束操作;
步骤109,如果对应持卡人信息存在且与持卡人信息列表中的信息一致,则服务器端生成随机数一类的动态认证数据,并发送给客户端程序;
步骤110,客户端程序接收到认证请求后,将随机数组织成标准的内部认证命令发送给基于金融规范的IC卡;
步骤111,基于金融规范的IC卡接收内部认证命令,使用卡内私钥签名随机数,并将签名结果返回客户端程序;
步骤112,客户端程序将签名结果转发给服务器端;
步骤113,服务器端验证签名,
服务器利用CA中心公钥验证用户文件记录中的发卡行公钥证书,确认发卡行公钥有效;利用发卡行公钥验证用户文件记录中的卡片公钥证书,确认卡片公钥有效;利用卡片公钥验证签名;
验证失败,服务器端断开连接,客户端程序退出;
步骤114,如果验证成功,继续操作。
在具体实现时,也可以只验证持卡人信息或只验证签名。
在具体实现时,客户端程序运行时,服务器端可能以上述同样的方式对客户端程序进行实时认证。
如果销售商卖给用户的客户端程序是完整的软件,则通过身份认证之后,客户端程序正常运行。
在具体实现时,销售商卖给用户的客户端软件也可能是经过处理的部分加密或不完全的软件,这样的软件无法正常运行,用户需要将加密部分解密或补充不完整的部分,即恢复所述软件系统客户端程序。这个过程需要从服务器端获取相应的密钥、代码或处理结果等。
恢复软件系统客户端程序有以下三种实施方式,在具体实现时可以选择任意一种实施方式,现根据附图分别描述:
图2为恢复客户端程序的第一种实施方式,如图所示,用户购买的客户端软件D部分代码为密文形式。
服务器端除包含CA中心公钥和持卡人信息列表外,还包含解密上述密文代码所使用的运算因子K。
如果想运行软件,用户需要将密文部分代码解密,解密的步骤如下:
步骤201,客户端程序D向服务器端发送运算因子的下载请求;
步骤202,服务器端将存储的用于解密这部分代码的运算因子子K通过网络发送给客户端程序D;
步骤203,客户端程序D利用运算因子K和算法f解密加密的代码部分得到客户端程序d,即d=f(D,K);
步骤204,客户端程序d继续运行。
这样就实现了通过服务器端控制客户端程序d运行。
图3为恢复客户端程序的第二种实施方式,如图所示,用户购买的客户端软件缺少一个或几个重要代码模块d1、d2和d3。
服务器端除包含CA中心公钥和持卡人信息列表外,还包括上述缺少代码模块的密文D1、D2和D3和解密上述密文代码模块所使用的运算因子K1、K2和K3。
如果想正常地运行软件,需要在步骤114认证通过后填充软件所缺少的代码模块,填充的步骤如下:
步骤301,当客户端程序D运行至缺少代码模块d1的相应位置时,向服务器端发送所缺代码模块的下载请求;
步骤302,服务器端收到请求后,将所缺少的代码模块的密文D1和相应运算因子K1通过网络发送给客户端程序D;
步骤303,客户端程序D利用运算因子K1将密文D1解密;
步骤304,客户端程序继续运行,当运行至缺少代码模块d2或d3的相应位置时,重复步骤301-303,分别用K2解密D2,K3解密D3。
图4为恢复客户端程序的第三种实施方式,如图所示,用户购买的客户端软件缺少一个或几个重要函数,例如Proc1、Proc2和Proc3,在缺少部分填充了客户端程序与服务器的交互的代码。
服务器端除包含CA中心公钥和持卡人信息列表外,还包括上述缺少的函数Proc1、Proc2和Proc3。
如果想正常运行软件,用户需要服务器端发送相应函数的处理结果,执行步骤如下:
步骤401,运行客户端程序D,当运行至缺少的函数Proc1相应位置时,向服务器端发送获取相应函数Proc1处理结果的请求;
步骤402,服务器端根据请求运行相应的函数Proc1,并将处理结果返回客户端程序D;
步骤403,客户端程序D利用返回的结果继续运行;
步骤404,当运行至缺少的函数Proc2或Proc3时,重复步骤401-403;
上述三种恢复客户端程序的过程均是在计算机内存中进行的。
以上所述实施方式仅为本发明的优选实施例,本发明不限于上述实施例,对于本领域一般技术人员而言,在不背离本发明原理的前提下对它所做的任何显而易见的改动,都属于本发明的构思和所附权利要求的保护范围。
Claims (11)
1、一种网络软件系统的版权保护方法,其特征在于,包括如下步骤:
(1)软件系统客户端程序与基于金融规范的IC卡建立连接;
(2)软件系统服务器端验证基于金融规范的IC卡的合法性;
(3)验证通过后,所述软件系统客户端程序正常运行。
2、根据权利要求1所述的一种网络软件系统的版权保护方法,其特征在于,所述基于金融规范的IC卡中储存持卡人信息。
3、根据权利要求2所述的一种网络软件系统的版权保护方法,其特征在于,所述验证基于金融规范的IC卡的合法性,其方法包括以下步骤:
(1)所述软件系统服务器端验证所述持卡人信息是否存在于持卡人信息列表中;
(2)所述软件系统服务器端比对所述持卡人信息是否与所述持卡人信息列表中的信息一致。
4、根据权利要求1所述的一种网络软件系统的版权保护方法,其特征在于,所述基于金融规范的IC卡中储存发卡行公钥证书和卡片公钥证书。
5、根据权利要求4所述的一种网络软件系统的版权保护方法,其特征在于,所述验证基于金融规范的IC卡的合法性,其方法包括以下步骤:
(1)所述软件系统服务器端将随机数通过所述软件系统客户端程序转发至所述基于金融规范的IC卡中;
(2)所述基于金融规范的IC卡利用其私钥签名所述随机数,并通过所述软件系统客户端程序返回所述软件系统服务器端;
(3)所述软件系统服务器端利用CA中心公钥验证发卡行公钥证书,确认发卡行公钥有效;
(4)所述软件系统服务器端利用所述发卡行公钥验证卡片公钥证书,确认卡片公钥有效;
(5)所述软件系统服务器端利用所述卡片公钥验证签名。
6、根据权利要求1所述的一种网络软件系统的版权保护方法,其特征在于,所述基于金融规范的IC卡中同时储存持卡人信息、发卡行公钥证书和卡片公钥证书。
7、根据权利要求6所述的一种网络软件系统的版权保护方法,其特征在于,所述验证基于金融规范的IC卡的合法性,其方法包括以下步骤:
(1)所述软件系统服务器端验证所述持卡人信息是否存在于持卡人信息列表中;
(2)所述软件系统服务器端比对所述持卡人信息是否与所述持卡人信息列表中的信息一致;
(3)所述软件系统服务器端将随机数通过所述软件系统客户端程序转发至所述基于金融规范的IC卡中;
(4)所述基于金融规范的IC卡利用其私钥签名所述随机数,并通过所述软件系统客户端程序返回所述软件系统服务器端;
(5)所述软件系统服务器端利用CA中心公钥验证发卡行公钥证书,确认发卡行公钥有效;
(6)所述软件系统服务器端利用所述发卡行公钥验证卡片公钥证书,确认卡片公钥有效;
(7)所述软件系统服务器端利用所述卡片公钥验证签名。
8、根据权利要求1所述的一种网络软件系统的版权保护方法,其特征在于,软件系统服务器端验证基于金融规范的IC卡的合法性通过后,还需恢复所述软件系统客户端程序。
9、根据权利要求8所述的一种网络软件系统的版权保护方法,其特征在于,所述恢复软件系统客户端程序的方法包括:
所述软件系统客户端程序利用所述软件系统服务器端发送的运算因子解密软件系统客户端程序的密文部分。
10、根据权利要求8所述的一种网络软件系统的版权保护方法,其特征在于,所述恢复软件系统客户端程序的方法还包括:
(1)所述软件系统服务器端向所述软件系统客户端程序发送其缺少的代码模块的密文以及相应运算因子;
(2)所述软件系统客户端程序利用所述运算因子解密密文的代码模块成明文后填充缺少部分。
11、根据权利要求8所述的一种网络软件系统的版权保护方法,其特征在于,所述恢复软件系统客户端程序的方法还包括:
(1)所述软件系统客户端程序向所述软件系统服务器端发送请求;
(2)所述软件系统服务器端运行相应函数并将处理结果返回所述软件系统客户端程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610088959 CN100470570C (zh) | 2006-07-27 | 2006-07-27 | 一种网络软件系统的版权保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610088959 CN100470570C (zh) | 2006-07-27 | 2006-07-27 | 一种网络软件系统的版权保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1889088A true CN1889088A (zh) | 2007-01-03 |
CN100470570C CN100470570C (zh) | 2009-03-18 |
Family
ID=37578364
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610088959 Active CN100470570C (zh) | 2006-07-27 | 2006-07-27 | 一种网络软件系统的版权保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100470570C (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346826A (zh) * | 2010-07-26 | 2012-02-08 | 索尼达德克奥地利股份公司 | 用软件程序的合法拷贝替换非法拷贝的方法及相应系统 |
CN105427102A (zh) * | 2015-11-19 | 2016-03-23 | 中国建设银行股份有限公司 | 基于金融ic卡的认证方法及其相应的设备和系统 |
CN108429621A (zh) * | 2018-03-12 | 2018-08-21 | 北京奇艺世纪科技有限公司 | 一种身份验证方法及装置 |
-
2006
- 2006-07-27 CN CN 200610088959 patent/CN100470570C/zh active Active
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102346826A (zh) * | 2010-07-26 | 2012-02-08 | 索尼达德克奥地利股份公司 | 用软件程序的合法拷贝替换非法拷贝的方法及相应系统 |
US9038057B2 (en) | 2010-07-26 | 2015-05-19 | Sony Dadc Austria Ag | Method for replacing an illegitimate copy of a software program with a legitimate copy and corresponding system |
CN102346826B (zh) * | 2010-07-26 | 2016-04-20 | 索尼达德克奥地利股份公司 | 用软件程序的合法拷贝替换非法拷贝的方法及相应系统 |
CN105427102A (zh) * | 2015-11-19 | 2016-03-23 | 中国建设银行股份有限公司 | 基于金融ic卡的认证方法及其相应的设备和系统 |
CN108429621A (zh) * | 2018-03-12 | 2018-08-21 | 北京奇艺世纪科技有限公司 | 一种身份验证方法及装置 |
CN108429621B (zh) * | 2018-03-12 | 2021-07-20 | 北京奇艺世纪科技有限公司 | 一种身份验证方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN100470570C (zh) | 2009-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992480B2 (en) | Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data | |
CN100342296C (zh) | 基于可信计算模块芯片实现计算机软件防盗版的方法 | |
CN1889432A (zh) | 基于智能卡的口令远程认证方法、智能卡、服务器和系统 | |
CN1631001A (zh) | 利用批量设备的身份凭证创建安全网络的系统和方法 | |
CN1818919A (zh) | 一种电子文档的许可认证方法和系统 | |
CN1808973A (zh) | 通用串行总线人机交互类的信息安全设备及其控制方法 | |
CN103023876A (zh) | 一种网络终端及其安全认证、注册激活方法,服务器 | |
CN1831865A (zh) | 一种基于cpk的电子银行安全认证系统和方法 | |
EP1886204B1 (en) | Transaction method and verification method | |
CN1885351A (zh) | 基于金融规范的ic卡在门禁系统中的应用方法 | |
CN1838141A (zh) | 利用移动电话增强访问计算机应用系统的安全性的技术 | |
CN1900963A (zh) | 网上安全支付系统 | |
CN101051895A (zh) | 一种集成生物认证和属性证书的认证方法及系统 | |
US11063766B2 (en) | Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data | |
CN115811406A (zh) | 一种基于环签名共识机制的物联网区块链认证方法和系统 | |
CN113506119A (zh) | 一种基于app的充电桩交易管理方法和系统 | |
CN1697376A (zh) | 用集成电路卡对数据进行认证或加密的方法和系统 | |
CN101552671A (zh) | 基于u盘和动态差异密码的网络身份认证方法及系统 | |
CN1889088A (zh) | 一种网络软件系统的版权保护方法 | |
CN1859149A (zh) | 流媒体业务服务的实现方法 | |
CN102842000A (zh) | 通用软件注册系统的实现方法 | |
CN1900962A (zh) | 网上安全支付系统及网上安全支付方法 | |
CN1858795A (zh) | 一种基于cpk的电子票据可信认证系统和方法 | |
CN110096852A (zh) | 一种基于国密的离线工控软件认证方法 | |
CN1959691A (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 | ||
C56 | Change in the name or address of the patentee |
Owner name: FEITIAN CHENGXIN TECHNOLOGIES CO., LTD. Free format text: FORMER NAME: BEIJING FEITIAN CHENGXIN SCIENCE + TECHNOLOGY CO. LTD. |
|
CP03 | Change of name, title or address |
Address after: 100085 Beijing city Haidian District Xueqing Road No. 9 Ebizal building B block 17 layer Patentee after: Feitian Technologies Co., Ltd. Address before: 100083, Haidian District, Xueyuan Road, No. 40 research, 7 floor, 5 floor, Beijing Patentee before: Beijing Feitian Chengxin Science & Technology Co., Ltd. |