加密锁/加密狗ET199(包含网络锁功能)

       加密锁/加密狗ET199超级多功能锁(包含网络锁功能)是一款无驱并可以同时支持软件保护和身份认证的多功能USB设备。硬件采用16位国外进口高性能智能卡芯片,提供64K用户存储空间,硬件支持512/1024/2048位RSA、DES/3DES、SHA1、MD5算法,具有超高性价比。ET199通过世界领先成熟的C51锁内编程技术,保证加密后的软件无法破解。

16位进口高性能智能卡硬件核心,彻底杜绝复制风险 
同类智能卡产品价格最低,最大限度节省购买成本
独家承诺三年免费保换
可选择灵巧薄片外观,拇指大小,时尚方便
全系统兼容的高速HID无驱USB设备
USB通讯硬件级加密,有效防止USB端口数据劫持,保证了传输数据的安全性
单个硬件多种功能
世界领先的锁内编程技术,使用成熟的C51语言开发
高强度外壳保护(数据保护中心)。不仅保护PE,.Net程序,还可以保护PDF,Flash和视频文件
硬件内部支持512/1024/2048位RSA非对称算法
硬件内部支持DES/3DES对称算法
硬件内部支持MD5、SHA1散列算法
硬件内部支持单/双精度浮点运算
64K超大安全存储空间
全球唯一64位硬件序列号
安全远程升级
支持网络锁功能
Windows、Linux、Mac跨平台支持(具体支持版本需咨询)

      ET199采用16位国外进口高性能智能卡芯片,锁内通过成熟的C51语言进行编程,是当今加密强度最高的加密锁。这里简单介绍一下ET199的开发过程,以便完全发挥ET199的全部功能。 
      (1)按照《ET199用户手册-加密锁篇》5.1节安装和配置KEIL环境。其中5.1.1节中使用工具自动配置,5.1.2节通过手动配置,建议通过5.1.2节进行,以便精确了解其过程。后面的章节以一个简单的C51程序作为示例,便于开发人员熟悉KEIL环境。
      (2)使用ET199虚拟文件管理工具VfsSet.exe创建一个后缀为.etfs的虚拟文件。
      (3)打开一个C51工程,点击魔术棒图标,出现工程配置对话框。选择Debug标签,在“Use:”后面选择ET199(如果没有发现ET199,您还没有完成(1)中的过程),点击“Settings”按钮,弹出配置对话框。


      “ET199 VFS:”后面选择(2)中创建的虚拟文件。“File Path:”后面设置在锁内的路径。ET199支持3级目录结构,建议只在跟目录下就可以了,这样即不影响安全性,又简洁方便。路径设为“”即可。
      “File ID:”后面是正在编写的C51可执行文件的文件ID。
      “Real Card:”后面选择ET199的真实设备,如果选择为空,那么表明没有插入ET199或者ET199不是加密锁格式。建议使用真实设备,只有真实设备才能完成ET199的所有功能。
      “Dev PIN”:后面是开发商口令。建议开发时使用默认的开发商口令,这样会减少开发商锁死的情况,造成退还给我们重烧的麻烦。但开发商口令一定要进行修改,等开发完毕后,最后修改开发商口令。
      (4)上述配置完毕后,就可以点击下载图标将编译好的C51可执行文件下载到ET199中。下载过程为:将编译好的C51程序下载到虚拟文件中,清空ET199中的所有数据,将虚拟文件下载到ET199中。这样的好处是既能将正在编写的C51程序更新,同时也不影响锁内其他文件(密钥文件,数据文件,其他C51可执行文件)。如果要更改其他可执行文件,只需要在(3)中的File ID后更改一下。更改数据文件和密钥文件需要使用ET199虚拟文件管理工具VfsSet.exe。


      (5)锁内程序编写好后,就可以使用上层的各种语言接口来调用锁内可执行文件完成读写数据、RSA加解密、3DES加解密、双精度浮点运算等功能。

