【学习笔记】激活码方式注册的实现原理述

https://blog.csdn.net/qq_27489007/article/details/100599143

1. 软件授权方式

激活码方式

用户安装系统后,软件系统会根据用户机器的关键信息(例如:MAC地址、CPU序列号、硬盘序列号等等)生成一个注册凭证(也可称为注册码),用户将这个注册凭证发送给软件供应商,供应商通过注册凭证生成一个激活码。用户输入激活码,软件系统完成授权。
不论是采用哪种方式来进行授权,理论上都是可以被破解的。只要破解者发现了软件授权机制和原理则任何保护机制都将化为乌有。因此,只能够通过选择复杂的算法和机制来增加破解者的破解难度,从而在在一定的时间内保证软件不被盗用。通常在行业应用软件领域,我们选用激活码方式进行软件授权管理。

2.激活码方式注册的实现原理述

RSA算法(非对称加密算法)是一个广泛用于加密和数字签名的算法,是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但那时想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥可以适用用户名+序列号、在线注册、激活码等软件保护方式。

image

RSA算法实现激活码注册方式的原理如下:
1. 生成一对公钥E和私钥D(供软件注册模板和注册机使用);
2. 用户安装软件后,软件注册模板提取用户机器指纹信息(如:MAC地址、CPU序列号、硬盘序列号等),并通过其它的编码算法(如BASE64)生成一个申请码C;
3. 用户将申请码C发给软件开发商。软件开发商通过注册机采用私钥D加密申请码C后生成激活码F。软件供应商将激活码F发给用户。
4. 用户输入激活码F,软件注册模板采用公钥E对激活码F解码后生成G(即:用户机器特征信息),然后软件注册模板提取用户机器的特定信息后进行编码。将编码的结果与G进行比较,如果相等则用户合法,完成授权,否则授权失败。
posted @ 2021-05-13 21:10  dozeoo  阅读(1252)  评论(0编辑  收藏  举报