标题：CodeMeter
概述
CodeMeter是威步公司2004年推出的软件加密技术，主要用于软件保护，防止盗版及防止代码的逆向工程、反编译，使用了目前最安全的加密技术。其核心组件为小型USB硬件设备CmDongle硬件加密狗，这一硬件设备内置一智能卡（Smart Card）芯片，包含384kByte的安全存储量，软件开发商可以用于存储许可证和许可证相关数据。一个CmDongle硬件加密狗可以存储至少100个不同开发商的1,000个许可证信息。CodeMeter具有多项专利技术的按需加解密技术，监测并防止软件的非法入侵，采用了目前最先进的商业算法、对称算法、AES算法及非对称算法ECC算法。
  威步硬件加密狗德国威步信息系统股份公司，是处于领导地位的基于硬件的软件保护、文档保护、身份认证、媒体保护解决方案的生产商，其产品CodeMeter的软件保护技术为所有的操作平台提供了一个软件保护的解决方案。通过CodeMeter的软件保护，只有当CM-Stick里存放有正确的许可，并将它链接在pc机上或在同一个网络系统中就可以使用。[1]
产品简介
CodeMeter是一款综合的软件加密解决方案，包括硬件加密狗及软授权技术，软件开发商可以根据自己的需求选择是用硬件狗还是PC绑定的方式管理授权。  全球最小加密狗
CodeMeter的软件加密工具AxProtector和IxProtector均采用运行时自动解密，运行之后重新加密的核心专利技术，可以有效的防止破解者的调试跟踪和非法入侵。目前这两种加密技术可支持WindowsPE程序、Windows ARM程序、Windows CE程序、Linux程序、LinuxARM程序、Mac OS程序以及.net程序及Jar包。另外CodeMeter还可以为嵌入式平台CoDeSys系统开发的PLC工程进行全自动加密。
CodeMeter可以实现各种各样的授权模式，包括单机、网络、时间授权、按使用次数授权及分模块管理等。
具备优势
CodeMeter相比其他软件加密产品来说是一款综合的加密解决方案，其具备的多种功能，可以给开发者甚至是最终使用者带来帮助。  最小加密狗在笔记本上的占用空间展示
按需加解密技术的应用：保证代码不被非法篡改或被逆向工程；
随机数加密：保证通讯通道的安全，不被模拟仿真，不被硬件复制；
AES和ECC加密算法：保证通讯通道的安全，数据不被侦听，通讯数据不被截获；
EAL4+智能卡芯片：防止电子探测、物理攻击等硬件分析破解法，防止硬件复制；
FSB(母狗)的使用：正式使用的母狗（主锁）是全球唯一指定的，用于软件加密和软件授权，保证授权的安全；
灵活的授权模式：可以帮助开发者建立最为灵活的授权模式；
远程更新：无需邮寄硬件，无需最终用户提取硬件狗信息，即可远程更新硬件狗中授权；
自定义UserMessage：无需开发者做任何开发，即可通过该配置文件自定义用户出错信息；
CodeMeter控制中心：CmDongle硬件加密狗或CmActLicense软授权的客户端工具，方便授权情况，升级硬件狗及设定网络授权功能。
核心技术
AxProtector和IxProtector为CodeMeter采用的核心加密技术，AxProtector为全自动加密工具，无需开发者改动任何代码，即可实现软件全自动加密 ；IxProtector为自定义加密工具，开发者可根据自己的需求，采用该技术自定义加密函数进一步提高软件的加密强度，或者实现自己个性化的需求。
AxProtector和IxProtector的独特性决定其能够支持多种操作系统和运行环境。AxProtector或IxProtector是首款可以在Windows，Mac OS，Linux，VxWorks和Windows CE等多平台上运行的软件保护工具，同样也适用于本地Java或.NET应用程序。
AxProtector外壳工具AxProtector原理：
软件被自动的、完全的加密后，并提供给AxProtector的安全引擎运行。这个安全引擎将会检查并管理软件的许可，并且提供强大的工具防止破解者的反编译及调试分析。通过按需加密的功能，程序只在需要调用时进行解密。
AxProtector提供以下选项可以有效地防止盗版：
动态的加密锁检测工具
动态检测反编译工具
AxProtector综述：
自动加密保护，无需做任何代码工作，即可轻松实现加密；
加密执行代码；
在内存中解密基于按需解密技术而具有最高的安全性；
提供全面的反调试工具、反跟踪工具；
使用自动工具十分容易与软件整合，并且可以AxProtector工具中轻松实现；
支持所有已应用的许可和网络选项。
IxProtector加密技术IxProtector原理：
使用IxProtector可在软件代码段中自定义需要加密的函数段。这些区域会通过锁内的算法进行加密以增加其安全性。然后再使用IxProtector工具对其进行加密，在AxProtector对其进行外壳处理前，该工具会自动搜索程序段中指定的代码段，并通过指定的许可参数对这些代码进行加密。开发者还可指定他的代码何时进行解密，并且在程序运行时还可以对这些解密后的代码进行实时加密。IxProtector可以与AxProtector完美结合，达到部分代码或函数在内存中按需解密，即时加密等效果，能真正达到防止内存段中被Dump的效果。
IxProtector使用了以下加密方法和机制：
Required InformationDecryption（RID 按需解密技术）：使用RID技术，应用程序的许多内容或区域在运行之前被加密。用于判断的密钥安全地存储于加密狗硬件当中，这种软件保护措施可以很好地防止内存补丁及模拟驱动等破解方法。
Random EncryptionDecryption(RED 随机数加解密技术)：采用随机数加解密技术，能够对通讯数据进行很好的加密，就能够很好地防止录制、回放等破解手段。
AXAN 分段加解密技术：采用AXAN 技术，您可以对您所需要的软件进行分段加密，可以把代码加密集中到应用程序中。这个安全标准目前为世界领先技术。
IxProtector的高安全性
采用了IxProtector技术，即使内存被Dump也不可能被生成可执行代码；破解者必须了解软件所有相关信息才能试图破解。
IxProtector提供的WUPI函数，可以对软件实现按需解密、即时加密等加密技术，保证软件在内存当中不可能被完全Dump出来。
CmDongle技术参数
支持操作系统：Windows98,Me,2000,XP.2003.7,2008,2012,CE,Mobile,ARM/Mac OS X/Linux/LinuxARM/Unix/CodeSys/VxWorks  CodeMeter在工控机上的使用
加密算法：AES ECC 3DES SHA-256,Random Number(FIPS140-1)
处理器芯片：32bit secure ARM Processor,PC CARD,ExpressCARD(SD CARD,CF CARD)
接口类型：USB2.0
工作温度：0-55℃
存放温度：零下40℃到零上80℃
湿度：非冷凝
功率：USB<150mW
数据存储年限：>10年
数据修改次数：>1000万次
最长无故障运行时间：3,000,000小时
存储空间：384Kbyte
国际认证：符合众多国际标准: VDE, UL (USA and Canada), CE, FCC (USA), VCCI (Japan)，ROHS
产品型号
产品名称 / 产品描述
CmStick：CmStick标准USB产品。适用于本地授权、网络授权以虚拟时钟计时的智能卡型加密狗。具有金属和塑料两种外壳供选择。
CmStick/M xGB ME：包含工业级SLC闪存用于数据存储。
CmStick/T：智能卡芯片中附有内置电池用于实时时钟供电。具有金属和塑料两种外壳供选择。
CmStick/C Basic；CmStick/C：超小型CmStick基本款。带有钥匙环的超小型CmStick。
CmStick/I；CmStick/I (mini)：使用内部USB接口，可安装在主板上。
CmCard/CF：CF卡接口，附有工业级SLC闪存用于数据存储，特别适用于嵌入式设备。
CmCard/SD：SD卡接口，附有工业级SLC闪存用于数据存储，特别适用于嵌入式设备。
CmCard/uSD：uSD卡接口，附有工业级SLC闪存用于数据存储，特别适用于嵌入式设备。
CmCard/E：ExPress卡接口，附有工业级SLC闪存用于数据存储，特别适用于嵌入式设备。
CmCard/M：PC卡接口，附有工业级SLC闪存用于数据存储，特别适用于嵌入式设备。
CmASIC：ASIC形式的智能卡加密狗，可以便于整合到主板中，它具备所有 CodeMeter许可功能并带有虚拟实时时钟功能。CodeMeter硬件加密狗系列(13张)
许可参数
CmDongle硬件狗和CmActLicense软授权的许可单元都由一个公司码和一个产品码指定的，FSB（母狗）是能指定公司码的唯一硬件，根据需要可以给不同的产品或不同的功能模块指定不同的产品码。每个许可单元包括以下数据：
Text : 该许可的描述
Unite Counter: 软件运行次数限制的计数器值
Activation Time: 许可有效期起始时间
Expiration Time：许可有效期结束时间
Feature Map: 模块信息或版本信息， 一个Feature Map值包含32个模块数据
Network Counter：并发用户数
Maintenance Time：有效加密时段
Protected Data：附加的255字节数据，用于存放许可的名称
Extended Protected Data：与Protected Data相同，大小为128*255字节
Hidden Data: 只能通过密码读取，可用于存储私密数据
Secret Data： 无法赢取，可用于存储密钥
User Data：无限制的数据，255字节，可用于存储软件的配置信息等
授权模式
“只需要一次方案整合，便可任意灵活使用授权。” 使用CodeMeter，开发者可以根据需要设定各种灵活的授权模式。
授权模式 / 描述
单机用户：单机许可在本地机器上或在本地连接的CmDongle上使用。软件在同一台计算机，或是云计算服务的机器上运行。
分模块授权：个别产品和模块通过个别许可来被激活。您可以通过附加组件的销售带来额外的收入。尤其是在嵌入式领域，技术工作人员插入使用相应的CmDongle可添加更多功能。
永久授权：该授权可以长期使用而不受时间限制。
试用版：用户仅能在规定使用时间内使用某些功能或软件。
出租、 租赁、预订：该授权只在设定的时间段有效，通过CodeMeter License Central您可自动更新、延长授权。
按次使用授权：该授权是根据被使用的次数来结算的，您可以自定义设置使用次数与功能。在云端，此许可主要是根据数据来结算。
维护授权（软件保障）：该永久授权主要为服务提供授权管理。用户无需激活可直接使用该授权。
旧版授权：该授权适用于旧版本软件的授权管理。重要客户可以在公司内部一直使用该授权，也可以随时决定是否更新版本。
缓期授权：该授权适用于对下一新版本的授权管理。这意味着即使最新版本已经发布了，该授权仍然适用于当前版本的管理。
批量授权(有限制)：您可以选择批量授权给您的大客户用于激活。
批量授权(无限制)：大客户可以选择发送一个可以多次使用的授权激活码给他的最终用户，使用次数的限额可以根据签订的合同而设定。(只适用于CmActLicense)
版本授权：针对同一款软件可被授权为单一版本，也可授权为多个不同版本。
冷备份：用户拥有临时备份授权，若正常授权出现异常，不能正常运行，激活该备份授权后，用户可使用备份授权。
热备份：用户拥有临时备份授权，如正常授权出现问题，不能正常运行，备份授权可以被即时替代使用。
高有效性的授权：用户拥有一冗余授权服务器。（原则上提供3选2的构架）
超出许可：用户可使用超出他购买的授权数量，超出部分可按实际使用数量付费。
用户绑定授权：该授权可与特定用户名绑定。
计算机绑定授权：该授权可与特定计算机名称绑定。
借出许可：在一限定时间内，用户可以通过硬件加密狗CmDongle或软授权CmActLicense从网络授权中出借部分授权到另一台电脑中。过期之后，该出借授权会自动归还，无需在在本地电中做任何设定。如果有必要，也可采用手动设置朝前或后置归还授权。
时间授权：该授权可绑定您需要授权的相关地理位置（按时区定义）。
授权工具
CodeMeter为开发者提供了多种授权写狗工具，开发者可以根据实际情况选择最适合自己工具。
CodeMeter Editor：该工具非常易于使用，通过GUI页面的形式可以快速编辑硬件狗CmDongle；
CmBoxPgm：命令行工具，该工具可能帮助您自行批处理创建授权许可；
CodeMeter License Cetral桌面版：该工具可以帮助您在局域网内实现许可的创建和管理，并可以存储到数据库中；
CodeMeter License Central企业版：该工具可以与您的CRM、ERP或电子商务平台整合对接并提供许可在线激活功能;
CodeMeterHIP：API，开发者可以通过API自己编写适合自己企业使用习惯的授权写狗工具。