第 2 章 超级狗(SuperDog)可提供的软件保护
前面章节概述了基于超级狗(SuperDog)的软件保护,本章将进一步介绍超级狗(SuperDog)软件保护的基本要素、工作原理以及超级狗(SuperDog)提供的两种软件保护方法。本章包含如下内容:
·超级狗(SuperDog)的工作原理
·超级狗(SuperDog)的基本要素
·超级狗(SuperDog)的保护方法
超级狗(SuperDog)的工作原理
在软件源代码中调用超级狗(SuperDog)Licensing API 函数,使被保护软件在运行中访问超级狗(SuperDog)内的特征或数据文件,将超级狗(SuperDog)与被保护的软件绑定。只有当被保护软件能够访问超级狗(SuperDog),超级狗(SuperDog)发出的响应被软件验证正确无误时,被保护软件才能正常工作。当被保护软件发现超级狗(SuperDog)不存在或返回的信息不正确时,被保护软件应停止运行。
超级狗(SuperDog)的基本要素
以下讲解基于超级狗(SuperDog)的软件保护基本要素。
·保护程序
超级狗(SuperDog)可以保护多种应用程序,可被超级狗(SuperDog)保护的内容如下:
·从软件功能到整个程序
·编译过的Windows 可执行文件、DLL 和.NET 程序集
·软件用到的数据
·AES 加密和解密
超级狗(SuperDog)支持基于AES 算法的加密和解密功能。您的软件的保护方案不应只停留于是否能够登录超级狗(SuperDog),还应当使用超级狗(SuperDog)对数据进行加密或解密,以验证超级狗(SuperDog)。具体来说,可以先加密数据,将加密数据存储在程序中,在软件运行过程中,将加密的数据发送至超级狗(SuperDog)进行解密,如果数据正确,才可视为超级狗(SuperDog)“ 存在”。下图说明超级狗(SuperDog)加密、解密的过程。
数据的加密/ 解密
·安全通道
被保护软件在运行中会与超级狗(SuperDog)建立安全通讯通道,被保护软件 和超级狗(SuperDog)之间的通讯被加密,如下图所示。
·V-Clock 虚拟时钟
超级狗(SuperDog)支持虚拟时钟(V-Clock) 可以检测时钟篡改,使得开发商可以安全可靠地分发具有时间限制的软件。有关超级狗(SuperDog)虚拟时钟的更多内容,请参阅第60 页的时钟篡改。
·利用超级狗(SuperDog)存储区
超级狗(SuperDog)具有1032 字节大小的数据存储区,可以用于存储特征和数据文件。每个超级狗(SuperDog)都包含一个默认特征( 特征ID 为0) 和一个默认数据文件( 数据文件ID 为65524)。开发商可以创建多个特征和数据文 件。
要想访问超级狗(SuperDog)中的数据文件,必须登录到特征。“ 特征” 是本产品的重要概念,关于特征的详细信息,请参阅第45 页的特征。
超级狗(SuperDog)中的数据文件有三种类型:只读类型,读写类型和写一次类型。使用Licensing API 提供的dog_read() 函数可以读取超级狗(SuperDog)中的数据文件;使用dog_get_size() 可以获取超级狗(SuperDog)中数据文件的大小。
读写类型数据文件
使用Licensing API 提供的dog_write() 函数可以向超级狗(SuperDog)中的读写或写一次类型数据文件写入数据。
只读类型数据文件
只读类型数据文件的数据在程序运行过程中不能被更改,除非通过超级狗(SuperDog)的远程升级才能修改。
写一次类型数据文件
使用dog_write() 函数对该类型数据文件进行一次写操作后,文件类型将变为只读。
许可类型
超级狗(SuperDog)提供以下四种许可类型,有关更多信息,请参阅第68 页的 许可类型。
·永久
·执行次数
·过期日期
·执行天数
不同类型的许可文件占用的空间不同,永久类型的许可占用的空 间最少。
·阻止逆向工程
逆向工程是指试图解开软件保护方案并加以破坏,通常的行为是 跟踪编译过的应用程序、修改其代码。使用超级狗(SuperDog)外壳加密工具保护 的程序可以阻止此类攻击。
超级狗(SuperDog)的保护方法
下表描述超级狗(SuperDog)提供的两种软件保护方法的各自特点。
外壳加密保护 | 超级狗(SuperDog) Licensing API保护 |
·快速、自动的保护为您的软件保驾护航 ·可以为程序定义特定的保护参数 ·不需要源代码 ·阻止逆向工程 | ·可以实施手动调用Licensing API ·可以控制的提供最佳安全性的保护 ·保护力度与实施Licensing API 的程度成正比 ·源代码必须可用 ·最佳的灵活性 |
·超级狗(SuperDog)Licensing API 保护
在该保护方法中,软件工程师实施Licensing API 到软件源代码,各种保护措施经过周密评估后被集成在源代码中。软件工程师控制整个保护过程,决定在源代码中哪些点调用Licensing API 函数、被保护程序何时查询超级狗(SuperDog)、以及在不同的情况下应当采取怎样的行动措施。
关于该保护方法更详细的内容,请参阅第 3 章 超级狗(SuperDog)LicensingAPI 保护。
·外壳加密保护
外壳加密保护提供一种快捷、安全的自动化软件保护方法。 外壳加密工具能够直接对可执行文件、DLL、.NET 程序集进行保护,不需要更改软件的源代码,并且可以阻止软件被施行逆向工程。
关于该外壳加密保护更详细的内容,请参阅第 4 章 超级狗(SuperDog)外壳加密保护。
联系揽阁信息,您可以获取到更多满足全球合规性要求的信息安全产品资料,以及相关的整体解决方案的相关资料。如:
数据库访问控制:揽阁LGPAC系统
通用HSM:Luna HSM、ProtectServer HSM
支付HSM:payShield 10K
您还可以得到揽阁信息所提供的优质服务。
揽阁信息 · 值得您信赖的信息安全顾问!