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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2735|回復(fù): 27
打印 上一主題 下一主題
收起左側(cè)

關(guān)于MCU間通信防監(jiān)聽問題

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:74687 發(fā)表于 2024-1-4 18:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我現(xiàn)在準(zhǔn)備做個設(shè)備認(rèn)證的東西,在每個機械設(shè)備上裝個帶有身份驗證的PCB板,然后主控板向該PCB板發(fā)送指令,返回加密的認(rèn)證信息,主控芯片進(jìn)行解密,看身份驗證信息是否一致。

但是,這里有個問題,如果通過串口或者485發(fā)送這些信息,很容易被人監(jiān)聽被截取,別人也就可以寫個程序?qū)︱炞C的密文進(jìn)行偽造。

大神們,有沒有方法可以做到,防止串口或485通信防監(jiān)聽的辦法?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:807591 發(fā)表于 2024-1-5 08:52 | 只看該作者
沒有絕對的加密,只有更多的麻煩,要么你試試量子糾纏?
回復(fù)

使用道具 舉報

板凳
ID:485350 發(fā)表于 2024-1-5 09:05 | 只看該作者
坐等大神思路
回復(fù)

使用道具 舉報

地板
ID:883242 發(fā)表于 2024-1-5 09:08 | 只看該作者
加隨機數(shù)就行了,這樣每次你主控板發(fā)送的密文都不一樣,就算被人監(jiān)聽,PCB板也只知道幾億億次隨機密文中的一種回復(fù),如何仿造???
回復(fù)

使用道具 舉報

5#
ID:277550 發(fā)表于 2024-1-5 10:21 | 只看該作者

光是加密不夠的,做到同1條指令、都是不同的數(shù)據(jù),基本可以了。
回復(fù)

使用道具 舉報

6#
ID:844772 發(fā)表于 2024-1-5 10:30 | 只看該作者
有密碼機的,就是比較貴,通常都是軟件上想辦法。簡單的就做個哈希,也很難破解的。順便還可以不斷改改串口的波特率。
回復(fù)

使用道具 舉報

7#
ID:485350 發(fā)表于 2024-1-5 10:34 | 只看該作者
主機發(fā):
    TEA加密(消息ID + Buf[0] + Buf[1] + Buf[2] + Buf[3] + 隨機數(shù) + 隨機數(shù) + 隨機數(shù) + 隨機數(shù)+ 校驗)

從機回發(fā):
    TEA加密(主機消息ID + Buf[0] + Buf[1] + Buf[2] + Buf[3] +  隨機數(shù) + 隨機數(shù) + 隨機數(shù) + 隨機數(shù)+ 校驗)



這樣通信怎樣??有沒大神知道一番
回復(fù)

使用道具 舉報

8#
ID:485350 發(fā)表于 2024-1-5 10:44 | 只看該作者

主機發(fā):
    以9600波特率發(fā)送
    TEA加密(消息ID + 隨機波特率 + Buf[1] + Buf[2] + Buf[3] + 隨機數(shù) + 隨機數(shù) + 隨機數(shù) + 隨機數(shù)+ 校驗)
   波特率設(shè)置為隨機波特率等待從機回發(fā)(某段時間內(nèi)無法接收到從機回發(fā)數(shù)據(jù),再次返回9600波特率重新發(fā)送)
從機回發(fā):
    設(shè)置波特率為主機隨機波特率
    TEA加密(主機消息ID + Buf[0] + Buf[1] + Buf[2] + Buf[3] +  隨機數(shù) + 隨機數(shù) + 隨機數(shù) + 隨機數(shù)+ 校驗)
    設(shè)置波特率為9600等待主機重新更新波特率

   這樣又怎樣??


這樣通信怎樣??有沒大神知道一番
回復(fù)

使用道具 舉報

9#
ID:883242 發(fā)表于 2024-1-5 10:52 | 只看該作者
18680365301 發(fā)表于 2024-1-5 10:34
主機發(fā):
    TEA加密(消息ID + Buf[0] + Buf[1] + Buf[2] + Buf[3] + 隨機數(shù) + 隨機數(shù) + 隨機數(shù) + 隨機數(shù)+ ...

如果每個數(shù)據(jù)幀都只有8 bytes那么這么做就對了,如果是很長的連續(xù)數(shù)據(jù)沒必要用這么多隨機數(shù),8個字節(jié)插入1個就行。
回復(fù)

使用道具 舉報

10#
ID:458247 發(fā)表于 2024-1-5 16:09 | 只看該作者
Hephaestus 發(fā)表于 2024-1-5 10:52
如果每個數(shù)據(jù)幀都只有8 bytes那么這么做就對了,如果是很長的連續(xù)數(shù)據(jù)沒必要用這么多隨機數(shù),8個字節(jié)插入 ...

可以生成個uint32_t類型隨機數(shù)RNG[0]、RNG[1]、RNG[2]、RNG[3],假如你的消息有5字節(jié),[ID]、[buf1]、[buf2]、[buf3]、[buf4]、[crc0]、[crc1]、[crc2]、[crc3]。可以把[ID]^RNG[0]、[buf1]^RNG[1]、[buf2]^RNG[2]、[buf3]^RNG[3]、[buf4]^RNG[0],然后在[buf4]后面添加RNG[0]、RNG[1]、RNG[2]、RNG[3],計算crc32填入[crc0]、[crc1]、[crc2]、[crc3],收到報文后逆向異或,這樣兩個相同功能的報文,可以做到?jīng)]一個字節(jié)是一樣的,讓人摸不著頭腦
回復(fù)

