題:
此密碼方案合法嗎?
izlin
2019-08-26 13:36:24 UTC
view on stackexchange narkive permalink

我收到了IT安全博覽會的邀請( https://www.it-sa.de/en)。

他們還提供了密碼“ Kryptonizer” 。鑰匙串上掛著以下內容(示例值,我的翻譯):

黑客通常很容易獲得個人信息。原因是:我們容易記住的密碼不是加密的。它們通常是通用名稱或單詞,例如“ Snowden”或“ Admin”。

 輸入開始ABC DEF GHI JKL MNO PQRS TUV WXYZOutput 4uR =? x 1 F 3 Y i#9  

德語原始版本:

背景:密碼黑客被拒絕訪問互聯網通常太容易了。原因很明顯:我們可以記住的密碼通常不是特別神秘,而是基於常見的名稱或單詞,例如“ Snowden”或“ Admin”。

一切每張卡的輸出隨機數(可以選擇66個不同的字符)。現在我們必須選擇一個“簡單”密碼(建議至少8個字符):

 輸入:HELLOWORLDOutput:4uR =?F133Y9Yi31  

建議您僅使用該卡的一個密碼,如果丟失該卡,請更改密碼。

此密碼方案是否有效?

我的新手猜測是,由於只有8個不同的字符(+1個開始序列),所以熵降低了,但是只要卡不為人知,攻擊者無法利用這一事實。

您能詳細說明這張卡的用途嗎?它看起來確實像是用於手動檢查的基本密碼哈希方案-尤其是對於“簡單密碼”,您已經降低了安全性。輕鬆地為每個哈希生成一個與哈希匹配的密碼。
這看起來像一個非常弱的密碼哈希方案。給定一個散列密碼,將它反向轉換為可能的純文本密碼列表就不會太困難(反向算法本質上是[T9算法](https://en.m.wikipedia.org/wiki/T9_(預測文本))。
@TobiNary您必須了解,這些文本很可能是由營銷部門而不是技術用戶編寫的。此外,如果您查看了預期的目標群體,您會發現正確使用技術行話也不是那麼有用。
我仍然覺得這是最好的拖釣。隱密密碼不好,讓人難以記住,沒有任何實際好處。但是,可能遵循過時的想法,即密碼更好。
@TobiNary的目的是阻止字典攻擊。而且`?jBl3Hoon3#o'絕對比`Snowden`更佳。請閱讀我關於這些卡存在的原因,目的和缺點的答案。卡片的全部目的是您記住一個簡單的密碼,然後“獲得”一個複雜的,看似隨機的密碼。
@MechMK1是的。但是,鼓勵用戶使用此方案是不好的。他們將對所有應用程序使用相同的密碼,因為他們認為這是安全的。不是;可能更好,但不好。教人們如何使用骰子和/或密碼管理器會更好。IT會議的更多信息。
@TobiNary我實際上在回答之初就解釋了這個概念。是的,我絕對同意,教人們使用密碼比依靠有效的拐杖要好得多。對於擁有MSc的28歲大學畢業生來說,這可能是完全可以的。工程學。但是,對於來自會計部門的57歲的Karen來說,這要困難得多。
在向您擔心無法理解的人教授骰子的過程中,我取得了比預期更好的結果。記住5個字?簡單。
@TobiNary我可以從與從未使用計算機的客戶一起工作的個人經驗中得知,他們在人生的前50年中無法記住“裂隙凸輪突觸花邊”。但這不是重點。主要問題是“此密碼方案合法嗎?”我解釋了該解決方案旨在解決哪些問題以及應該為誰提供幫助。很棒嗎否。有問題嗎?當然。但這比使用糟糕的密碼更好嗎?很有可能。
聽起來卡*是*密碼。由隨機字符組成,只能使用一次,如果丟失,請更改密碼。
https://www.passwordcard.org/en
@AuxTaco否,該卡不是密碼。密碼是您記住的單詞,卡片可幫助您將單詞轉換為實際輸入的內容。
如果您確實使用這樣的卡片,切碎自己在展覽會上得到的那張卡片並自己製作一張,然後自己隨機分配就非常重要。 否則,無論誰給了您該卡,都有很大的機會破解您的密碼。
@AuxTaco它更像是哈希函數。有1:1輸入密碼到另一個密碼。輸出將取決於卡的內容。您仍然提供輸入。因此,如果您在一張卡上使用三個不同的密碼,您仍然會得到三個不同的密碼。但是,如果交換到另一張卡,則會從中獲得三個新密碼。
您可能不應該告訴我們您的密碼是“ Kryptonizer”。設
如果紙牌是隨機的,則實際上是一次性墊。
只是使用密碼管理器...我已經多年沒有記住密碼了
@GlennWillen如果給您一個,是的。如果給您一批100張卡片,它將變得不那麼實用。但是是的,仍然是很好的建議。
七 答案:
MechMK1
2019-08-26 14:07:02 UTC
view on stackexchange narkive permalink

全面披露::我在一家公司工作,該公司負責分發此類卡片。但是,這個答案是我對它們的個人看法。


這些卡的想法是,某些用戶真的很難記住密碼或密碼。幼稚的方法是告訴用戶“只是在記住密碼方面變得更好”,但是經驗表明,這樣的建議對某些用戶而言適得其反。

他們的記憶似乎很難記住,只能回憶簡單的單詞,可能與他們的工作有關。因此,在汽車製造廠工作的人可能會記得諸如 Engine 這樣的單詞。

Engine 當然是一個糟糕的密碼-長度和熵。因此,“ Kryptonizer”或類似名稱的卡會嘗試同時添加這兩個卡。

長度是通過前綴 4uR =?添加的。它會立即將密碼長度增加5個字符,將6個字符的密碼增加到11個字符的密碼。不是完美的,而是一種改進。

通過用隨機選擇的字符替換每個字符來添加熵。不完全是1:1的替換,但足夠接近。由於每張卡都是唯一的,因此無法建立關於如何操縱每個詞典短語的預設規則。

在此示例中, Engine 會變成 4uR =?1YFFY1 。這是一個好密碼嗎?可能不是很好,但是肯定比 Engine 好很多。

這種方案的問題

當然,這不是一個完美的系統。好的密碼短語不能用小紙卡代替。由於三個輸入字符映射到一個輸出字符,因此生成的密碼將失去熵而不是獲得熵。淨熵收益是攻擊者無法再輕易使用字典攻擊了。為此,他們將需要獲得對映射的訪問權限或執行詳盡的搜索。如果攻擊者知道使用了這種卡,則可以利用它來加快詳盡搜索的速度。他們的桌子,鍵盤下或類似的壞地方。如果他們丟失了卡,他們也可能會丟失密碼。他們將需要一張新卡,並更改他們的密碼,這對可用性沒有好處。

摘要

那麼,這是一個好的系統嗎?最終,我要說的是,您必鬚根據其設計意圖來對其進行判斷。這對特定的用戶群是一種幫助,否則他們將使用可怕的可怕密碼。我認為,以微不足道的成本幫助用戶選擇更好的密碼是一件好事。當然,這不是靈丹妙藥來解決憑證存儲和生成問題的靈丹妙藥。

如果可能,請始終使用密碼管理器,讓其生成長的,高熵的密碼並為您存儲

以不可能的方式(例如,對於OS登錄而言),我建議使用 Diceware或創建一個長而無意義的句子,例如 TheGreenLightFromOurEyesShinesThroughTheMirrorOfTime 。只需確保不從書或電影中摘錄此類句子即可。

評論不作進一步討論;此對話已[移至聊天](https://chat.stackexchange.com/rooms/98118/discussion-on-answer-by-mechmk1-is-this-password-scheme-legit)。
Anders
2019-08-26 14:19:36 UTC
view on stackexchange narkive permalink

它始終取決於您與之比較!用戶實際使用該卡有什麼現實的選擇?

很顯然, 4uR =?F133Y9Yi31 的密碼比 HELLOWORLD 更好。 >。如果您將此卡提供給非技術人員,他們無論如何都不會選擇好的密碼或使用密碼管理器,那麼這是一種改進。選擇一個您永遠不會記住的隨機16個字母的密碼,並將其存儲在密碼管理器中。知道卡上有哪些字母的攻擊者(例如,通過查看同一用戶的洩露密碼)很容易破解它-突然,這並不比 HELLOWORLD

那麼對於可能使用密碼管理器的人來說這是一個好主意嗎?不,絕對不是。為了你爺爺也許!不要讓完美成為善良的敵人。

+1為最後一句話。
正如@DoktorJ所說,最後一句話很重要-另請參閱[涅磐謬誤](https://en.wikipedia.org/wiki/Nirvana_fallacy)。如果您有一個小時或10個小時的TVTropes,這也將與[Straw Vulcan Logic]聯繫在一起(https://tvtropes.org/pmwiki/pmwiki.php/Main/StrawVulcan)
Luis Casillas
2019-08-27 05:28:06 UTC
view on stackexchange narkive permalink

從您的闡述中看不出來是100%清晰,但我知道第二行是針對每張卡隨機生成的。我將從這個假設出發。我將進一步假設:

  • 攻擊者正在嘗試猜測您的密碼。
  • 攻擊者知道您已使用這種卡生成了密碼。
  • 攻擊者不知道您的卡所獨有的隨機內容。
  • 攻擊者可以有效地測試其猜測,例如,因為他們竊取了帶有您的哈希值的密碼數據庫條目密碼。

攻擊者要成功有多難?

首先,他們必須猜測5個隨機開始符號。如果從您所說的66個字符集中選取它們,則每個字符大約具有log 2 sub>(66)≈6位熵,總共6×5 = 30位-大約與著名的 Tr0ub4dor&3 具有相同的強度。

第二個:在使用卡過程中,您選擇了人工密碼。但是卡將字母分為八個組,這樣每組中的字母都被視為彼此等效的選擇。這意味著,分組後,人工密碼中的每個字母所貢獻的熵都不會超過log 2 sub>(8)= 3位,但實際上會更少:

  • 某些群組的字母比其他字母更頻繁;
  • 某些單詞比其他單詞更頻繁;
  • 某些人工密碼(例如, PASSWORD )比其他人更痛苦。

第三:這些組中的每一個都從66個集合中分配了一個隨機選擇的字符。這些選擇中的每一個大約是6位熵,而那時八組聽起來像48位……但是攻擊者不太可能將必須破解您卡片中的整個表格,因為人工密碼很有可能只會“觸發”八個組的一個子集,而且他們不必猜測分配給“休眠”組的符號。如果您從8個集合中隨機選擇8個項目進行替換,則預計會繪製大約5個不同的項目(),這意味著該表的熵值相當於一個8個字符的人工密碼最有可能觸發的是30位。但是,一些人工密碼會觸發較少的組,而有些會觸發更多的組。

分析英語文本的統計模式與卡片中的分組之間的交互作用對於讀者來說是一項繁瑣的練習。我認為我們可以初步得出結論,此卡方法顯然沒有被破壞-它會產生至少保證36位熵的密碼(起始字符為30位,僅觸發一組為6位),實際上您很有可能即使不計算人類密碼中的任何熵,也可以看到54位(起始字符為30位,觸發四組為24位)。

如果這種方法不爛,我認為我們不應該感到驚訝。畢竟,我的上面的解釋表明,每張卡都包含78位熵:從最初的五位開始熵到30位,從隨機分配字符到組到48位。 78位是關於12個字符的隨機可打印ASCII字符串(12×log 2 sub>(95))的熵。把這麼多的熵打包成一張小卡片是個好主意。該方案的缺點是不能可靠地利用所有方案(“休眠”組問題)。


我們可以考慮的另一種情況是。假設攻擊者設法竊取了您生成的密碼(例如,從將其存儲為純文本的網站)。他們可以反過來猜測您的人工密碼或卡中的隨機值嗎?好吧,在那種情況下,最初的五個隨機字符只是無可避免地受到破壞,並且破壞人的密碼看上去與破壞單字母替代密碼大致相似,因此看起來不太好。但我會注意這一點:

如果您丟失了該卡,他們還建議僅將此卡用於一個密碼並進行更改。

。 ..並且,如果您遵循他們的建議,則對一張卡內容的破壞只能破壞作為該卡輸入提供的一個人工密碼。我們可能應該補充一點,您不應將同一個人密碼重複用於多張卡。

dr_
2019-08-27 13:51:22 UTC
view on stackexchange narkive permalink

對我來說似乎不切實際。缺點(繁瑣的計算,您不必丟卡,需要記住密碼)勝於優點(強密碼)。

我找不到該方案的用例:

  • 對於不精明的用戶(您的祖父),將密碼寫下來更加實用。

  • 對於精明的用戶(本博客的讀者),最好使用用主密碼加密的密碼管理器應用。

不,那不是它的工作方式。您永遠不會寫下密碼。它更類似於哈希函數。
您說得對,謝謝您的指正。我修改了答案。不過,我對此持相同看法。
對於家庭使用,我同意。但是對於辦公計算機而言,這樣的卡絕對比寫下密碼要好。
仍然太麻煩了。在工作時,請遵循系統管理員為每個人設置的安全策略。
這就是這些卡片的全部目的:允許在記住密碼時遇到很大麻煩的人擁有符合密碼策略的內容。
我同意他不切實際的計劃。這意味著人們不會使用它。
理論上,@MechMK1,永遠不會寫下生成的密碼。但是對於登錄超時較低的系統,我很容易看到人們寫下生成的結果,因為他們不能足夠快地完成翻譯。
以可用性為代價的安全性以犧牲安全性為代價。
Dmitry Grigoryev
2019-08-27 15:52:57 UTC
view on stackexchange narkive permalink

您的熵降低了,但是只要您的卡不為人知,攻擊者就無法利用這一事實

如果卡不為人知,即使您在上面寫了完整的密碼,攻擊者也無法利用它。但這是一個非常糟糕的假設,完全出於寫下密碼不好的原因。

在手機上安裝密碼管理器並將手機用作密碼備忘單更有意義

+1(僅適用於智能手機)密碼管理器。必須使用操作系統級別的漏洞利用程序才能獲取數據庫並攔截鍵盤以竊取主密碼,這非常複雜。雖然許多人從未更新過手機上的任何內容,而且感覺很恐怖,但實際上,我還沒有聽說過第一個普通的Joe在手機上使用過這種漏洞。不過要注意備份。每年將文件複製到一個安全的地方幾次(當您看到不懂技術的親人時)可能已經足夠了。
jamesdlin
2019-08-28 03:28:34 UTC
view on stackexchange narkive permalink

我的新手猜測是,由於只有8個不同的字符(+1個開始序列),所以熵降低了。

不一定。

讓我們比較一下使用英文字母(大寫)和小寫字母的密碼。長度為 n 的密碼具有(2 * 26)** n 個可能的值(實際上比該值要少得多,因為目標受眾可能不會混用大小寫)

同時,生成的密碼大約有(8 ** n)*(66 ** 5)個可能的值:

  • 原始密碼中的每個字符都映射為8個值之一, n 次。
  • 您已聲明有66個字符可供選擇,重複5個

我對 52 ** n (8 ** n)*(94 ** 5)的比較沒有直觀的認識),因此讓我們嘗試一些值。對於8個字符的密碼( n = 8),我們得到:

  • 53,459,728,531,456(原始)
  • 21,010,654,131,388,416(“經過加密”)

“加密”版本具有個數量級更多的可能性。

對於11個字符的密碼:

  • 7,516,865,509,350,965,248(原始)
  • 10,757,454,915,270,868,992(“已加密”)

對於12個字符的密碼:

  • 390,877,006,486,250,192,896(原始)
  • li>
  • 86,059,639,322,166,951,936(“ Kryptonized”)

因此,對於11個字符或更短的密碼,“ Kryptonized”版本以可能的值獲勝。 (如果我們假設原始密碼僅使用一種情況,則密碼為17個字符或更短字符的“ Kryptonized”版本將獲勝。)

請注意,我並未考慮到這8種可能映射到的字符大概是隨機的,但我認為這並不重要。從中學到的一點是,增加密碼長度比增加字符集的大小要好得多。

Schwern
2019-08-28 12:21:27 UTC
view on stackexchange narkive permalink

一個好的密碼方案不僅與熵有關。如果重用密碼,世界上所有的熵都不會保護您。只需一個站點即可清楚地存儲密碼。

一個好的方案還必須阻止密碼的重複使用。在這種情況下,取決於卡的使用方式。

如果用戶認為“我現在有一個超級安全密碼”並重複使用一個容易受到攻擊的密碼。重用適度良好的密碼比重用較弱的密碼更好,但不是很多。我認為這是最有可能使用它的方式。

我可以看到一個聰明的用戶通過使用它來散佈有關帳戶(可能是域名)的某些內容來創建唯一密碼。他們用於google.com的密碼為 4uR =?FYY31xYY 。安全專家會出於多種原因而譴責此方案,這是正確的,但是與其他方式相比,它會產生更多種類的更強大的密碼。但是,我不認為這是使用該卡的常見方式。

由於該卡的用戶可能會重用少量密碼,因此我對該方案進行了評估,但該方法總比沒有好。

>

一種改進的方案(我不是安全專家)可能是打印一個強密碼列表,每個密碼旁邊都有空格。當用戶需要一個新帳戶時,他們將使用下一個免費密碼,並寫下域名和用戶名(如果不是他們的電子郵件地址)。只要它們沒有太多的帳戶,就可以保證強密碼而不重複使用。

這當然容易受到物理攻擊;竊取,複製或拍照。如果該人已經在寫下他們的密碼,或者更糟的是將其保存在文件中,則此方案是巨大的改進。我能想到會有很多人會受益。

這是一個權衡。我認為,物理攻擊和針對性攻擊的風險遠低於重用和弱密碼。與物理攻擊相比,您更有可能在隨機的網站闖入過程中徘徊在弱而可重用的密碼上。

當然,這比使用良好的密碼管理器要弱得多。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 4.0許可。
Loading...