硬件核心:16位国外进口高性能智能卡,彻底杜绝硬件复制 
锁内硬件可编程:可使用成熟的C51语言开发锁内程序
USB通讯:硬件级通讯加密,有效防止USB端口数据劫持,保证了传输数据的安全性
文件存储:可执行文件、密钥文件等机密文件不可导出,杜绝锁内算法泄漏
安全数据存储:智能卡硬件保证锁内数据安全存储
非对称加解密算法:硬件内部支持512/1024/2048位RSA非对称算法
对称加解密算法:硬件内部支持DES/3DES对称算法
散列算法:硬件内部支持MD5、SHA1散列算法
复杂数学运算:硬件内部支持单/双精度浮点运算
外壳加密:高强度外壳保护
VS.Net外壳加密:提供针对VS.Net程序的高强度外壳保护
远程升级:建立在RSA算法体系上的安全远程升级
全球唯一ID:64位(bits)
超大用户空间:64k

开发商口令(24字节):开发商在进行软件保护开发时使用到的,用于对ET199进行设置,如:创建文件/目录,删除文件/目录,设置客户号,设置ATR等。初始值为:“123456781234567812345678”。 
用户口令(8字节):在程序中调用ET199中的可执行文件前,需要验证用户口令。初始值为:“12345678”。
口令权限和重试次数:ET199中每个目录都有各自的开发商口令和用户口令。重试次数可以设置为1~254次,当设置为0或者255时表明没有重试次数限制。注意:当根目录开发商口令锁死后,没有任何办法能恢复,只能退回来重新生产。
客户号(4字节):通过种子机制产生,设置前需要验证根目录开发商口令。种子机制的优势:种子是由开发商自己设定的一串数据,其他人即使得到客户号,但不知道产生该客户号的种子,因此无法制作相同客户号的ET199。
ATR(16字节):设置ATR,设置前需要验证根目录开发商口令。
可执行文件:可执行文件是由C51语言编写的,在加密锁内部运行的文件。通过开发商口令验证后,在锁内创建,该文件不能被读取。杜绝锁内算法泄漏。
内部数据文件:存放数据信息的文件。该文件在开发商口令验证后,可以通过API接口写入。或者通过锁内可执行文件来读取和写入。
密钥文件:存储RSA密钥对(公钥和私钥)的文件。写入时需要验证开发商口令,公钥可以读取,私钥文件不能读取。杜绝锁内私钥泄漏。

SDK(Software Development Kit)是为开发人员提供的开发包,您购买ET系列产品后,需要到“资源下载”页面下载开发所需要的资源,SDK内容包括: 
软件保护:
      锁内C51语言接口
      PC端API函数接口
      高强度外壳加密
      VS.Net外壳加密
工具:
      高强度外壳加密工具
      VS.Net外壳加密工具
      设置工具:将ET199初始化为加密锁格式或者空锁格式、运行锁内可执行文件、产生RSA公私钥等。
      虚拟文件系统工具:虚拟ET199硬件
      ET199系统诊断工具:诊断运行时的问题
      KEIL配置工具:配置KEIL环境
支持编程语言:
      Visual C++
      Visual Basic
      Delphi
      C++ Bulider
      Power Builder
      Java
      VS.Net
      易语言
      更多……(包括32位和64位版本)
支持操作系统平台:
      WINDOWS 98SE/Me/2000/XP/Server 2003/Vista/2008/Win7(包括32位和64位)及各补丁版本
Linux各版本(包括32位和64位)

核心芯片:16位进口高性能智能卡 
硬件序列号:全球唯一64位(bit)硬件序列号
安全存储空间:64K字节
硬件内置非对称算法:512/1024/2048位RSA算法
硬件内置对称算法:DES/3DES
硬件内置散列算法:MD5、SHA1散列算法
复杂数学运算:硬件内部支持单/双精度浮点运算
读次数:没有限制
写次数:至少10万次
USB通讯:全系统兼容的高速HID无驱USB设备,USB1.1标准设备,兼容USB2.0接口。通讯硬件级加密。

