題:
7-Zip密碼保護的拆分存檔兩次受到密碼保護後,對黑客而言是否安全?
Neli
2017-03-24 18:10:18 UTC
view on stackexchange narkive permalink

想像一下我想在Google雲端硬盤(或任何其他雲服務)上上傳我的敏感個人信息(照片,文檔掃描,密碼列表,電子郵件備份,信用卡信息等)。

我想確保所有數據都盡可能安全(針對黑客,這些黑客將以某種方式使他們動手使用這些數據,並針對Google及其員工,甚至在將來,例如,如果我從Google我想確保即使他們永久保留備份也無法“打開”它。

因此,在這種情況下,我沒有將所有這些數據立即上傳到雲中,而是創建一個包含我要上傳的所有數據的文件夾,然後使用7-Zip壓縮整個文件夾,當然也要使用7-Zip對其進行密碼保護。

我不會這樣做一次,但是幾次,即一旦我準備好7-Zip密碼保護的存檔,我將再次使用7-Zip壓縮它並使用完全不同的密碼。我會做五遍。因此,最後我的數據被壓縮了五次,並使用7個郵政編碼通過五個完全不同的不相關密碼進行了密碼保護。因此,為了獲取我的數據,我必須提取五次並提供五個不同的密碼。

然後要做的是,我將使用這個五次密碼保護的存檔,並我將再次使用7-Zip和另一個第六個密碼來壓縮它,但是除此之外,這次我還將選擇將存檔分成較小的塊。

最後我可以說一下最多有10個拆分存檔,每個分區均為200 MB存檔,但第10個存檔僅為5 MB存檔。

假設是,這六個密碼全部都是至少32個字符的密碼,完全無關,它們都包含大小寫,數字和符號。

現在,我將這9個200 MB的檔案保存到一個容器中,並使用 VeraCrypt(假定三級級聯加密)對該容器進行加密,然後將該容器上傳到我的Google雲端硬盤。 p p>

我將第10個存檔(第5 MB存檔)保存在完全不同的服務上(例如在Dropbox上使用-並且Dropbox帳戶根本沒有連接/鏈接到我的Google帳戶)(也由VeraCrypt加密) )。

-我是否創建了安全劇院?還是我真的使任何人都無法訪問和提取我的數據?畢竟,他們必須通過VeraCrypt的加密級別,即使在此之後,檔案也受到密碼保護的六倍,並且其中一個檔案(第十個檔案)存儲在其他位置!

-如果有人可以訪問我的Google雲端硬盤並下載所有這9個檔案,那麼他們是否有辦法提取檔案而沒有最後一個(第十個)5 MB檔案?可以在缺少拆分歸檔文件之一的情況下以任何方式訪問數據嗎?

-即使有人一起使用所有這10個歸檔文件並設法繞開了VeraCrypt以任何方式進行加密,破解剩餘的六個密碼是否仍然可行?

