信息平安工程实践平安编程基于 USBKey 的软件授权编程实验【实验内容】了解 USBKey 的使用和工作原理掌握通过 USBKey 控制软件启动和加密的简单程序【实验原理】USBKey 是一种插在计算机 USB 口上的软硬件结合的设备,USBKey 内置单片机或智能卡芯片,具有一定的存储空间和运算处理能力,使得 USBKey 具有推断、分析的处理能力,增强了主动的反解密能力
USBKey 的内置芯片里包含有专用的加密算法软件 ,USBKey 厂家提供一套 USBKey 的读写接口(API)给开发商,开发商在开发中通过在软件执行过程中和 USBKey 交换数据来实现加解密
目前多在 USBKey 中存储用户的私钥以及数字证书,利用 USB Key 内置的公钥算法实现对用户身份的认证,同时也可以通过 USBKey防止未授权的用户对软件进行复制和破解
【实验环境】运行环境:Microsoft Visual Studio 2024编程语言:C#【实验步骤】一、加密狗本实验使用的加密狗,是一种类似于 U 盘的小硬件,是一种防盗版的方式
加密狗就是一种插在计算机并行口上的软硬件结合的加密产品,为多数软件开发商所采纳加密狗一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的加密狗内部还包含了单片机
软件开发者可以通过接口函数和加密狗进行数据交换(即对加密狗进行读写),来检查加密狗是否插在并行口上;或者直接用加密狗附带的工具加密自己 EXE 文件(俗称"包壳")
这样,软件开发者可以在软件中设置多处软件锁,利用加密狗做为钥匙来翻开这些锁;假如没插加密狗或加密狗不对应,软件将不能正常执行
加密狗厂家都会提供一套加密狗的读写接口(API)给开发商,厂家卖给开发商的狗都有各自的区别,某个开发商只能操作自己买的加密狗
加密狗通过在软件执行过程中和加密狗交换数据来实现加密的,加密狗内置单