2016-12-01 131 views
0

我有一個需要使用用戶名和密碼訪問服務的樹莓派。在設備上存儲用戶憑證的標準程序是什麼?如何在設備上安全地存儲密碼?

我知道電話上的用戶會輸入用戶名和密碼,以獲得在某段時間內有效的令牌。這允許!不!本地存儲憑據。

但是,我的設備(DVR)需要全天候運行,用戶無法定期輸入密碼。所以我不知何故需要在設備上存儲密碼以便每隔一段時間或重新啓動後登錄。

我很擔心,因爲該設備是可公開訪問的,有人可能會將其插入計算機並從存儲中讀取密碼。

回答

0

你必須考慮一下你想要防範的確切攻擊。 TL; DR是你無法保護它免於想到的任何事情。

一個問題是當設備啓動時是否可以輸入某種祕密(密碼)。你說它是全天候運行的,所以重啓應該不會很頻繁。如果你擔心有人拿着樹莓並從磁盤讀取密碼(或卡,如果是Pi),你可以嘗試將其保存在內存中。啓動時需要輸入密碼,但是無論誰攜帶設備(或卡)身體都無法學習密碼。當然,這不是完全安全的,有人可以從內存中讀取密碼,而不必使用Pi(您說他們有物理訪問權限),或者他們可以保持電力,以便密碼保存在內存中。但它比將密碼寫入存儲更安全。

您可以做的另一件事是分配設備某種令牌。如果您認爲令牌已被泄露(有人以任何方式瞭解它),則可以將令牌更改爲新令牌。但是您仍然需要一種方法來發現證書被盜時的情況。但是無論如何你都需要這個。

您可以監視設備的物理篡改或盜竊。如果它被篡改或被盜,您可以認爲憑證已被泄露,然後您可以向您的服務頒發新憑據。

另外你說它運行24/7,所以我認爲它有一個固定的IP地址。您可以在與憑證連接的服務上實施IP地址限制,因此即使證書被破壞,攻擊者的連接位置也非常有限(但您提到了一種通常使用UDP流量的DVR,而且它通過UDP僞造源IP地址比通過TCP更容易)。

可能不用多說,但顯然你應該在這個設備上使用唯一的證書,你無處可用,沒有其他的目的。

請注意,如果您想防範不同的威脅或深度構建防禦,您可以選擇其中的幾個。但是你必須記住,無論你給用戶(潛在的攻擊者)什麼都會丟失,你可以放心地認爲他們完全可以控制。然而,努力程度是不同的,如果你能夠使攻擊者感到困難或危險,那麼在許多情況下這可能是相當不錯的。