使用道具 舉報

11#
ID:883242 發(fā)表于 2024-1-5 16:34 | 只看該作者
yzw846562238 發(fā)表于 2024-1-5 16:09
可以生成個uint32_t類型隨機數(shù)RNG[0]、RNG[1]、RNG[2]、RNG[3],假如你的消息有5字節(jié),、、、、、[crc0] ...

你搜下TEA、XTEA、XXTEA、salsa20、ChaCha20、Poly1305……
回復(fù)

使用道具 舉報

12#
ID:771630 發(fā)表于 2024-1-5 16:57 | 只看該作者
滾動碼 + AES加密 + 加鹽就可以了
回復(fù)

使用道具 舉報

13#
ID:74687 發(fā)表于 2024-1-6 16:22 來自觸屏版 | 只看該作者
感謝各位老鐵的熱心解答。
回復(fù)

使用道具 舉報

14#
ID:74687 發(fā)表于 2024-1-6 16:26 來自觸屏版 | 只看該作者
感謝各位老鐵的熱心解答。其實我的問題主要是防別人截獲我的通信密文,但是這個是沒辦法阻止的。 簽名認(rèn)證有一套自己的算法HMAC,這些算法肯定比一般的算法強,防監(jiān)聽辦法就是加個時間戳驗證,即使別人截獲了你的密文,發(fā)過來一樣通不過驗證,因為你的密文是過時的。
回復(fù)

使用道具 舉報

15#
ID:883242 發(fā)表于 2024-1-7 08:52 | 只看該作者
HMAC基礎(chǔ)算法還是DES、AES什么的,既然你有這么大的單片機資源能算規(guī)模這么大的算法,我就不說什么了。
回復(fù)

使用道具 舉報

16#
ID:476415 發(fā)表于 2024-1-7 12:11 | 只看該作者
用較長位數(shù)的偽隨機數(shù)生成器,將你的數(shù)據(jù)作為初始數(shù)據(jù)送進(jìn)去,運行特定次后得到的數(shù)據(jù)作為通信數(shù)據(jù),這樣,亂碼通信,解密會有點障礙。
回復(fù)

使用道具 舉報

17#
ID:476415 發(fā)表于 2024-1-7 12:13 | 只看該作者
Hephaestus 發(fā)表于 2024-1-7 08:52
HMAC基礎(chǔ)算法還是DES、AES什么的,既然你有這么大的單片機資源能算規(guī)模這么大的算法,我就不說什么了。

9494,晃了一眼HMac,感覺很高端的樣子。哈哈哈
回復(fù)

使用道具 舉報

18#
ID:74687 發(fā)表于 2024-1-7 17:21 | 只看該作者
Hephaestus 發(fā)表于 2024-1-7 08:52
HMAC基礎(chǔ)算法還是DES、AES什么的,既然你有這么大的單片機資源能算規(guī)模這么大的算法,我就不說什么了。

不稿HMAC了,只是用時間戳加DES加密,再添加幾個隨機數(shù)以及把數(shù)組位置變換一下。
回復(fù)

使用道具 舉報

19#
ID:74687 發(fā)表于 2024-1-7 17:37 | 只看該作者
yzw846562238 發(fā)表于 2024-1-5 16:09
可以生成個uint32_t類型隨機數(shù)RNG[0]、RNG[1]、RNG[2]、RNG[3],假如你的消息有5字節(jié),、、、、、[crc0] ...

我現(xiàn)在的問題不是要解密,問題是防止別人偽造你發(fā)過的報文,如果發(fā)個你前面發(fā)過一模一樣的報文,能不能騙過上位機?
回復(fù)

使用道具 舉報

20#
ID:883242 發(fā)表于 2024-1-8 00:43 | 只看該作者
zyftank 發(fā)表于 2024-1-7 17:37
我現(xiàn)在的問題不是要解密,問題是防止別人偽造你發(fā)過的報文,如果發(fā)個你前面發(fā)過一模一樣的報文,能不能騙 ...

隨機數(shù)是上位機發(fā)的,下位機發(fā)前面一模一樣的報文,怎么可能騙過上位機?

原來我們說了半天,你根本就不看。
回復(fù)

