OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1967|回复: 3

硬件授权问题

[复制链接]

22

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2013-4-25
在线时间
14 小时
发表于 2017-12-13 09:48:01 | 显示全部楼层 |阅读模式
5金钱
目前在做一个项目,老板要求硬件有个授权码的设置,例如我可以通过这个授权码告诉STM32运行多少天后就不工作了,给我公司交钱后,在获得一个授权码,然后又可以运行多少天。不知道哪位大神以前做过类似的。我现在的想法是在STM32上面加上RTC时钟,然后上位机发送一个经过加密后的授权码给STM32,STM32接收到然后译码出授权时间,然后根据当前时间加上授权日期,最终达到这一要求。问题点在于:1、我不知道加密授权算法;2、不知道STM32运行复杂的加密解码程序能不能胜任;3、这种方式容不容易被用户破解

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

330

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2294
金钱
2294
注册时间
2016-5-21
在线时间
954 小时
发表于 2017-12-13 10:19:22 | 显示全部楼层
1、自己写一种运算就行了,然后去设置使用时间;那么就没有第二种问题了;3、运算方式和设置方式不告诉别人一般还是可行的
回复

使用道具 举报

84

主题

766

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2775
金钱
2775
注册时间
2015-6-1
在线时间
394 小时
发表于 2017-12-13 10:21:46 | 显示全部楼层
没弄过这功能,不过我有一个土办法。。。可能不适合做项目,自己玩够了。
1、首次上电后ADC噪声取上10位左右的随机数作为这台设备的密码号,你记录下来,程序里也留个后门可以读取。然后开一块flash存这个随机数
2、再开一块flash设个初始值1,判断这个1和随机数是否相同,不同则开启RTC闹钟定时一个月,一个月后闹钟事件触发就不断强制进入死循环判断1和随机数是否相同,或是怕功耗大就不断待机+唤醒,反正目的是卡死stm32。
3、给用户这个随机数并存入flash,这样再开机,怎么判断都变成了随机数=随机数,而不再是1!=随机数。这时候就随你给RTC闹钟设一个大值,比如开个1年,一年后它会自动触发事件,再次将flash值变成1.
自在随心
回复

使用道具 举报

0

主题

207

帖子

0

精华

高级会员

Rank: 4

积分
959
金钱
959
注册时间
2017-5-27
在线时间
108 小时
发表于 2017-12-13 10:37:53 | 显示全部楼层
xxssl 发表于 2017-12-13 10:19
1、自己写一种运算就行了,然后去设置使用时间;那么就没有第二种问题了;3、运算方式和设置方式不告诉别人 ...

这种应该能实现,另外不需要外部RTC,直接定时器计s,统计运行时间,每隔几分钟写入flash,开机判断累计时间后来选择继续执行或者不断重启stm.

像这种授权的事情,本身就是防君子不防小人.没有破解不了的加密,只是时间与成本权衡的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 13:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表