欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1775|回復: 12
打印 上一主題 下一主題
收起左側

關于簽名認證的一點思考

[復制鏈接]
跳轉到指定樓層
樓主
ID:74687 發表于 2024-1-6 17:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
最近客戶又提了一個需求,這個需求不好搞,而且因為成本低廉,可能會賣不上一個好價格,但是可以綁上我的板子一起賣。所以費神費力地幫客戶解決這個問題。想了好久,才把一些原理的東西理順一點。

客戶想將上中下位機各部件做成一個整體,想替換成別人的設備就不能正常工作,要我開發一個簽名認證的設備。

因為我的板子處于中游,連接的是設備,客戶的需求,是我的一個板子要識別8個左右的設備,我想,如果一個設備,搞個加密的EEPROM,嵌進設備里就可以了,但是一個芯片要帶8個EEPROM,我好像搞不了。

那就換一個方案,用個SOP8的芯片,做個小板子嵌進設備里,通過串口與主板通信,當時想將認證信息加密后,發送給我板子的單片機,經解密比對后,判斷設備是否是我客戶生產的。因為是使用了串口通信,發送的數據都是可以被截取,別人也可以偽造一個一模一樣的數據發送過來。

所以問題就卡在發送的這個數據是什么,如果是序列號,根本阻止不了別人偽造密文。在這個問題上困擾了很久,后來在研究HMAC算法的時候,有人介紹過可以使用時間戳,可以防止別人偽造我們加密的信息。終于解決了我的問題了,如果別人通過監聽我的串口通信,截取的信息因為是加密的實時時間戳,等他寫好程序,再發給我上位機的時候,我板子芯片就能輕松判斷這是一個偽造的數據,因為他是一個過時的時間戳。

所以,簽名認證中一個重要的內容,加密信息的選取最好是選時間戳,然后經過HMAC算法加密后,再發給驗證芯片,經解密后再驗證芯片實時時間戳進行比對,如果差太多,肯定是偽造的,注意這里比對的方法是兩個時間戳相減的絕對值要小于一個范圍,才符合要求。這個范圍一般是通信及加、解密過程中的耗時。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:883242 發表于 2024-1-6 19:33 | 只看該作者
最后不對頭吧?時間戳小于某個值才算對,那么中間發生點什么意外,比如電纜接觸不良你的設備不就掛了?
回復

使用道具 舉報

板凳
ID:1059989 發表于 2024-1-7 08:22 | 只看該作者
可以這樣:上位機發送一段原始數據給單片機,單片機對這個原始數據進行加密,形成密文,然后把密文傳給上位機,上位機
回復

使用道具 舉報

地板
ID:1059989 發表于 2024-1-7 08:28 | 只看該作者
可以這樣:
1. 上位機使用時間戳作為明文,發送明文數據給單片機。
2. 單片機對明文數據加密為密文,把密文發給上位機。
3. 上位機對明文加密為密文,和單片機發過來的密文比對是否一致。
因為時間戳是動態的,不是固定值,所以即使被截取到,也無法直接使用。除非破解了加密算法。
這樣不用比對時間戳的差值,比較可靠。
還可以同時內置幾種加密算法,每次通訊時隨機選一種加密算法,在通訊協議里指明是哪種加密算法,雙方用同一種加密算法就行。這樣更安全,更難破解。
回復

使用道具 舉報

5#
ID:74687 發表于 2024-1-7 10:36 | 只看該作者
FrankJi 發表于 2024-1-7 08:22
可以這樣:上位機發送一段原始數據給單片機,單片機對這個原始數據進行加密,形成密文,然后把密文傳給上位 ...

密文傳輸,都是可以監聽讀取出來的,然后就可偽造一個一樣的密文。
回復

使用道具 舉報

6#
ID:74687 發表于 2024-1-7 10:37 | 只看該作者
Hephaestus 發表于 2024-1-6 19:33
最后不對頭吧?時間戳小于某個值才算對,那么中間發生點什么意外,比如電纜接觸不良你的設備不就掛了?

這種掛了就要修電纜
回復

使用道具 舉報

7#
ID:1059989 發表于 2024-1-7 11:29 | 只看該作者
zyftank 發表于 2024-1-7 10:36
密文傳輸,都是可以監聽讀取出來的,然后就可偽造一個一樣的密文。

之前回復時,沒輸完就發出去了。
上位機用時間戳做原始數據,發給單片機(可變換后發給單片機更安全),單片機加密后發給上位機,上位機也對時間戳加密為密文,檢查和單片機發來的密文是否相同。因為時間戳是動態的,不是固定值,每次密文都不同,監聽到也沒用,除非破解加密算法。
回復

使用道具 舉報

8#
ID:476415 發表于 2024-1-7 12:08 | 只看該作者
好的點子。
1、兩端的時間如何能保證統一?
2、防復制問題怎么解決:別人買一個你客戶的設備,然后實時截獲他們的認證階段通信,然后再復刻到其它設備的認證階段。
回復

使用道具 舉報

9#
ID:276663 發表于 2024-1-8 09:31 | 只看該作者
isyido 發表于 2024-1-7 12:08
好的點子。
1、兩端的時間如何能保證統一?
2、防復制問題怎么解決:別人買一個你客戶的設備,然后實時截 ...

1.時間應該是有一個提供參考時間就行了
2.認證貫穿整個使用過程,隨機增加二次驗證
回復

使用道具 舉報

10#
ID:123036 發表于 2024-1-8 09:55 | 只看該作者
PC軟件有一萬種破解方法
回復

使用道具 舉報

11#
ID:74687 發表于 2024-1-8 10:03 | 只看該作者
isyido 發表于 2024-1-7 12:08
好的點子。
1、兩端的時間如何能保證統一?
2、防復制問題怎么解決:別人買一個你客戶的設備,然后實時截 ...

1.兩端使用一個時鐘芯片實現時間戳同步。

2.復制的密文因為時間戳是固定,你不懂加密規則,不知道修改,這個時間就是死的,發送回來經解密后,與實時時間戳一對比就有很大差異,時間越長,差異越大。
回復

使用道具 舉報

12#
ID:74687 發表于 2024-1-8 10:07 | 只看該作者
FrankJi 發表于 2024-1-7 11:29
之前回復時,沒輸完就發出去了。
上位機用時間戳做原始數據,發給單片機(可變換后發給單片機更安全), ...

你的理解和我想的差不多,因為單片運算能力有限,我準備采用AES加密,然后對加密的密文調整順序,并插入隨機數,這樣就更難破解了。
回復

使用道具 舉報

13#
ID:883242 發表于 2024-1-8 12:19 | 只看該作者
zyftank 發表于 2024-1-7 10:37
這種掛了就要修電纜

仔細想想你的認證邏輯,這時候修電纜已經來不及了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表