1
89ao 22 小时 29 分钟前
不是设计者,我是用户。
反正经验来看,所有的不限次数的,基本都会被重复利用; 不联网续签的,也基本都会被滥用; |
2
cassidy0134 22 小时 6 分钟前 1
@victimsss YubiHSM ,用这东西,这是个物理密钥,他插在哪儿,哪台机器能用。
本地程序调用 HSM 接口拿信息、key 、滚动 token ,上传远端验证,信息过期、key 不对、token 过期,直接拒绝。 |
3
YiXinCoding 21 小时 44 分钟前 2
看着就麻烦了。
1. 设备烧录一个全局唯一的 ID 和公钥。 2. 后台维护每个设备 ID 的质保有效期和激活状态(同一个 ID 二次激活需要人工审核)。 3. 设备联网的时候取到包含有效期和私钥签名的 License 存起来,每次设备启动的时候公钥验签一遍就完事了。 License 只有服务端的私钥能加签名,伪造不了。要破解只能重新烧录。 |
4
seers 21 小时 26 分钟前 via Android
其实你只需要服务端生产一套 key ,每次联网下发公钥就行,每个设备生成一套或者共用都行,设备信息用设备唯一 id 进行一次 aes 再 rsa
|
5
Huelse 21 小时 18 分钟前
注意对设备自身固件进行数字签名验证,并且使用 https 等加密通信,其余就正常联网验证流程。
|
6
ttkanni 20 小时 7 分钟前
|
7
YiXinCoding 19 小时 56 分钟前
ID 和程序烧录到芯片里面,然后加上物理防拆,像 POS 机、身份证读卡器、ETC 设备,这种都有防拆。谁来硬破都难。
|
8
realpg 19 小时 26 分钟前
既然联网了 直接要求在线登录就完事了
激活码这种旧时代的方案也就是放纵盗版以及评估没有破解价值的场景才有点意义 |
9
Lukedis 17 小时 45 分钟前
能联网激活,就不要考虑其他方案,除非不在意被破解
|
10
heiya 3 小时 19 分钟前
@YiXinCoding 请教一下。我的需求是有不能联网的情况且代码要离线部署在客户服务器上,具体的要求是一个组织下有若干台设备,一个激活码控制着组织下的所有设备。现在的问题是纯软件的情况下不能百分百保证 A 组织的激活码不能被 B 组织使用,应该怎么设计呢?
|
11
YiXinCoding 2 小时 46 分钟前
@heiya 用机器码啊(也就是他们说的指纹)
1. 每个服务器的机器码是唯一的(根据 CPU 、内存、硬盘、操作系统等信息生成) 2. 程序启动先把机器码打印出来,让客户把机器码发来。 3. 然后管理员再根据机器码生成一个 License 给客户。 4. 然后客户再填入 License 激活,这个 License 就只能用于这一个机器码。 |
12
heiya 2 小时 4 分钟前
@YiXinCoding 感谢🙏 豁然开朗
|