Day: May 16, 2022

Hackaday獎品進入:攝影Hackaday獎品進入:攝影

攝影的便攜式LED閃光燈都是關於淺色的。它的名字在字面上最好 – 源於希臘語,照片。這就是為什麼攝影師在拍攝的一天中遵守的原因,為什麼instagrampers在日落時的地標在地標的聚會,以及為什麼閃光燈有助於您在黑暗中拍攝照片。從歷史上看,閃光以各種方式工作 – 例如,使用燃燒的鎂或氙燈。對於這種Hackaday獎品,[Yann Guidon]正在使用LED開發便攜式閃光燈。 到目前為止,您可能熟悉手機作為閃存單元的LED。然而,[Yann]正在佔據一個檔次。該構建基於100W的LED模塊,肯定可以抽出大量光線。建造的有趣部分是它的雙重性。 LED旨在以兩種方式之一操作。首先是在連續照明模式下,運行良好的模塊,低於其額定功率,從而降低LED和電源的張力,並使閃光燈能夠在購買時運行。在此模式下,溫度反饋將用於控制LED以管理功耗。另一個是脈沖模式,其中LED將過度縮小為毫秒,以創造更強大的閃光。 這是這種雙重性,它使基於LED的閃光在基於多功能的氙氣單元上具有潛在的優勢,僅限於僅限於脈衝操作。我們可以看到連續照明模式對需要緊湊,低成本照明服務的攝像機特別有用,這些照明器也可以用作脈衝單元。我們很激動,以了解如何解決包裝,熱量和控制問題隨著這個項目的發展! Hackadayprize2017贊助:

實用的物聯網加密在濃縮咖啡esp8266實用的物聯網加密在濃縮咖啡esp8266

eSpressif esp8266芯片組是三美元的“事物互聯網”發展委員會的經濟現實。根據流行的自動固件建築工地Nodemcu-Builds,在過去的60天內有13,341個自定義固件為該平台構建。其中,只有19%的SSL支持,10%包括加密模塊。 我們往往批評IOT部門缺乏安全,經常覆蓋殭屍網絡和其他攻擊,但我們將把我們的項目置於我們需求的相同標準嗎?我們會停下來識別問題,還是我們可以成為解決方案的一部分? 本文將專注於使用運行Nodemcu固件的流行ESP8266芯片對MQTT協議應用AES加密和哈希授權功能。我們的目的不是提供複製/粘貼靈棍,而是逐步完成流程,沿途識別挑戰和解決方案。結果是一個系統,該系統是端到端加密和認證,防止沿途竊聽,並欺騙有效數據,而無需依賴於SSL。 我們知道還有更強大的平台,可以輕鬆地支持SSL(例如Raspberry PI,Orange Pi,FriendlyArm),但讓我們從我們大多數人躺在最便宜的硬件上開始,以及適合我們許多項目的協議。如果您需要,AES是您可以在AVR上實施的東西。 理論 MQTT是一個輕量化的消息傳遞協議,在TCP / IP之上運行,通常用於IOT項目。客戶端設備訂閱或發佈到主題(例如,傳感器/溫度/廚房),這些消息由MQTT代理中繼。有關MQTT的更多信息,可在其網頁或我們自己的入門系列中提供。 MQTT協議沒有超出用戶名/密碼身份驗證的任何內置安全功能,因此通過SSL對網絡進行加密和認證是通用的。但是,SSL對ESP8266和啟用時,SSL可能更加苛刻,因此您將留下更少的內存為您的應用程序。作為輕量級替代方案,您只能加密已發送的數據有效負載,並使用會話ID和散列函數進行身份驗證。 直接執行此操作的是使用Lua和Nodemcu加密模塊,包括支持CBC模式中AES算法以及HMAC哈希函數。使用AES加密正確需要三件事來生成密文:消息,密鑰和初始化向量(IV)。消息和鍵是簡單的概念,但初始化向量值得一些討論。 當您在具有靜態鍵的AES中對消息進行編碼時,它將始終產生相同的輸出。例如,用key“1234567890abcdef”加密的消息“UsernamePassword”可能會產生“E40D86C04D723AFF”等結果。如果使用相同的密鑰和消息再次運行加密,則會獲得相同的結果。這為您打開了幾種常見類型的攻擊,特別是模式分析和重放攻擊。 在模式分析攻擊中,您可以使用給定數據的知識始終產生相同的密文來猜測不同消息的目的或內容而沒有實際知道密鑰。例如,如果在所有其他通信之前發送消息“E40D86C04D723AFF”,則可能會迅速猜測它是登錄。簡而言之,如果登錄系統是簡單的,則發送該數據包(重播攻擊)可能足以將自己標識為授權用戶,並且混亂隨之而來。 IVS使模式分析更加困難。 IV是與修改結束密文結果的密鑰一起發送的數據。顧名思義,它在數據進入之前初始化加密算法的狀態。對於發送的每條消息,IV需要不同,以便重複的數據加密到不同的密文,以及一些密碼(如AES-CBC)需要它是不可預測的 – 實現這一目標的實用方法只是為了每次隨機調整它。 IVS不必保密,但典型以某種方式混淆它們是典型的。 雖然這可以防止模式分析,但它沒有幫助重播攻擊。例如,重傳給定的一組加密數據仍將重複結果。為防止,我們需要驗證發件人。我們將使用公共,偽偽裝生成的每條消息的會話ID。通過發佈到MQTT主題,可以由接收設備生成此會話ID。 防止這些類型的攻擊在幾種常見用例中是重要的。互聯網控制的爐灶存在,拋開效用,如果他們沒有使用不安全的命令,那將是很好的。其次,如果我是從一百個傳感器的數據記錄,我不希望任何人用垃圾填充我的數據庫。 實用加密 在Nodemcu上實施上述需要一些努力。您將需要編譯的固件,除了任何其他人之外,還包括“加密”模塊您的申請。不需要SSL支持。 首先,讓我們假設您與以下內容的內容連接到MQTT代理。您可以將其實現為來自加密學的單獨功能,以保持清潔。客戶端訂閱了SessionID頻道,該頻道適當地發布了很長的偽隨機會話ID。您可以加密它們,但這不是必需的。 1 2 3. 4. 5.