Categories: Protection

Codemeter软件保护套件运行时环境

威步最新发布的本地组件可以通过新的机制更好地保护软件。本文带大家了解它的优势以及该模块如何安全地与应用程序连接。

软件技术发展永不停止,热门的软件技术不断涌出,但多数如昙花一现,很快没落。长期追赶热点技术的软件开发者经常面临这种无奈:即使选择风靡一时的编程语言,也很快不得不用另一种语言或另一种全新的技术重写整个应用程序,以确保能够跟上最新的技术潮流。CodeMeter软件保护套件技术始终保持最新状态并拥有完备新功能,能够胜任各种不同需求,为软件开发者提供顶级保护技术并适用于任何新环境和新技术。全新AxProtector Python即是对这一理念的完美诠释。全新AxProtector Python即对这一理念的完美诠翻译言,但很快他们Python语言因其简单、易学、易维护、速度快的特点受到前所未有的欢迎,随着Python版本的不断更新和语言新功能的添加,近年来更是逐渐被用于独立的、大型项目的开发。 当这些小工具成长起来,并凭借自己的能力为软件开发者创造有价值的IP时,则需要最好的方法来保护和授权他们的劳动成果。

如何保护脚本语言?

Python是一种以源代码形式存在的脚本语言。如何保护Python代码?首选方案即是将其转换为本机代码,然后使用AxProtector加密生成的二进制文件。该方案在大多情况下都是极好的选择,但是软件开发者通常需要为不同的平台以多种不同的二进制形式生成程序,方便用户跨平台选择。而且,软件开发者必须相信自己的编译工具能够创建出不仅正确而且能如所期望的那样顺利工作的本地代码。在某些情况下,将代码转换为本机形式会使某些用例变得困难,甚至完全不可能,比如客户能够将受保护的函数集成到自己的Python脚本中。这就有足够的理由去寻找全新的解决方案保护像Python这样的脚本语言,而无需通过第三方工具。

最大的挑战在于如何在一个安全的环境中检查许可证并解密代码——乍一看,对于用户可以以源代码形式访问的脚本来说,这是一项不可能完成的任务。威步提供的全新本地组件运行时组件CPSRT (CodeMeter Protection Suite runtime)将会是完美解决方案,可以在远离窥视的情况下处理所有这些操作。

本地代码库

方法即是在需要保护的脚本中加密相关函数的内容,然后将加密代码传递给本机CPSRT组件。这将检查所需的许可证、解密函数,并将它们发送回解释器,在那里执行函数。本机组件还可以接管脚本语言的其他工作,例如进行定期许可证检查或跟踪调试器。

本机组件受AxProtector保护,以阻止潜在的攻击者对其篡改。加强自身的保护与为它和受保护的应用程序之间的通信提供正确的保护同样重要。通信通道似乎是攻击者的理想目标——简单地监听通信以找出需要知道的一切,或者甚至像典型的中间人攻击那样注入自己的恶意指令。这就是为什么威步的开发者与其安全专家合作并提出了一个万无一失的通信加密系统的原因。

通信加密

当加载本机组件时,将启动一条加密的通信线路,使用为受保护的应用程序创建的证书。

复制保护密钥证书和受保护者证书这两个证书形成签名链中的链接,将威步提供给软件开发商的许可方私钥证书连接到威步自己的根证书。

受保护的应用程序(即受保护程序)可以使用受保护程序证书向本机组件进行身份验证,并显示它具有访问许可证和解密功能的权限。反之亦然,本机组件有一个由威步签署的证书,以配合受保护的应用程序来识别自己并证明其真实性。在此过程确保信任的情况下,两者可以共同协商通信密钥,而不会受到外部干扰。

本机组件还将仅执行受保护应用程序中具有正确证书的公司码的指令(例如,用于解密代码)。它还可以使用这些证书来检查受保护应用程序的完整性,从其第一次启动开始阻止被操纵的软件。

证书

该证书链最初为通用公司码引入的基础设施,尽管这并不排除使用CodeMeter老版本公司码甚至是使用WibuKey的软件开发者。他们还可以通过他们的Firm Security Box (FSB)使用具有相同证书基础结构的新的本机组件。所需的证书将在下一次更新所有CodeMeter公司代码时自动推出;不愿等待的开发者可以随时免费更新。

如果您的FSB(母锁)缺少证书,您将在下次尝试加密应用程序时收到通知,并提供给您有关您应该采取的后续步骤的详细信息。

新的本地组件目前由AxProtector.NET和AxProtector Python使用,但很快将推广到其他AxProtector变体,并为保护机制提供本机组件的附加功能,使软件更加安全。

安装要求

本机组件需要在用户的计算机上可用。使用AxProtector .net,将其复制到受保护的文件夹中,其中保存了加密的程序集和其他所需的文件。由于.net无法预先知道程序集最终在哪个平台上执行,所以本地组件包含不同平台的版本,以多个子文件夹中的CPSRT.dll文件的形式存在。从10.70a版本开始,AxProtector . net保护的程序集查找CPSRT.dll的机制得到了改进:首先在应用程序的文件夹及其子文件夹中查找,然后在PATH变量中命名的所有其他位置查找。

CodeMeter 7.30版本将随安装程序附带的CPSRT.dll一起发布,并安装新组件的最新版本,以避免手动发布它。威步一如既往地致力于向后兼容,因此任何受CodeMeter Protection Suite保护的应用程序都可以继续完美地与最新CPSRT.dll集成。

 

KEYnote 41 – Edition Spring 2021

To top