一、加密狗原理简介
加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或USB口上的硬件,及一套适用于各种语言的接口软件和工具软件。加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。
加密狗是外形酷似U盘的一种硬件设备,正名加密锁,后来发展成如今的一个软件保护的通俗行业名词,加密狗是一种插在计算机并行口上的软硬件结合的加密产品(新型加密狗也有USB口的)。一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在接口上;或者直接用软件狗附带的工具加密自己的EXE文件(俗称”包壳”)。这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。
加密狗是通过在软件执行过程中和加密狗交换数据来实现加密的。加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为“智能型”加密狗。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=12345、DogConvert(A)=43565。
二、第一次使用ROCKEY-ARM
一定要先认真阅读《ROCKEY-ARM产品介绍》和《ROCKEY-ARM用户工具使用手册》。
- 打开RyRAMNavigation.exe
点击进入“密码安全”标签页,导入刚才保存的种子码文件(bin文件),点击“生成”完成锁的初始化。
接下来,我们使用数据文件+密钥文件的方式来对软件进行加密,基本的思路是:先生成一对密钥,然后产生一组随机数作为原始数据,再用公钥对随机数进行加密,最后将加密的数据文件保存到锁内;程序通过API先读取锁内加密后的数据文件,然后用锁内的私钥进行解密,如果解密后的数据与原始数据完全相同,则获得软件使用权限。以上所有文件的操作权限只归开发商所有,原始数据也可以写到锁内。基本操作步骤如下:
- 生成密钥对
首先进入“文件管理”菜单页,选择文件类型为“RSA私钥文件”(选择ECCSM2私钥文件亦可),点击创建,弹出如下窗口:
- 产生随机数并加密
产生随机数的方法与上面初始化锁时的操作相同,然后进入“加密解密”菜单页,导入保存的随机数,选择“RSA公钥加密”,如下图所示:
首先设置文件的读写权限为“管理员”,输入文件ID,然后去掉“空文件”处的√,点击“导入”,打开刚才公钥加密后的数据文件,点击“创建”即可,如下图所示:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!