默认外壳:ABS工程塑料,表面抛光处理 
默认颜色:瓷白色
外壳尺寸: 57×19×9 (毫米)
重量:10克
防水:防水浸泡10分钟
接口类型:USB A类接头
工作温度:0℃~60℃
存放温度:-25℃~80℃
工作湿度:20%~80%
工作功率:0.5W(最大)
工作电压:5V
工作电流:100mA(最大)
数据保存年限:至少10年
条形码贴码:ET199侧面贴有一个12个数字的条形码,该数字是唯一的。

保修时间:业内独家承诺三年免费保换,终身维护。  
保修运费:维修锁的往返运费由用户承担。为了节省运费,建议在再次购买前,将需要维修的锁先寄回,这样在发送新锁时将维修锁一起寄回,节省一次运费。

资源下载

ET199/ET金刚锁软件保护资源全部下载。

加密狗、加密锁ET199超级多功能锁用户手册-加密锁篇

设置工具,可以批量对ET199进行格式化,制作,下载文件,PIN管理,密钥管理等操作。见用户手册(加密锁篇)5.2节

虚拟文件系统管理器。见用户手册(加密锁篇)5.3节

KEIL环境设置工具。用于创建ET199 KEIL-C51工程的工具,使用该工具需要保持与目录Library、Include的结构不变。见用户手册(加密锁篇)5.1节

错误搜集和报告工具

将double双精度浮点数转换成8字节数组或将8字节数组转换成double双精度浮点数

ET智能虚拟化高强度加密工具基于ET金刚锁/ET199两种加密锁。采用先进的智能虚拟机技术,与传统的外壳有本质区别。该工具是目前操作最简单,加密强度最高的加密工具,支持各种常见的PE文件。用户不需要编写程序就能够完成强度极高的加密,是“0”代码高强度加密的首选。同时本工具还支持64位程序的虚拟化加密,见下载包中x64目录。

ET199外壳加密视频演示

加密狗/加密锁ET199支持PE格式的EXE,DLL等程序。支持.Net开发的C#,VB.Net等程序。支持Java程序。支持PDF,Flash,视频等数据文件。

KEIL C51内使用加密锁功能的系统调用库和头文件

Borland C++ Builder接口

COM接口

Borland Delphi接口

通用的DLL动态库接口,包括32位和64位。

Java接口

Microsoft Visual C++ 静态库,包括32位和64位。

VB调用的bas声明文件

NPAPI接口,用于Firefox上调用。

BCB示例

VC示例

Delphi示例

Java示例

VB示例

64位操作系统上的示例

包括C#,VB.NET

PB示例

教程示例。包括基本操作,代码移值,文件操作,数学运算,密码学算法等

NPAPI示例

本示例将演示软件中读写存储在ET199中内部数据文件的数据。压缩包中有一个视频,演示了如何配置KEIL,使用VfsSet工具和DrvSet工具等

本示例将演示软件中使用RSA公钥进行加解密,ET199中使用RSA私钥进行解加密

本示例将演示使用RSA私钥进行签名,使用RSA公钥验证签名

本示例将演示如何使用ET199对试用版软件进行时间限制,其效果和强度完全和使用时间芯片加密一样,同时又可以避免时间芯片成本较高和电池失效等问题

本示例将演示如何远程安全的升级ET199的锁内文件

本示例将演示ET199的可执行文件共享ET199中的内存

本示例将演示在程序中监测ET199插拔事件

使用C51完成符合PKCS#1标准的签名过程。

本示例将演示ET199通过ActiveX控件在网页中调用

ET199网络模块。不用更换硬件就可以完成网络锁功能。

ET199 Linux开发包

