久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

關于MCU間通信防監聽問題

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

但是,這里有個問題,如果通過串口或者485發送這些信息,很容易被人監聽被截取,別人也就可以寫個程序對驗證的密文進行偽造。

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

使用道具 舉報

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

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



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

使用道具 舉報

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

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

   這樣又怎樣??


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

使用道具 舉報

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

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

使用道具 舉報

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

可以生成個uint32_t類型隨機數RNG[0]、RNG[1]、RNG[2]、RNG[3],假如你的消息有5字節,[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],收到報文后逆向異或,這樣兩個相同功能的報文,可以做到沒一個字節是一樣的,讓人摸不著頭腦
回復

使用道具 舉報

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

你搜下TEA、XTEA、XXTEA、salsa20、ChaCha20、Poly1305……
回復

使用道具 舉報

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

使用道具 舉報

13#
ID:74687 發表于 2024-1-6 16:22 來自手機 | 只看該作者
感謝各位老鐵的熱心解答。
回復

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

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

使用道具 舉報

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

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

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

使用道具 舉報

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

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

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

使用道具 舉報

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

使用道具 舉報

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

使用道具 舉報

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

上位機都已經破了,你還加密個蛋啊!
回復

使用道具 舉報

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

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

使用道具 舉報

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

呵呵,既然你接三根線就能收到下位機的通信數據,你把RX和TX對調一下,不就能收到上位機發送的數據?
回復

使用道具 舉報

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

能收到又怎么樣???
回復

使用道具 舉報

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

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 精品久久久久久久久久久 | 久久精品国产一区二区三区不卡 | 中文字幕一区二区三区四区五区 | 亚洲精品中文字幕在线 | 日本又色又爽又黄的大片 | 久草成人| 国产精品乱码一区二三区小蝌蚪 | 亚洲国产一区在线 | 不卡在线一区 | www久| 一区二区三区四区在线 | 久久国产欧美日韩精品 | 国产精品免费一区二区三区四区 | 在线观看国产www | 黄色网址免费在线观看 | 国产精品久久久久久久免费观看 | 色精品视频 | 国产精品一区二区免费看 | 超碰97人人人人人蜜桃 | 日韩视频在线免费观看 | 中文字幕亚洲一区二区三区 | 亚洲高清三级 | 色视频网站免费 | 久久久久久久久久久成人 | 久久久久久久av | 国产在视频一区二区三区吞精 | 久久夜色精品国产 | 日日噜噜噜夜夜爽爽狠狠视频97 | 欧美二区在线 | 手机av在线 | 亚洲乱码一区二区 | 亚洲性人人天天夜夜摸 | 色欧美片视频在线观看 | 国产精品污污视频 | 久久网一区二区三区 | 国产区久久 | 福利网址 | 久久国产区 | 精品欧美一区二区精品久久久 | 国产韩国精品一区二区三区 | 少妇久久久久 |