使用道具 舉報

21#
ID:74687 發(fā)表于 2024-1-8 08:50 | 只看該作者
Hephaestus 發(fā)表于 2024-1-8 00:43
隨機數(shù)是上位機發(fā)的,下位機發(fā)前面一模一樣的報文,怎么可能騙過上位機?

原來我們說了半天,你根本就 ...

你這種也可以試出來,就是把上位機發(fā)的隨機數(shù)改成固定,從下位機返回數(shù)據(jù)破解,破解有點難度。
回復(fù)

使用道具 舉報

22#
ID:420836 發(fā)表于 2024-1-8 08:50 | 只看該作者
可以監(jiān)控RS232或RS485通信的串口連接,一旦連接未通過驗證,通信將被關(guān)閉。
回復(fù)

使用道具 舉報

23#
ID:1065084 發(fā)表于 2024-1-8 09:40 | 只看該作者
硬件方面:接口錯亂,不使用標(biāo)準(zhǔn)的串口和485接口,畢竟是內(nèi)聯(lián)電路板,完全可以自定義接口,比如單總線或者多跟信號線,沒點技術(shù)還真分析不出來。 協(xié)議方面:協(xié)議可以搞個比如變頻異步,一般人就分析不出來了,簡單一點也可以搞個4b-8b 將一個字節(jié)數(shù)據(jù)拆分到兩個字節(jié)中,兩字節(jié)中總共有8b的隨機碼。 加密方面:網(wǎng)上加密方法有很多現(xiàn)成的,弄個AES128,一般的32位處理器沒啥壓力。
回復(fù)

使用道具 舉報

24#
ID:883242 發(fā)表于 2024-1-9 23:10 | 只看該作者
zyftank 發(fā)表于 2024-1-8 08:50
你這種也可以試出來,就是把上位機發(fā)的隨機數(shù)改成固定,從下位機返回數(shù)據(jù)破解,破解有點難度。

上位機都已經(jīng)破了,你還加密個蛋啊!
回復(fù)

使用道具 舉報

25#
ID:1108822 發(fā)表于 2024-1-10 18:03 | 只看該作者
為了防止串口或485通信被監(jiān)聽,可以考慮以下幾種方法:

硬件加密:使用帶有加密功能的串口或485通信模塊。這些模塊可以在數(shù)據(jù)傳輸時進(jìn)行硬件加密,以保護(hù)數(shù)據(jù)的安全性。
自定義協(xié)議:設(shè)計一個自定義的通信協(xié)議,該協(xié)議在傳輸數(shù)據(jù)時對數(shù)據(jù)進(jìn)行加密,并采用特殊的格式或指令來標(biāo)識身份驗證信息。這樣,即使數(shù)據(jù)被截取,也很難被偽造。
加密算法:采用強大的加密算法,如AES、RSA等,對數(shù)據(jù)進(jìn)行加密。這樣可以在一定程度上防止數(shù)據(jù)被破解。
定期更換密鑰:為了防止密鑰被破解,可以定期更換密鑰,使得截取的數(shù)據(jù)在一段時間內(nèi)無效。
物理隔離:通過物理方式隔離串口或485通信線路,如使用光纜或特殊的線路保護(hù)裝置,以防止數(shù)據(jù)被截取。
軟件加密:在軟件層面進(jìn)行加密處理,如對傳輸?shù)臄?shù)據(jù)進(jìn)行加密后再傳輸,并在接收端進(jìn)行解密。這樣可以增加數(shù)據(jù)的安全性。
校驗和:在數(shù)據(jù)傳輸時添加校驗和,以檢測數(shù)據(jù)是否被篡改。如果校驗和不匹配,則可以重新傳輸數(shù)據(jù)或進(jìn)行身份驗證。
回復(fù)

使用道具 舉報

26#
ID:74687 發(fā)表于 2024-1-11 15:02 | 只看該作者
Hephaestus 發(fā)表于 2024-1-9 23:10
上位機都已經(jīng)破了,你還加密個蛋啊!

呵呵,既然你接三根線就能收到下位機的通信數(shù)據(jù),你把RX和TX對調(diào)一下,不就能收到上位機發(fā)送的數(shù)據(jù)?
回復(fù)

使用道具 舉報

27#
ID:883242 發(fā)表于 2024-1-11 17:15 | 只看該作者
zyftank 發(fā)表于 2024-1-11 15:02
呵呵,既然你接三根線就能收到下位機的通信數(shù)據(jù),你把RX和TX對調(diào)一下,不就能收到上位機發(fā)送的數(shù)據(jù)?

能收到又怎么樣???
回復(fù)

使用道具 舉報

28#
ID:74687 發(fā)表于 2024-1-12 10:19 | 只看該作者
Hephaestus 發(fā)表于 2024-1-11 17:15
能收到又怎么樣???

串口通信,信道是根本沒有保密可言,都是在外裸奔。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表