常见问题

      在使用统一外壳工具加密成功之后,还要进行下面两步操作:
      1.打开vs的命令行(如下图所示)

      2.在命令行中输入sn命令(如下图所示): sn -Ra [加密后的文件路径] [snk文件路径]
      注意:命令行中的snk文件为客户程序中的snk文件(BOLKeyPair.snk),非加密工具生成的snk文件。这一步操作是为了用正确的强命名文件,重新给加密后的文件签名。

      对由C#程序加密后,包括exe或者dll。当程序不能运行时,需要将加密后文件的文件名改成原文件名。如原文件为abc.exe,加密后为abc_packed.exe,这时需将abc_packed.exe改名为abc.exe运行。

      先使用lsusb查看是否有ET99/ET199。然后增加.rules文件,文件名可以随意,完成后重启计算机。.rules文件一般位于/etc/udev/rules.d目录下.rules文件内容为
      ET99:
      BUS==”usb”, SYSFS{idVendor}==”096e”, SYSFS{idProduct}==”0303″, MODE=”0666″


      ET199:
      BUS==”usb”, SYSFS{idVendor}==”096e”, SYSFS{idProduct}==”0304″, MODE=”0666″

      ET199读写数据需要编写C51程序进行。过程如下:在锁内创建一个数据文件和一个用于读写数据的C51可执行文件。您可以参看ET199软件保护下载专区中读写方案的示例。这样的过程虽然比直接使用接口读取麻烦些,但它的好处就是增加了安全性,在读写时可以在ET199硬件内部做很多处理,而这些不是在计算机内存中,大大增加了安全性。

      ET199硬件有三种状态:空锁,加密锁(加密锁格式),身份认证锁(PKI格式)。

      出厂默认为加密锁格式。

      当需要使用身份认功能时,需要使用ET199加密锁设置工具DrvSet.exe或API接口将ET199格式化为空锁(见《ET199用户手册-加密锁篇》5.2.2节或者7.1.15节中的说明)。然后再使用PKI设置工具DevFormat.exe进行PKI格式化(见《ET199用户手册-身份认证篇》中的4.2.2节)。工具可以在ET199下载专区中下载。

      使用DrvSet格式化工具格式化成空锁。

      使用DrvFormat格式化工具格式化成PKI格式。

      将PKI格式的ET199恢复为加密锁时,需要先使用PKI设置工具DevFormat.exe格式化为空锁(见《ET199用户手册-身份认证篇》中的4.2.1节),然后再使用ET199加密锁设置工具DrvSet.exe(见《ET199用户手册-加密锁篇》5.2.2节或者7.1.15节中的说明),将ET199格式化为加密锁。

      ET199采用16位国外进口高性能智能卡芯片,锁内通过成熟的C51语言进行编程,是当今加密强度最高的加密锁。这里简单介绍一下ET199的开发过程,以便完全发挥ET199的全部功能。

      (1)按照《ET199用户手册-加密锁篇》5.1节安装和配置KEIL环境。其中5.1.1节中使用工具自动配置,5.1.2节通过手动配置,建议通过5.1.2节进行,以便精确了解其过程。后面的章节以一个简单的C51程序作为示例,便于开发人员熟悉KEIL环境。

      (2)使用ET199虚拟文件管理工具VfsSet.exe创建一个后缀为.etfs的虚拟文件。

      (3)打开一个C51工程,点击魔术棒图标,出现工程配置对话框。选择Debug标签,在“Use:”后面选择ET199(如果没有发现ET199,您还没有完成(1)中的过程),点击“Settings”按钮,弹出配置对话框。

      “ET199 VFS:”后面选择(2)中创建的虚拟文件。

      “File Path:”后面设置在锁内的路径。ET199支持3级目录结构,建议只在跟目录下就可以了,这样即不影响安全性,又简洁方便。路径设为“\”即可。

      “File ID:”后面是正在编写的C51可执行文件的文件ID。

      “Real Card:”后面选择ET199的真实设备,如果选择为空,那么表明没有插入ET199或者ET199不是加密锁格式。建议使用真实设备,只有真实设备才能完成ET199的所有功能。

      “Dev PIN”:后面是开发商口令。建议开发时使用默认的开发商口令,这样会减少开发商锁死的情况,造成退还给我们重烧的麻烦。但开发商口令一定要进行修改,等开发完毕后,最后修改开发商口令。

      (4)上述配置完毕后,就可以点击下载图标将编译好的C51可执行文件下载到ET199中。下载过程为:将编译好的C51程序下载到虚拟文件中,清空ET199中的所有数据,将虚拟文件下载到ET199中。这样的好处是既能将正在编写的C51程序更新,同时也不影响锁内其他文件(密钥文件,数据文件,其他C51可执行文件)。如果要更改其他可执行文件,只需要在(3)中的File ID后更改一下。更改数据文件和密钥文件需要使用ET199虚拟文件管理工具VfsSet.exe。

      (5)锁内程序编写好后,就可以使用上层的各种语言接口来调用锁内可执行文件完成读写数据、RSA加解密、3DES加解密、双精度浮点运算等功能。

      开发商口令(24字节):该口令是开发商在进行软件保护开发时使用到的,其作用主要是对ET199硬件进行设置,如:创建文件/目录,删除文件/目录等。该口令为24个字节,初始值为:“123456781234567812345678”,十六进制表示为“0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38”。虽然开发商口令只能向锁内写入和删除文件,而不能获取锁内的任何数据,但还是建议开发商在创建完成一个目录后,将默认的开发商口令更改成自己的设定的独特值,以防止被非法者获取。

      用户口令(8字节):该口令是用来调用ET199中的可执行文件的。在应用程序中调用加密锁内可执行文件时,需要先验证该用户口令。用户口令为8个字节,初始值为:“12345678”,十六进制表示为“0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38”。

      开发商口令和用户口令都可以设置重试次数限制,出厂时没有设置重试次数,开发商可以通过ETChangePin接口函数进行设置。特别注意:当根目录被开发商口令锁死后,没有任何办法可以恢复,您只能退回给我们重新烧制。因此建议在开发时使用默认的口令,以防止忘记口令,验证失败等情况,开发完成后一定要修改开发商口令。

      ET199中的文件系统与Windows的文件系统一样,是目录/文件结构,文件包括:可执行文件,数据文件和密钥文件。每个文件和目录都有自己的ID,这个ID为2个字节,例如:0x1002,0x100A等。同一级目录和文件的ID不能重复。

  1. ET199目录特性
    • 只有一个根目录,根目录下可以创建子目录。ET199只支持三级目录结构(包括根目录,如:\0001\0002,表示根目录(“\”,第一级)下ID为0x0001的目录(“0001”,第二级)下的ID为0x0002的目录(“0002”,第三级))。根目录占有ET199中所有的用户空间。建议开发人员只在根目录下进行开发,简洁方便。
    • 每个目录都有自己的开发商口令和用户口令,请注意不要将根目录的开发商口令锁死。
    • 建立目录时,需要指定目录所占的空间大小。目录建立后,无法修改目录所占有的空间尺寸。注意:子目录的空间不能超过其所在目录的可使用空间。
    • 子目录不能被删除,只能将子目录中的内容(包括子目录下的目录和文件)清空,在清空后,子目录的开发商口令和用户口令恢复为初始值。如果要删除这个目录,只能将该目录的父目录进行清空操作。如果目录为根目录,则删除根目录。再次使用时需要重新创建根目录。
  2. ET199文件特性
    • 可执行文件:可执行文件是由C51语言编写的,在加密锁内部运行的文件。您的应用程序运行时,调用我们提供的各种语言的API接口,向该文件传入输入数据,可执行文件在加密锁内部运行后,将结果返回给外部的应用程序。
      普通可执行文件:可以被其他可执行文件改写,开发商口令可以创建和写入,用户口令只能运行。文件中的内容不能被任何人读取。当需要远程升级时,只能创建普通可执行文件,这样可以通过程序改写锁内的可执行文件。
      内部可执行文件:不能被其他可执行文件改写,开发商口令可以创建和写入,用户口令只能运行。文件中的内容不能被任何人读取。由于内部可执行文件不能被改写,因此开发商需要远程升级时,不能创建这种类型的文件。
    • 内部数据文件:存放数据信息的文件。该文件在开发商口令验证后,可以通过API接口写入。或者通过锁内可执行文件来读取和写入。即应用程序调用外部的API接口,API接口调用ET199内部的可执行文件,可执行文件(通过C51语言)读写内部数据文件。
    • 密钥文件:存储RSA密钥对(公钥和私钥)的文件。对于公钥文件开发商口令可以写,可执行文件可以读写。对于私钥文件,开发商口令可以写,但文件中的内容不能被任何人读取。在使用ET199加密锁设置工具(见5.2节中的说明)产生RSA密钥对时会返回公钥和私钥的数据,因为私钥文件不能读取,只有在这时才能备份相关数据,因此开发商需要妥善保存,以备以后使用。
      各种文件与口令的权限关系总结如下:
      表1 文件与口令权限关系表
       开发商口令验证用户口令验证可执行文件
      可执行文件普通写入调用写入
      内部写入调用
      内部数据文件写入写入/读取
      密钥文件公钥写入写入/读取
      私钥写入写入
  • 客户号:为了区分不同的ET199使用者,方便管理,不同的软件开发商订购的ET199硬件的客户号是不同的。客户号为4个字节,开发商可以通过API接口函数得到这个客户号,来判断是否是自己购买的ET199。
  • ATR文件:ET199内置一个16字节的ATR文件,用户可以通过API接口来写入和读取这个文件中的内容。在写入ATR文件时,需要验证根目录开发商口令。开发商可以设定ATR文件中的内容,然后根据这个内容来判断是否是自己所购买的锁。
  • 硬件序列号:每一把ET199都有一个唯一的硬件序列号,8个字节(64位),开发商可以通过这个特性在软件中进行处理。

      开发商可以通过ETControl接口来对客户号,ATR文件和硬件序列号进行操作。

  1. 可以先检查一下是不是硬件损坏(请参看“检查USB设备与计算机是否正常连接”问题说明)。步骤如下:
    • 在桌面“我的电脑”图标点击右键,选择“属性”。
    • 选择“硬件”标签,并按“设备管理器”按钮。
    • 在出现的设备窗口中找到“人体学输入设备”,点开前面的加号。双击HID-compliant device。
    • 点开详细信息,在下面的显示框中看是否有:VID_096E PID_0304。
  2. 您使用DrvSet.exe或者DevFormat.exe工具试一下,看工具能否找到ET199硬件。
    如果以上都可以的话,使用就没有问题了。另外这时可以在多台机器上测试一下,以便排除确认问题。

      在桌面“我的电脑”图标点击右键,选择“属性”

      选择“硬件”标签,并按“设备管理器”按钮

      在出现的设备窗口中找到“人体学输入设备”,点开前面的加号。双击HID-compliant device

      点开详细信息,在下面的显示框中看是否有:VID_096E PID_0304

      如果这个步骤正常,表明计算机与ET199连接正常。

      目前无驱的技术主要分为:HID、SCSI和CCID。

      SCSI主要用于U盘等设备,主要应用于数据量大的传输中,但只有在Windows2000以上操作系统中不需要安装驱动,同时也受到是否是系统管理员访问的影响。

      CCID设备同样也只能应用于Windows2000+SP4以上的操作系统中。

      相比较而言,高速HID无驱设备兼容性强,工作稳定,能够适合从Windows98至Windows7的所有操作系统,即插即用。特别适合兼容性和稳定性要求高,且数据量不大的应用中。同时,ET系列采用高速HID通讯,满足各种高速需求。HID设备也能够在Linux、Unix、MAC等系统中稳定工作。

      USB设备为标准的HID无驱设备,即插即用。遇到机器不认时,一般有3种情况。

      (1)有干扰或是接触不良,请您重新插入或者更换计算机上的其它USB端口。

      (2)在Win2000以上的操作系统使用系统自带的驱动,不需要独立安装驱动。但在不完善的操作系统安装过程中会去掉系统驱动,用户需要在同版本的操作系统中将WINDOWS\Driver Cache\i386\driver.cab文件拷贝到不完善的操作系统的相应目录中。

      (3)请检查是否关闭了BIOS中的USB支持选项。

       另外,在Win98上安装时需要Windows98的系统安装盘上的base6.cab包。Win2000以上操作系统不需要系统安装盘,即插即用。如果在计算机上不能认到USB设备,请使用USB鼠标或者USB键盘来检测计算机的系统是否支持标准HID设备。