CN103136466B - 一种基于加密狗的Web3D加密方法 - Google Patents
一种基于加密狗的Web3D加密方法 Download PDFInfo
- Publication number
- CN103136466B CN103136466B CN201310042939.XA CN201310042939A CN103136466B CN 103136466 B CN103136466 B CN 103136466B CN 201310042939 A CN201310042939 A CN 201310042939A CN 103136466 B CN103136466 B CN 103136466B
- Authority
- CN
- China
- Prior art keywords
- softdog
- data
- web3d
- access
- interface
- 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.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及基于web3d的加密保护,尤其涉及一种在低成本前提下通过USB加密狗进行的数据加密方法,该方法解决的问题是使用一只usb加密狗为整个web3d操作界面进行加密保护,即当客户端插上加密狗时,用户才可在浏览器上进行三维的互动操作,只要没有检测到加密狗的存在,界面将锁死,能防止数据被非法的盗用和访问,与其他专门加密狗相比起来,普通加密狗在价格上也比较低廉,此外,该方案适用于不同的web3d格式文件,灵活性好。
Description
技术领域
本发明涉及基于web3d的加密保护,尤其涉及一种在低成本前提下通过USB加密狗进行的数据加密方法。
背景技术
Web3d又称虚拟三维,是一种在虚拟现实技术的基础上,利用3D互联网平台将现实世界中有形的物品通过互联网进行虚拟的三维立体展示并可互动浏览操作的一种虚拟现实技术。虽然目前出现了许多网络虚拟三维环境的专业开发解决方案,推出了许多的web3d应用软件,但是,都有以下的几个共性特点:
1、在打包方式上,web3d应用软件最终都是创建出一个单一的文件,然后在通过HTTP服务的网站进行传输;
2、在发布上,要使3D能在web上实现运行,往往还需要安装该款软件的三维场景浏览插件。
3、在安全性上,虽然,web3d最终是把所有的资源和代码压缩到了一个单一的文件,不是很容易的盗取,但是,如果是利用第三方的软件或一些破解软件,资源还是会被盗用的。因此,为了保护开发设计人员智慧的结晶,防止黑客和盗贼,随意越权数据访问,以及影响版权所有者的合法利益,对web3d进行加密保护是很有必要的。
目前,在web3d上的加密上,主要有以下两方面:
一、即在打包和发布方式上web3d软件先进行加密压缩。典型产品如我国上海创图网络科技发展有限公司通过自主创新的研发的Webmax软件。该产品开发的三维网页相对传统的二维网页安全度更高。Webmax三维网页全部采用加密后的二进制编码,并经过获得发明专利的特殊压缩算法进行数据压缩,内容被恶意修改和黑客攻击的可能性低,安全性高。且Webmax网页播放器插件通过微软安全插件认证,用户使用很安全。
二、与web软件类似,有纯软件加密技术:如序列号列、密码表加密发、许可证法,也有硬件加密技术:加密狗加密、软盘加密、BIOS加密。
但是上述的现有技术存在以下缺点:
1、在实际的web3d项目和应用服务上,往往都是借用web3d软件进行二次的开发。所以,在资源最终的打包和发布方式以及安全性上来说,这将取决于所选用的该款软件,对于二次开发的技术人员来说,是无法进行修改的。
2、在传统的web软件加密方法上,有使用厂商专门设计的网络加密狗,也有为网络中某台机器上安装网络狗,所有客户端上安装被加密保护后的客户端程序,这些方案虽然都可以很好起到资源的保护作用,但是都存在着成本高和灵活性差等特点。另外,由于web3d不同于普通的web,还需要插件和组件,因此,直接引用传统web的加密方法在web3d上会存在明显的不足。
发明内容
本发明解决的问题是使用一只usb加密狗为整个web3d操作界面进行加密保护,即当客户端插上加密狗时,用户才可在浏览器上进行三维的互动操作,只要没有检测到加密狗的存在,界面将锁死,能防止数据被非法的盗用和访问,与其他专门加密狗相比起来,普通加密狗在价格上也比较低廉,此外,该方案适用于不同的web3d格式文件,灵活性好。
本发明采用以下方案实现:一种基于加密狗的Web3D加密方法,其特征在于:包括加密狗密钥处理、web接口处理以及应用软件验证;
所述加密狗密钥处理包括以下步骤:
S11,创建一个DLL服务器,添加组件对象和接口,进行S12;
S12,调用外部加密狗的DLL,将硬件加密后的PID数据放入缓存中,进行S13;
S13,开始访问USB接口,检测是否有正确的加密狗已插入;如果检测到有加密狗的访问,则进行S14;如果未检出到加密狗,则显示未检测到加密狗信息,跳至S15;
S14,当检测到有加密狗的访问后,读取该加密狗的PID,判断是否与缓存中的PID一致;如果数据匹配,进行S16,如果数据不匹配,跳至S15;
S15,程序终止运行;
S16,读取自定义数据,进行S17;
S17,对S16中的读取自定义数据采用MD5算法进行加密成特定的目标密钥有效可行;
所述web接口处理采用在HTML<object>标签定义一个嵌入的对象,当web要请求使用一个COM对象时,web接口就会通过COM的对象标识符CLSID来创建COM对象,再由IID获得COM对象的一个接口指针,通过该接口指针,web就能调用COM对象得到所要的信息;
所述的应用软件验证是根据web3d应用软件与HTML网页进行交互的机理进行信息验证。
在本发明一实施例中,所述的应用软件验证包括以下步骤:
S21,web3d浏览器调用函数,并读取从HTML中返回的信息,存入缓存;
S22,写入所述自定义数据;
S23,采用MD5生成特定的目标信息;
S24,验证所述S17生成的目标密钥是否与S23中生成特定的目标信息一致;如果两者数据一致,则转至S25;如果两者数据不一致,则转至S26;
S25,两者数据一致,说明检测有加密狗的访问且信息验证通过,允许用户操作服务页面;
S26,两者数据不一致,说明没有检测到加密狗的访问或信息验证不通过,拒绝用户的操作访问。
在本发明一实施例中,web3d浏览器是调用在HTML网页里定义的JavaScript函数。
在本发明一实施例中,所述自定义数据是当前年、月、日、分这4个数据。
本发明有以下优点:1、本发明不同于传统上的普通web加密保护,是对web3d提出的一种基于加密狗的加密保护方案。本发明不限定加密狗的生产商和类型,适用于不同的web3d格式文件,兼容性强。2、本发明组件对象模型COM,以动态连接库(DLL)进行包装的封装技术,进行二次加密,增强安全强度,有效防止黑客和盗贼的盗用和破解。另外,com技术可以大大提高组件的重用率,缩短开发周期、提高开发效率,并且在系统的安全性、可维护性上有着明显的喜爱。3、本发明在web接口端采用HTML<object>标签对象的引用,起到了很好的桥梁作用。4、本发明加密数据源嵌入开发商指定的数据串,加密后的密文是一堆符号串,用户很难通过反编译的手段得出原始数据,同时,加密狗的PID也经过加密处理,加强了加密狗信息的复杂程度。同其他的web系统加密方法相比,该方案的加密和验证逻辑封装好。
附图说明
图1本发明原理架构示意图。
图2是本发明实施例采用DLL封装技术的加密狗信息加密方法的流程图。
图3是本发明实施例web端调用DLL流程图。
图4是本实施例为应用软件验证流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
如图1所示,该方案的主要结构可包括三个部分:加密狗密钥处理部分10、web接口部分20、应用软件验证部分30。
其中,为了防止程序被非法的复制以及加密狗信息的被盗用,本方案加密狗密钥处理部分10采用软硬件结合的方式对关键数据进行加密。
1、在硬件方面,软件开发商要先了解到加密狗的内部设置及使用方法、读写工具和驱动程序。可以直接利用加密狗厂家提供的API接口和相应的动态链接库文件DLL,对种子、产品标识号(PID)进行全新的设计,最后,利用HAMC-MD5密钥(种子)在加密狗硬件中的HMAC-MD5的算法进行计算,保证密钥的安全性。虽然,用户是通过自定义设定的种子生产PID,且PID的生产算法是在加密狗内部完成的,具有不可逆的特性,但是,为了防止一些黑客或盗贼通过网络手段来获取到PID信息,从而越权的进行数据访问,因此对软件进行二次加密是很有必要的。
2、在软件方面,本方案将采用组件对象模型COM,以动态连接库(DLL)进行包装的封装技术,是将加密狗较为关键的软件代码进行编译,从而实现加密狗信息的保护。其工作流程图如图2所示,主要包括如下步骤:
S11,程序的入口,在这之前应先创建一个DLL服务器(进程内组件),添加组件对象和接口,进行S12。
S12,调用外部加密狗的DLL,将硬件加密后的PID数据放入缓存中,进行S13。
S13,开始访问USB接口,检测是否有正确的加密狗已插入。如果检测到有加密狗的访问,则进行S14;如果未检出到加密狗,则显示未检测到加密狗信息,跳至S15。
S14,当检测到了有加密狗的访问后,读取该加密狗的PID,判断是否与缓存中的PID一致。如果数据匹配,进行S16,如果数据不匹配,跳至S15。
S15,程序终止运行。
S16,为了保护原始加密狗PID的信息,防止被盗取,需进行二次加密,生成一个伪信息。本步骤是要获取该二次加密的自定义数据,本实施例中,将获取当前年、月、日、分这个4个数据,选取该4个值的好处有两点:一是可以对加密狗进行登录验证,加密狗每次访问的时间是不同的,这样所生产的伪信息也是每次都各不相同,因此,即使一些黑客和盗贼利用一些跟踪软件来输出这些信息,也很难进行破解。二是,获取该4个值简单方便,同时可以通过不同的排序来进一步的增强加强安全强度,进行S17进行二次加密。
S17,对S16自定义数据进行二次加密,本方案将采用MD5算法进行加密,MD5算法将任意长度的输入信息经过复杂的线性变换成为128位且唯一的新数据,具有加密单向性、安全性等特点,所以根据MD5算法加密特点,不同的数据源加密的结果绝对不同,并且不可逆,故将产生S16中的数据采用MD5加密生成特定的目标密钥有效可行。
对于web接口部分20,该部分本方案将采用在HTML<object>标签定义一个嵌入的对象。该对象即为在模块10所生成的动态链接库DLL。由于,按照COM规范,COM对象和接口必须唯一地被标识,两者都由一个128的全局唯一标识符GUID来标识,对象标识符称为CLSID,接口标识符称为IID。所以,在HTML<object>的classid即为COM的对象标识符CLSID。当web要请求使用一个COM对象时,它就会通过CLSID来创建COM对象,再由IID获得COM对象的一个接口指针,通过接口指针,web就可以调用COM对象得到所要的信息。调用DLL封装流程图如图3所示。
应用软件验证部分30,该部分本方案将根据web3d应用软件与HTML网页进行交互的机理进行信息验证。Web3d浏览器的插件或ActiveX控件一般都存在一个SendMessage()的函数,HTML网页即可以通过这个函数与Web3d应用软件进行通信。此时,可以从调用动态连接库DLL返回的信息,通过中间桥梁web的接口,发送给web3d应用软件端。
如图4所示,该图为应用软件验证流程图,主要包括以下几个步骤:
S21,web3d浏览器调用在HTML网页中里定义的JavaScript函数,并读取从HTML中返回的信息,存入缓存。
S22,写入已经在模块10中已约定好的自定义数据,本方案此处获取当前年、月、日、分这4个数据。
S23,与模块10的数据处理方式相同,数据采用MD5生成特定的目标信息。
S24,验证从web端发送出的数据信息是否与S23中生成特定的目标信息一致。如果两者数据一致,则转至S25。如果两者数据不一致,则转至S26。
S25,两者数据一致,说明检测有加密狗的访问且信息验证通过,允许用户操作服务页面。
S26,两者数据不一致,说明没有检测到加密狗的访问或信息验证不通过,拒绝用户的操作访问。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种基于加密狗的Web3D加密方法,其特征在于:包括加密狗密钥处理、web接口处理以及应用软件验证;
所述加密狗密钥处理包括以下步骤:
S11,创建一个DLL服务器,添加组件对象和接口,进行S12;
S12,调用外部加密狗的DLL,将硬件加密后的PID数据放入缓存中,进行S13;
S13,开始访问USB接口,检测是否有正确的加密狗已插入;如果检测到有加密狗的访问,则进行S14;如果未检出到加密狗,则显示未检测到加密狗信息,跳至S15;
S14,当检测到有加密狗的访问后,读取该加密狗的PID,判断是否与缓存中的PID一致;如果数据匹配,进行S16,如果数据不匹配,跳至S15;
S15,程序终止运行;
S16,读取自定义数据,进行S17;
S17,对S16中的读取自定义数据采用MD5算法进行加密成特定的目标密钥有效可行;
所述web接口处理采用在HTML<object>标签定义一个嵌入的对象,当web要请求使用一个COM对象时,web接口就会通过COM的对象标识符CLSID来创建COM对象,再由IID获得COM对象的一个接口指针,通过该接口指针,web就能调用COM对象得到所要的信息;
所述的应用软件验证是根据web3d应用软件与HTML网页进行交互的机理进行信息验证;
所述的应用软件验证包括以下步骤:
S21,web3d浏览器调用函数,并读取从HTML中返回的信息,存入缓存;
S22,写入所述自定义数据;
S23,对写入的所述自定义数据采用MD5算法进行加密成特定的目标信息;
S24,验证所述S17生成的目标密钥是否与S23中生成特定的目标信息一致;如果两者数据一致,则转至S25;如果两者数据不一致,则转至S26;
S25,两者数据一致,说明检测有加密狗的访问且信息验证通过,允许用户操作服务页面;
S26,两者数据不一致,说明没有检测到加密狗的访问或信息验证不通过,拒绝用户的操作访问;
web3d浏览器是调用在HTML网页中定义的JavaScript函数。
2.根据权利要求1所述的基于加密狗的Web3D加密方法,其特征在于:所述自定义数据是当前年、月、日、分这4个数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310042939.XA CN103136466B (zh) | 2013-02-04 | 2013-02-04 | 一种基于加密狗的Web3D加密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310042939.XA CN103136466B (zh) | 2013-02-04 | 2013-02-04 | 一种基于加密狗的Web3D加密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103136466A CN103136466A (zh) | 2013-06-05 |
CN103136466B true CN103136466B (zh) | 2015-12-09 |
Family
ID=48496283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310042939.XA Expired - Fee Related CN103136466B (zh) | 2013-02-04 | 2013-02-04 | 一种基于加密狗的Web3D加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103136466B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103401880B (zh) * | 2013-08-15 | 2016-03-23 | 西南大学 | 一种工业控制网络自动登录的系统及方法 |
CN105335628B (zh) * | 2015-10-28 | 2019-01-01 | 凌云天博光电科技股份有限公司 | 一种基于可移动存储设备的软件授权方法及装置 |
CN106502927B (zh) * | 2016-10-26 | 2019-08-13 | 北京德普信科技有限公司 | 终端可信计算及数据静态安全系统及方法 |
CN107423600A (zh) * | 2017-03-30 | 2017-12-01 | 努比亚技术有限公司 | 移动终端及移动终端界面锁定方法 |
CN110084003B (zh) * | 2018-01-26 | 2021-04-09 | 北大方正集团有限公司 | 一种基于中间件访问加密锁的方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19963471B4 (de) * | 1999-12-29 | 2008-10-09 | Robert Bosch Gmbh | Vorrichtung und Verfahren zur Verhinderung von Raubkopien von Computerprogrammen |
US7702922B2 (en) * | 2004-08-17 | 2010-04-20 | Microsoft Corporation | Physical encryption key system |
CN100346251C (zh) * | 2005-10-28 | 2007-10-31 | 武汉理工大学 | 一种虚拟软件狗加密方法 |
CN101996293B (zh) * | 2010-12-13 | 2012-11-21 | 深圳市江波龙电子有限公司 | 基于加密狗的软件认证方法 |
-
2013
- 2013-02-04 CN CN201310042939.XA patent/CN103136466B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103136466A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9208334B2 (en) | Content management using multiple abstraction layers | |
US8925109B2 (en) | Client-side player file and content license verification | |
CN101719205B (zh) | 一种数字版权管理方法及系统 | |
CN104166822B (zh) | 一种数据保护的方法和装置 | |
CN103136466B (zh) | 一种基于加密狗的Web3D加密方法 | |
CN101872404B (zh) | 一种保护Java软件程序的方法 | |
TWI420339B (zh) | 軟體授權系統及方法 | |
CN102156843B (zh) | 数据加密方法与系统以及数据解密方法 | |
CN101742072A (zh) | 机顶盒软件防拷贝方法 | |
CN103971033A (zh) | 一种应对非法拷贝的数字版权管理方法 | |
KR20100133373A (ko) | 간단 비자율 피어링 환경 워터마킹, 인증 및 바인딩 | |
CN104732159A (zh) | 一种文件处理方法及装置 | |
CN103971034A (zh) | 一种保护Java软件的方法及装置 | |
US20130173923A1 (en) | Method and system for digital content security cooperation | |
CN102289632A (zh) | 一种在软件源代码未知情况下对可执行文件进行加密方法 | |
CN106650325A (zh) | 一种基于加密狗的软件平台管理方法 | |
CN101916350B (zh) | 终端阅读内容的保护方法及系统 | |
Wang et al. | CS-DRM: a cloud-based SIM DRM scheme for mobile internet | |
US8347109B2 (en) | Secure serial number generation | |
CN111177693A (zh) | 一种验证终端根证书的方法、装置、设备和介质 | |
CN114547558B (zh) | 授权方法、授权控制方法及装置、设备和介质 | |
CN107085676A (zh) | 软硬件结合的多维度的软件知识产权保护方法 | |
CA2708000A1 (en) | System, apparatus and method for license key permutation | |
CN101916344B (zh) | 一种验证软件保护装置合法性的方法及系统 | |
CN107257282A (zh) | 一种基于rc4算法的代码全包加密方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151209 Termination date: 20190204 |
|
CF01 | Termination of patent right due to non-payment of annual fee |