您已經使事情變得複雜了,複雜性是安全的大敵。7zip具有本機AES-256位加密,因此一個單獨的強而獨特的密碼應該足夠。即使您對某個可能像您想像的那樣破解該加密的人一樣感興趣,但他們很有可能會在處理數據時嘗試鎖定您,而不是在數據處於靜止狀態時才瞄準您,因為這是阻力最小的途徑。
當然,這完全是假設性的,並且是出於個人利益,我確實了解到,大多數黑客甚至都不會再接近這種類型的個人數據,因此當他們意識到該數據已被高度加密並且付出的努力根本不值得回報時。但是我仍然希望知道這種假想的情況是否會為一個體面的職業過度經驗的黑客提供更高的安全性和更大的麻煩。
@DKNUCKLES“誰可能破解該加密”目前,很可能沒有人可以破解AES。但是很可能有人會在未來30-40年內破解它。我相信這就是OP所說的“將來也盡可能安全(...)”的意思。
我還想評論一下,Google和其他公司可能有資源來創建多GPU哈希蠻力強制計算集群。請參閱[link](http://www.eweek.com/security/researchers-from-google-cti-break-sha-1-hash-encryption-function),以建議使用盡可能長的密碼短語。
我沒有在答案中提到的一件顯而易見的事情是:*猜測每個1位的三個密碼比猜測一個3位的密碼(通過bruteforce)要容易得多。換句話說,較長的密碼比許多較小的密碼更可靠,因為沒有中間反饋可以利用。
我會考慮使用tresorit而不是谷歌驅動器。它已經是公司端零知識政策的端到端加密雲服務。
假設缺少區塊鏈密碼,那麼實際上丟失歸檔文件的“最後**”部分實際上是最簡單的方法-如果願意的話,這不會阻止人們從其他人那裡提取內容。自己的代碼。如果您打算將某件作品放在難以獲得的地方,請使其成為“第一”。(也就是說,我完全同意“無用安全劇院”的評估)。
請注意,使用5個長度為X的密碼比使用5個長度為X *的密碼要差得多。好像我連續兩次要求您猜測一個介於0到10之間的數字,最多只能猜測20個,而猜測一個介於00到99之間的數字。如果您的密碼長度X給出了2 ^ 25個組合,那麼破解您的計劃將涉及該操作5次,因此要做5 * 2 ^ 25〜2 ^ 27的工作量。但是,相反,只要輸入一個5 * X密碼,就可以得到2 ^ 25 * 2 ^ 25 * 2 ^ 25 * 2 ^ 25 * 2 ^ 25 = 2 ^ 125的工作量。
@epa095我認為這是不正確的。您假設攻擊者可以“一層一層”地破壞層(即,他猜出第一個0-10數字,然後在正確猜出一個數字之後再猜另一個)。但是,加密文件實際上只是隨機數據,因此攻擊者可以一次性破壞所有加密,也可以不破壞。(因為他無法告訴他是否正確地破壞了一個加密層),這就像猜測兩個0-10數字*,但必須同時說兩個數字*,這肯定需要進行100次試驗才能解決。
@Bakuriu:是的,我假設被攻擊者可以自己破壞每一層,這正是我們在這裡所遇到的情況。建議使用7-Zip並用不同的密碼重複5次壓縮。然後,您當然可以區分您是否能夠破解“外部”密碼。7-zip存檔不僅包含原始數據,還包含元數據字段,使您可以識別外部zip的解密嘗試是否成功。如果我輸入了錯誤的密碼,7-zip能夠檢測到該錯誤並提供錯誤。
您應該記得檢查選項*“加密文件名” *(默認情況下未啟用)。否則,您將通過公開所有文件夾和文件名來洩漏信息。
[強制性XKCD](https://xkcd.com/538/)
八 答案:
Philipp
2017-03-24 18:26:11 UTC
view on stackexchange narkive permalink

首先,這種多重加密方案太荒謬了。

7-Zip使用的算法是 AES-256,該算法被認為是安全的。但是,如果有人發現其中的一個漏洞使其易碎,那麼他們很可能就能同等地破壞您的所有加密層。 ,那麼一個應用程序就足夠了。或者您不信任它,那麼您將使用不同算法進行另一次加密。正如對 Triple-DES的中間相遇攻擊所證明的那樣,對同一算法進行多次分層通常不會產生人們所想的那樣大的效果。

拆分加密文件:如果缺少部分存檔,通常可以從7-Zip存檔中搶救一些數據。 7-Zip在CBC模式下使用AES來模擬流密碼行為(每個128位塊與之前的128位塊組合在一起)。這意味著,如果某人丟失了消息的一部分,他們將無法解密其後的任何內容(除非他們在某處具有已知的明文),但不能解密其後的所有內容。這意味著,如果要阻止攻擊者通過保留一部分存檔來解密存檔,則需要保留第一個塊,而不是最後一個。

有趣且有用的信息。您指出“ [...]他們可能能夠同等努力地破壞您的所有加密層。”實際上,這也是一個深深紮根於我的詢問中的問題:您說“同等”地努力。因此,例如,如果他們花了10個月的時間來破壞該加密,則此處的同等努力意味著他們應該再花50個月的時間來破壞其餘的密碼。因此,在這種情況下,多重加密是有益的。是不是
@Neli:僅當通過蠻力破壞時。如果他們可以通過其他任何方式破解10個月內的第一個密碼,那麼他們將再花費約0個月的時間來破解其餘密碼。
那就是前面提到的中間攻擊的碰頭,因此根據破損的程度,他們可能必須執行5次操作,或者可能執行一次操作,最後得到一些密鑰,這就是您的5個密鑰合為一體。
@Neli這是一個例子,但不是唯一的例子。您還必須考慮一些事件,例如有人完全擊敗了7zip加密。例如,由於7zip具有後門實現,或者因為(極不可能)有人發現AES中的一些漏洞,使得該漏洞很容易被破壞。如果您唯一的目標是花時間進行暴力破解,則可以通過使用密鑰長度更長的算法和密碼短語更長的方法來獲得更好的結果。
對於[meet-in-the-middle攻擊](https://en.wikipedia.org/wiki/Meet-in-the-middle_attack),此答案是不正確的,由於天文數字,它無法用於256位密鑰進行此類攻擊所需的存儲量。
@Nat中間相遇攻擊評論特別涉及3DES。
@Philipp與分層AES-256和這個問題無關。
@Neli聽起來很有吸引力,直到您意識到在密碼中添加單個字符將使暴力破解時間增加大約300-800個月(具體取決於您選擇哪種字符類)才聽起來很有吸引力。因此,就需要記住的角色數量與抵抗蠻力的強度而言,多次通過是一種特別糟糕的方法。
@Neli另一種看待它的方法是考慮摩爾定律。如果繼續下去,我們(大約)每1.5年將我們的計算能力提高一倍。因此,如果在任何給定日期花費10個月來破壞加密,那麼3.8年後將花費10個月來破壞6層系統。當然,要在5.3年內打破整個6層系統需要5個月。這是假設*從字面意義上*是最好的情況(即未發現漏洞利用)
漏洞利用案例研究:MD5哈希被認為是安全的。人們認為,世界上所有的計算資源都無法在人類的一生中造成一次碰撞。那是在92年代發明的。如今,由於算法已被破壞,因此現在需要11個小時才能生成您選擇的衝突。如果您將500個這些MD5哈希值相互疊加,則只需一年就可以破解。
摩爾定律已經廢止了很長時間。下一次CPU升級可能會增加幾百MHz,甚至幾十MHz。過去,當摩爾定律仍然適用時,3.5 MHz的CPU被16 MHz的CPU取代。想像一下,如果幾年後您的3.2 GHz處理器被14.6 GHz處理器取代了!要是...
還要注意,@Tgr's的解釋確實是問題的核心。如果您有一個帶有80位熵的密碼,則最好再增加80位,而不是使用自己的80位密鑰添加另一個“加密層”。取冪和乘法之間的區別。將單個密碼的密碼長度加倍會使強度增加2 ^(n * 2)。將密碼層加倍(相同的確切密碼大小增加)只會使強度增加2 ^ n * 2。顯然前者要好得多!
A. Hersean
2017-03-24 18:29:49 UTC
view on stackexchange narkive permalink

這超出了我從未見過的規模。這是BAD THING™,因為它增加了解決方案的複雜性,卻沒有增加任何安全性好處。多次加密不會為您提供更多保護。如果加密是安全的,則添加額外的加密層是沒有用的。例如,如果安全模型中存在缺陷,則加密密鑰可能會洩漏,多層加密將無法修復此缺陷。

拆分存檔的方法相同:它沒有任何作用。它既不會改善也不會減少對文檔的保護。

您應該從更大的角度看:在哪裡保存密碼?誰可以訪問?如果您無法訪問或記住密碼短語,您的備份解決方案是什麼?您的計算機是否不受惡意軟件的侵害(會使任何加密失效)?您的解決方案是如此復雜,以至於您永遠都不會使用它?

*多次加密不會為您提供更多保護。* =>我認為此語句有兩個警告:(1)如果某些密碼(可能)導致弱密鑰,則使用多層可以減少意外加密的可能性。敲一個弱鍵,然後(2)使用不同的算法多次加密*可以更好地防止其中之一存在缺陷。當然,由於AES256被認為是安全的,所以這一切都取決於AES256弱點的存在(現在或將來)。
我假設使用安全算法。如果您使用弱密碼,則所有密碼都是弱密碼,因此多層加密不會大大提高安全性(我讓你做數學)。
我不是在說弱密碼,而是在說導致弱AES256密鑰的密碼,這類似於困擾[DES](http://crypto.stackexchange.com/questions/12214/can-you-explain-des的弱鍵)。
拆分的目的是使歸檔文件無法輕鬆提取。就是說,如果您有10個檔案,而其中之一丟失了,並且您確實有密碼,那麼7zip本身就沒有簡便的方法來提取該數據。因此,我認為這可能會增加一定程度的安全性。
@matthieu-m您必須有意使用這些密碼。如果它們存在於AES中,那麼將很難找到它們。您不能現實地意外地使用一個。只是做數學。
@Neli如果攻擊者經理在10個檔案中找到9個,您是否真的認為他將找不到丟失的檔案?如果他不這樣做,他可能仍會解密自己擁有的9個加密貨幣中的一些(因為您認為加密功能很弱,這意味著攻擊者可以在您的安全模型中破解它)。僅使用一種具有良好安全策略的強加密方案來保護機密(密鑰或密碼),將為您提供更好的服務。
如果攻擊者試圖對其進行暴力破解,那麼在這種情況下採用多重加密是否會有所幫助?(有益=使攻擊者放慢速度)與PBKDF2的工作原理類似。
@razu-murzea暴力破解比添加了隨機字符的暴力破解快9倍。PBKDF2不僅獲得10次密碼。只需增加密碼的長度,您將比增加加密方案的複雜性得到更好的保護。
Cort Ammon
2017-03-25 04:50:39 UTC
view on stackexchange narkive permalink

首先,呼吸。如果忘記呼吸,加密工作通常會失敗。變得無意識的事情使我們很難加密事物!

第二,聽起來您需要威脅模型。威脅模型描述了您擔心要面對的對手。如果沒有威脅模型, all 安全就是安全區,因為您基本上在四處遊蕩,希望您不受控制的行動阻止您一無所知的對手。您是要阻止姐姐閱讀日記,還是要躲避暴民?您最近是否與任何三個信件代理機構成為敵人?

您是否考慮過對手是否願意進行橡膠軟管密碼分析?

XKCD XKCD

這就是為什麼威脅模型如此重要的原因。考慮一下。公認的是,用適當長密碼保護的AES-256加密文件不能被任何政府機構破解,並且通常假定政府機構也無法破解它。因此,單層AES-256肯定會保護您免受任何可疑的角色的傷害,這些角色願意用橡膠軟管毆打您,直到您咳出密碼為止。 除非有要備份的威脅模型,否則沒有理由只做一層AES-256。

現在,您為什麼認為拆分文件會有所幫助您?您已經在使用地球上一些最強大的加密工具。為什麼保留一個部分確實有幫助?當然,如果您遇到的攻擊者知道一些目前尚未公開的AES-256破解,但不知道如何對7zip拆分文件格式進行反向工程,那可能會有所幫助。錫紙也可以。

我不會說您擁有的是安全劇院。第一步是好的:將數據以加密的格式存儲,並具有良好的強密碼。但是,其餘過程是安全區。不要浪費時間在加密層上。

最糟糕的情況是,過度的努力會阻止您訪問數據,因為這樣會使獲取自己的數據的難度增加了10倍。在處理過程中出現錯誤而使您的數據無法訪問的可能性非常大,並且您沒有獲得任何可觀的實際安全性。

@Nat棘手的部分是找到從現在起50年後實際上將是安全的技術。如果您的威脅模型包括50年的計算機硬件和密碼學知識進步,那麼您很快就會發現,七層加密確實很有可能將解密時間從2秒增加到14秒。將時間增加到2 ^ 7秒有點困難。可能值得注意的是,如果一個主要政府想將某件事保密50年,它會將其存儲在一個金庫中,並把警衛放在門口。
@Nat這就是為什麼我說只做一層AES。**如果**在未來50年內不會再有新的AES加密攻擊,那麼分層AES將使復雜度成倍增加。如果存在加密攻擊,則該保證將失敗(如果歷史記錄是任何指示,則將存在)。例如,如果您執行OP正在執行的操作,它也會使用多層受密碼保護的7zip文件進行加密,而這不會是指數級的,也會失敗。您確實必須正確執行或根本不執行。
而且,在某些時候,您必須承認,當您尋求對數據進行加密的程度超過了美國政府在加密其最高機密/ SCI信息以通過互聯網傳輸時所採用的加密程度時,您可能不應該存儲保管箱中的數據。
+1為最後一段。當您希望(1)您和(2)其他人都無法訪問數據時,加密是很好的。當您只關心(2)時,“ rm(1)”要比AES好得多。
Andrew
2017-03-24 18:33:04 UTC
view on stackexchange narkive permalink

我不完全了解7-Zip的功能。但是,假設它只是一個受密碼保護的zip文件,那麼否,這是不安全的。但是,我看到一些評論,其中7-Zip可以提供基於AES的加密是安全的(假設7-Zip的實現不存在任何錯誤,因此它創建了真實有效的AES加密文件。)

而不是創建5或6個級別的拆分存檔,使用單個高熵密碼存檔就足夠了。拆分檔案並沒有任何作用,因為您只需要能夠“解鎖”第一個檔案就可以解密檔案鏈。

最終,對您問題的回答是,純粹可以使用只要您使用的是真正的隨機且安全且具有盡可能多的熵的密碼,即可使用AES-128或256進行7壓縮。完全可以接受64個字符的大寫,小寫,數字和符號,且沒有明顯的模式或重複。只是不要在便籤上寫下密碼,而是將其留在顯示器上。使用真實的密碼管理器來跟踪該64個字符的密碼,並確保在該密碼管理器上使用了不錯的安全主密碼。您只有最不安全的方法一樣安全-將密碼作為純文本文件放在桌面上並不安全。

還請記住,作為攻擊者,這樣做可能更容易只需訪問您的PC即可捕獲相同的數據-請記住您要保護自己免受攻擊的人員。在這種情況下,上面對於Google雲端硬盤/ Dropbox之類的東西完全可以接受,並且擔心它們會暴露出來(或愛管閒事的員工)。

Paul
2017-03-25 04:31:24 UTC
view on stackexchange narkive permalink

到目前為止給出的所有答案都很棒!但是,我認為還有一種可能性有待提及。我在原始問題中註意到,OP提到了密碼長度(32個字符的密碼),並將一個項目放在解密原始數據所需的第二個雲服務上。

我相信VeraCrypt支持密鑰文件和

  • 增加暴力破解的難度(假設攻擊者沒有密鑰文件或密碼)
  • 允許密鑰文件執行以下操作:
  • 帶寬較小,因為您不必將實際數據傳輸到第二個雲服務。 (除非您願意)
  • 限制:如果找到了不需要密鑰/密碼進行解密的非蠻力AES漏洞,將無濟於事。
daniel
2017-03-24 18:51:19 UTC
view on stackexchange narkive permalink

很好。有些部分可能是多餘的(多次使用同一個密碼系統),但是如果您擁有第一個zip文件,然後添加了一些原始數據,然後將所有數據放入一個zip文件中,依此類推,那麼就像將包裹中最舊的文件傳遞到中間。

然後執行以下步驟:取出一個大塊的代碼以使其變得不可讀,這是可能的,但並不像您所說的那樣簡單。您將必須使用Shamir的秘密共享的實現,或將最終的壓縮編碼文件與隨機數據進行XOR,然後將結果在線保存,並將隨機數據保存到其他位置。

我沒有投反對票,Neli詢問7zip是否安全,如果正確實施AES-256,這是安全的。確保多次執行不會增加安全性,但不會使安全性變差。同樣,即使是他提出的文件拆分方法也確實增加了一定程度的保護,如果有人說“我將電影壓縮成10部分,這裡有9個告訴我電影中發生了什麼”,我會告訴你我需要第10位或NSA幫助。
不是那種拒絕投票的人,但您自己說“多次這樣做不會增加安全性,但不會使安全性惡化”。它不會增加安全性,因此沒有比其他任何方法更安全的方法。OP試圖做的是增加安全性,但此過程並沒有實現。
他似乎確實在想,這樣做5次會自動使它的安全性提高5倍,這可能是不正確的(菲利普比我說得更好)。但是根據情況的不同,它可能會增加一些安全性(例如,如果AES-256被部分破壞了,但是破壞它花了1年,那麼他的文件夾將需要1至5年才能到達)。已經完成了堆疊加密,但是通常這意味著出於充分的理由堆疊不同的算法。
設置自動多遍加密會浪費時間,在此期間您可能會做一些實際上具有安全性好處的事情,所以這不是很好:與遵循相同的最佳實踐使用相同數量的資源可以實現的安全性相比,它降低了安全性。(就像您說的那樣,堆疊不同的加密方法。這還有一個好處,您可以使用一些廣受信任的加密軟件作為密碼之一,而不必希望-並非完全面向安全的7z軟件實現加密正確地。)
但這確實具有安全性好處,只是這裡還沒有人發現AES-256的安全漏洞,或者沒有將其植入7zip中的缺陷可以說明這種好處有多大。他應該做的事情是每次加密時都使用分割後的存檔中的第一個(10個中的1個),然後確實將安全性提高到任何人都無法計算的程度。就像我在開始時說的,如果您不希望使用一個時間墊。
ex-university-cyber-guy
2017-03-25 02:44:59 UTC
view on stackexchange narkive permalink

您的zip分割方法是荒謬的,不會增加任何保護價值。只需使用一種眾所周知的,經過良好測試的,經過高度加密的壓縮方法,您將足夠安全地滿足您的陳述需求。如果您不信任壓縮(Zip或其他壓縮方式),則可以從加密容器中分離出數據壓縮,如果這樣做會使您感覺更好。您描述的倍數和拆分會增加複雜性,而不會增加有意義的安全性(例如密鑰強度或過程審核)。您將不會多次解決壓縮+加密的錯誤實現。

Solomon Ucko
2017-03-25 17:54:03 UTC
view on stackexchange narkive permalink

除了其他答案,我想指出的是,您必須將密碼存儲在某個地方。如果他們獲得了密碼,則可以輕鬆訪問數據。如果要保護它們的安全,則必須對密碼進行加密,並將其密碼存儲在其他位置,等等。

這實際上也涵蓋了其他答案
我什麼都沒看到,但我只是在瀏覽。我應該刪除它還是保留它?


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