題:
我的學校想對我們的門認證系統的細節保密。這是一個好主意嗎?
PyRulez
2016-02-03 02:28:47 UTC
view on stackexchange narkive permalink

因此,我正在為我們的學校設計一個門身份驗證系統(無法真正詳細介紹),以便只有經過身份驗證的人員才能穿過某個內部門。他們認為應將其內部工作保密,以防止任何人對其進行反向工程。我認為這將是通過隱秘獲得安全性,這很糟糕。我已經對系統進行了設計,以便按照 Kerckhoff的原理,知道它的工作原理不會幫助您進入,只有擁有鑰匙才能幫助您進入。他們仍然堅持認為,與其說讓更多的人知道,不如說應該更少。

採用封閉式設計是一個好主意嗎?如果沒有,為什麼?

P.S。在我設計了大部分內容並告訴一堆人之後,他們才告訴我這是一個秘密,如果這有所作為(我不知道他們希望它成為秘密)。
P.P.S.儘管它不對外開放,但它所保護的房間比學校其他地方都包含更多有價值的東西,因此,如果我們採用封閉式設計而不是開放式設計,我希望對手無論如何都能對它進行反向工程,但我不確定該如何傳達。

讓我猜猜...您的學校位於蘇格蘭的一座古老城堡中。校長是古怪的老鬍子。房間裡有一面鏡子...看起來有些失業的作家已經把安全系統問題拋在了腦後。
打開系統內部工作的原因通常是為了獲得*免費*同行評審。在學校環境中,我非常懷疑會收到太多的安全反饋,而是_某人告訴某人告訴那個房間的某人_。
“他們認為內部的工作應該保密,這樣沒人可以對其進行逆向工程。”對事物進行逆向工程的原因是什麼?因為不知道
我想問一問,為什麼學校已經設計出自己的門認證系統,而現在已經有各種各樣的商業產品在做同樣的事情(學校可能已經在使用它來保護自己的門)。如果您的秘密太過秘密,無法僅通過卡訪問或PIN鍵盤來保護,請將生物識別設備添加到“安全”房間,並嚴格控制誰註冊使用該設備。
Google的“分層安全性”。認真對待安全性的任何人都將實現分層的安全性,其中的保密性/模糊性不僅是合法的層,而且是重要的層(儘管它不應該是CRITICAL層)。這就是為什麼真正優秀的管理員將其服務器配置為不洩漏他們使用的軟件版本。這增加了攻擊者的工作量,因為他需要先探究您的設計,然後才能進行破解。
評論不作進一步討論;此對話已[移至聊天](http://chat.stackexchange.com/rooms/35279/discussion-on-question-by-pyrulez-my-school-wants-to-keep-the-details-of-我們的doo)。
人們對它的工作原理了解的越多,有人發現漏洞的可能性就越大,並告訴您(或使用它)就像在開源上發生的一樣。我認為應該公開,秘密應該是隱藏的攝像頭,這樣當有人發現漏洞時您會注意到。
@Nanoc在此線程中查看多個註釋,以及已移至聊天的塊。 (並且請在其中一個聊天室中發表進一步的討論。)僅公開進行設計可使其他人更容易使用該設計。它不能保證那些人會真正地對其進行審查,也不保證他們這樣做的能力水平。更重要的是,您也無法保證他們的意圖。
如果它是公開的,沒有人可以對其進行反向工程...
我不確定為什麼有人需要設計定制的門認證系統。當然,必須有很多可以滿足您學校需求的現成系統嗎?
認真質疑為什麼您要設計如此重要的防盜門,而不是從許多高素質和專業的製造商那裡購買。
與其保守秘密,不如發布破解獎勵。這樣可以確保任何設法進入的人都比內容更能得到獎勵和榮耀。
Tl; dr:保持細節不公開不是一個壞主意。
@DeerHunter啊噹噹。我知道我應該使用哈希代替。
“他們認為內部工作應該保密,這樣就沒有人可以對其進行反向工程了”-嗯,當內部工作是秘密時,反向工程是精確的。如果內部工作是已知/已發布,則不是逆向工程。更像常規工程。儘管過度建造門似乎適得其反;如果我只是拆開其中一堵牆並從孔中跳入華爾茲,那門的安全性有多重要都沒關係。您應該設計的是保險庫。
即使我知道內部工作原理,一個安全的系統也需要保持安全。考慮一下KeePass,它是開源的,用於存儲敏感信息。當然,身份證/鑰匙/ ...上的數據可能是私有的,但將其設計成可偽造的會更好(沒有什麼是偽造的,但您可以設計使其很難偽造)
(旁注:存在不可替代的事物,有關更多信息,請參見量子貨幣)
我建議您也使用常規方法保存貴重物品。例如,將其放在金屬盒中並掛鎖。因為當您的概念失敗時,您可能需要第二個理論上不太安全但經過更好測試的層
@JonasDralle即使他們偽造了它,如果不將其實際鎖定(在這種情況下),他們也不會知道它是否正確。
八 答案:
Iszi
2016-02-03 02:56:27 UTC
view on stackexchange narkive permalink

隱蔽性並不是一個適當的安全措施。 依靠作為唯一或最基本的安全措施,或多或少是主要的罪過。

柯克霍夫原理也許是最常見的-引用了反對通過模糊實施安全的論點。但是,如果已經按照該原則對系統進行了適當的安全保護,則會被誤導。

該原則的措辭如下:“假設敵人了解您的安全系統設計的一切”。這絕不意味著“告訴敵人有關您系統的所有信息,因為他們仍然知道”。

如果系統已經按照Kerckhoff原理進行了精心設計,那麼在應用時可能會說的最糟糕默默無聞的安全性在於它幾乎沒有價值。同時,對於這樣的系統,保護其設計的機密性幾乎沒有危害。

“默默無聞的安全性還不錯。”感謝您說某些人不會接受的內容。
“在保護其設計的機密性方面絲毫沒有傷害”並不是真的。正如湯姆·里克(Tom Leek)所述,教育在學校中很重要,通過發佈設計,人們可能會指出缺陷。
我將第一段重新表述為:“默默無聞並不壞。*依靠*默默無聞來獲得安全性,似乎僅此一項就足夠了,這或多或少是一個主要的罪過。”我認為這將是您的意思更簡單的措詞。
@jpmc26“盲目的不是安全,這只是一回事”
評論不作進一步討論;此對話已[移至聊天](http://chat.stackexchange.com/rooms/35262/discussion-on-answer-by-iszi-my-school-wants-to-keep-the-details-of-我們的上門)。
@BradBouchard您的評論已失去意義
@Kos在那裡。半固定它。仍然不再是直接引號,但至少其中有一句話可以粗略地映射為釋義。
每當您需要密碼來訪問資源時,您都會通過模糊性來依賴安全性。
@Kos不確定您的意思嗎?
好東西是我寫問題的方式。最初,我會問“通過模糊的安全性太糟糕了。我該如何解釋呢?”,但我認為這很現實。
@alexw可以說是的。但是如果沒有某種形式的密鑰-它將具有人類足夠的知識和技能,幾乎總是並且不可避免地會被人類複製-沒有任何人**不允許所有人訪問系統,就無法訪問系統。因此,該系統對於CI可能是完全安全的,但完全會導致A失敗。否則它將超過A並因此導致CI失敗。 (摘自“ CIA三合會”。)克爾科夫原理的另一種常見措辭明確地豁免了密鑰(其中密碼是一種類型):“即使敵人知道密鑰以外的一切,系統也應保持安全。”
@BradBouchard““通過默默無聞的安全性還不錯。”感謝您說出某些人不會接受的內容。異常直接出現在“檢查我”報告的頂部。
@cremefraiche我在評論中一直關注的事實是,將隱蔽性作為另一層安全保護還不錯。周圍的人都喜歡在任何問題上都丟掉“模糊”陳述,就像一條毯子一樣,甚至部分地解決了模糊問題,我對此感到厭倦。即使是較弱的一層,它也只是另一層。
@BradBouchard我知道您在說模糊作為另一層還不錯,我認為這是一個危險的概念。除非做得非常好,否則混淆數據會留下明顯的跡象。任何公開可用的混淆工具都會留下簽名,這些簽名不僅易於被現代取證軟件檢測到,而且會觸發即時“紅色標記”。當涉及到足以考慮保護和掩蓋重要性的數據時,我絕對不要使用後者。
-1
@cremefraiche沒有多少系統不依賴某種形式的晦澀難懂。不錯晦澀難懂是他們安全的基石,這很糟糕。請參閱其他答案中有關軍用坦克的評論,或在此主題的其他地方評論。我會為您找到它的,但我不確定它在哪裡。這是我所聽到的關於晦澀的更好解釋之一。
我去看了@cremefraiche;請參閱下面的Cary Bondoc的答案。
@cremefraiche另外,我們真的不應該再在這裡發表評論了。國防部要求我們將討論移至聊天室,因此請這樣做,以確保您在此處繼續發言。我同意所有人的意見,我對您所說的持開放態度。我總是會“錯”,並對某些事情改變主意。
我認為“模糊不清作為安全層”存在一些問題,我認為我無法表達足夠令人信服,但是一個複雜的問題是,維護該模糊不清會增加開銷。如果確定“ X文檔”或“ A,B,C詳細信息”是機密的,則這些詳細信息本身現在需要安全性以確保其晦澀難懂。必須努力確保已安裝防火牆,進行審核以檢查是否存在洩漏等。如果OP因披露設計而被解僱,這樣做會帶來另外的成本。
比方說,將文檔設置為“最高機密”。僅對文檔進行分類並不能真正保護某些軍事機密(例如某些間諜飛機的規格)。但是,如果遵循該協議,則有一個協議規定“分類為該級別的文檔需要在*真正*安全性的許多層後面”,可以保護該文檔。將機密文件推到隱蔽處並不能保護機密主題或描述機密文件的安全。但是,文檔以及文檔的主題都可以得到保護,而不會混淆一個是另一層。
“ [Kerckhoff原理]絕不意味著“告訴敵人關於您系統的所有信息,因為他們仍然知道”。它更像是古老的“如果您取締槍支,只有不法分子才有槍支”的論點:如果您將系統的詳細信息保密,那麼只有那些試圖破解系統的人才能獲得系統的詳細信息。值得注意的是,這意味著可能願意幫助您改進系統的人將很難這麼做。
Tom Leek
2016-02-03 02:40:14 UTC
view on stackexchange narkive permalink

保留設計秘密不會使門本身不安全;但是,如果認為它增加了安全性是一種危險的幻想。

如果透露身份驗證系統的詳細信息會破壞它,那麼該系統就是純垃圾,應該丟棄。因此,如果您正確地完成了工作,那麼透露細節應該是無害的。如果您沒有正確地完成工作,然後開除自己的職位,然後聘請有能力的人。

總的來說,發布系統的詳細信息會促進外部審核,從而導致中斷-修復週期,最終提高了安全性。在學校環境中,未發布系統詳細信息會危害安全性,因為學校到處都是學生,眾所周知,學生是管閒事的無政府主義者,將特別吸引那些對他們保密的事物的逆向工程。眾所周知,在學生計算機室中,保持低安全性事件的最佳方法是將root / Administrator密碼提供給幾個學生-當學生想涉足計算機安全性時,給予他完全訪問權限消除了嘗試破壞事物的所有誘因,並將他變成了免費的警察輔助人員,以監視其他學生。

詳細說明安全系統的內部工作原理可能是一種高度教學方法。我聽說在某些學校中,他們至少有時會實際進行教學法。您的學校可能想試一試。

“如果你做得不好,那就開除你自己。”而且最好在實施設計之前先通過揭示設計來弄清楚這一點,對嗎? (儘管我對安全性設計非常有信心,但是仍然是一個很好的預防措施。)
@PyRulez:的操作概念是“審查”。您需要其他人進行一些額外的分析。開放的出版物可以幫助您獲得免費的評論。
您是否有“將root /管理員密碼提供給幾個學生的密碼”的來源?我想了解更多。
我真的不太願意為高中生提供root / admin密碼。他們只會在計算機上安裝視頻遊戲。
@Nelson與不給他們root密碼有什麼不同?
@JohannesKuhn我認為Tom對[Incompatible Time Share](https://en.wikipedia.org/wiki/Incompatible_Timesharing_System)的反黑客功能感到困惑。許多灰色孵化場的人在已經知道可以輕鬆完成某件事後便不會嘗試這樣做。
@JohannesKuhn:,這是我上學時使用的方法;系統管理員觀察了學生的活動,並為最高級的用戶提供了root密碼。它很神奇。 (而且,在更一般的基礎上,這被稱為“功臣主義”,是一種有效的管理方法-在13世紀,它使成吉思汗征服了世界。)
+1為“學生被認為是管家的無政府主義者”
因此,總而言之,PyRulez應該發佈設計,並且如果發現任何缺陷(通過審查已發布的設計或通過攻擊實際的已實施系統)是否應該退出?似乎有很高的賭注可以100%擊敗一支龐大的無政府主義者大隊伍。或者,為了避免這麼高的賭注,只需讓學生使用零用錢箱,然後您就不必辭職,因為您已定義了將其拒之門外不屬於您的工作;-)
AviD
2016-02-03 04:21:45 UTC
view on stackexchange narkive permalink

儘管@TomLeek和@Iszi的答案(都是很好的順便說一句)似乎是直接矛盾的,但您已經收到了幾個很好的答案。

它們都有很好的觀點:一方面,保密設計不會使系統安全,而公開審查它可以使您(可能)找到您未曾考慮的某些漏洞;另一方面,只要不是設計安全的關鍵因素,就可以將設計秘密保密並沒有什麼害處。

雙方都是絕對正確的-有時

我認為可以公平地說,在一般性辯論中,雙方都同意保守設計秘密根本不會直接增加安全性。
在最壞的情況下,它只是隱藏安全漏洞(取決於您認為對誰最隱蔽的安全漏洞,這可能是好事,也可能不是好事)。
在最佳情況下(不會存在可被暴露的小漏洞)發佈設計),它仍然不能提高安全性-但可以確實最小化攻擊面

最小化攻擊面(即使不存在攻擊面漏洞)絕對是一件好事;但是,這需要權衡和權衡發布的好處(即需要更多的關注者進行審查)以及將其保密的不利方面-例如傾向於將它作為安全控制(一種默默無聞的流行安全),作為一種安全劇院的形式。

值得一提的是,正如@Tikiman所暗示的那樣,僅僅發佈設計是不足以確保對其進行審查的-尤其是那些有能力找到漏洞並且也有能力的人傾向於將它們透露給您。在很多情況下,只有那些懷有惡意的惡意人員才能審查已發布的設計,因此您將無法獲得預期的收益。而且,通常甚至都不知道他們的設計是否屬於上述最佳情況或最壞情況。

最重要的是-在許多安全方面,直接的答案仍然是:這取決於

這裡要考慮一個明確的權衡-如果這是一個複雜的密碼系統,答案將是明確的;如果這是一個需要大量實施的典型企業系統,那麼答案很清楚。

在這種情況下,我傾向於 ,就像@Tom所說的那樣,但出於第二個原因-部分是無政府狀態的用戶群,大部分是教學目標。

請注意,這些實際上並不是真正的安全考慮-至少不是直接考慮。

(哦,關於@Tikiman的觀點-這裡涉及的教學法意味著您實際上可以確保至少在整個班級中都對設計進行了審查;-))

在進行此操作時,請不要忘記說明Tikiman163的答案。
@PyRulez我添加了一兩個評論,例如它們。。。雖然我的意圖不是對其他答案逐點反駁,但是卻對比了晦澀/開源辯論的兩面。
Cary Bondoc
2016-02-03 08:45:43 UTC
view on stackexchange narkive permalink

丹尼爾·米斯勒(Daniel Missler)的這很棒!

它指出

安全性很差,但將模糊性添加為

具有這個概念,一個更好的問題將是

添加晦澀感來最好地使用給定我已有的控件的資源,還是添加一個其他控件(基於非模糊性)更好?

我們還可以使用偽裝的解剖學作為另一安全層的模糊性

偽裝是一個有力的例子。考慮使用諸如M-1之類的裝甲坦克該坦克配備了一些曾經使用過的最先進的裝甲,並且已被反复證明在實際的現實世界戰鬥中是有效的。

因此,鑑於此高效的裝甲,如果將其塗成與周圍顏色相同的顏色,對坦克的危險會以某種方式增加嗎?或者將來當我們使坦克完全不可見時呢?我們降低了裝甲的效力嗎?不,我們沒有。 難於發現並不能輕易地發現或發現它。這是一個謬論,必須結束。

當目標是減少數量時從可靠的,經過測試的安全性開始,並增加隱晦性作為一層,成功的攻擊確實可以為安全態勢帶來整體利益。迷彩在戰場上做到了這一點,而PK / SPA在保護強化服務時做到了這一點。

強調我的能力。

Iszi的評論也很好,他說這是如果我們將單詞 adding 更改為 enforceing 會更好,所以總的來說,看起來像這樣

摘要:

模糊性帶來的安全性很差,但是將模糊性作為其他控件之上的一層實施的安全性絕對是合法的。 假設您在戰場上是安全的,因為您認為自己的戰車塗有與環境相同的顏色,這簡直就是胡說八道。但是,使您的坦克的防禦力更強,並加上能夠給您提供偽裝能力的油漆作為另一道保護層,是很棒的!

如果您考慮到通過打開設計而獲得的評論,這種類推法是否會破裂?
也許在“正在添加模糊性”問題中,您應該將“添加”更改為“強制”。如果一個人僅在自己的頭腦中設計系統,那麼設計自然就很模糊,無需任何額外的努力。即使在設計人員詳細記錄了系統之後,只要僅在設計人員的控制範圍內,該設計就仍會以幾乎為零的附加努力保持合理的晦澀。但是,將設計放入共享訪問存儲庫中會威脅(但不會自動破壞)系統的模糊性。那時需要付出努力來執行它。
-1
如果在坦克中發現了敵人可利用的瑕疵,那麼只有當敵人實際上知道該瑕疵時,您的戰鬥力才會真正受到損害。雖然Kerckoff說您必須假設這是可能的,但實際上公開設計坦克的設計意味著您必須假設這很可能*。同時,針對此類缺陷提出修復或變通方案(然後召回和升級/更換機隊)的時間表可能會以*月*來衡量。
當模糊是唯一的保護時,總比沒有保護好。相信這種情況下的默默無聞可以確保您的安全,但這可能是致命的。
向M-1添加迷彩是作為額外的“現場”安全層,在測試,工程或設計甚至“戰備狀態”期間,都不會將其視為實際坦克安全規格的“一部分”(我想這可能是如果沒有迷彩,則不會被認為已做好戰鬥準備,但是迷彩也不會被視為提高了坦克的預期戰場性能。)但是,大多數基於信息的安全性(使用某些晦澀的最後一層)確實會影響解釋其“真實”的安全性。人們看到“迷彩”,並認為“現在_很安全!”
@Anthony好吧,*隱形*技術現在已經在非常基礎的水平上構建到了許多防禦平台中。在最極端的情況下(例如美國空軍現已退役的F117隱身輕型轟炸機和B-2轟炸機),保持其精確位置“遠離”敵方雷達基本上是飛機存在/被摧毀,被摧毀的完全原因有效。許多國家的許多研發平台都在不同程度上構建了“簽名管理”技術,以達到一定程度的低可見性。 (儘管不*僅*依賴於生存能力。)
在寫這篇文章時,我也想到過隱形轟炸機。但這似乎更像是一種混淆策略,而不是一種安全措施。我敢肯定飛行員會覺得更安全,但是可以假設他隨時都可以看見。這也讓我想到了隱寫術,它可能被認為是晦澀的一層。但是以某種方式,秘密/偷偷摸摸的動作感覺像是安全以外的單獨或專門的工作。
我認為我遇到的主要問題是,將模糊性作為一種安全措施會立即感覺到“安全”,就像躲在毯子下一樣。對於安全經理或任何IT人員而言,這都是幼稚的做法,但是我們可以談論關鍵與補充等問題。但是,政治家和其他決策者(例如OP的學校職員)想要並且經常要求晦澀難懂,因為它看起來和感覺都很好。
他們對問題的怪異深度不感興趣也不關心。這些人堅稱我們必須每90天更改一次密碼,但將密碼保留在桌面抽屜中。
我認為實際上應該“加強”“加強”。例如,“以其他控件之上的一層模糊性增強安全性”是絕對合法的。模糊性不是實現(或“強制”)安全性參數的機制。這是在其他安全機制之上添加的一層,用於提高(或“加強”)總體安全級別。
axl
2016-02-03 07:23:48 UTC
view on stackexchange narkive permalink

雖然沒有真正回答您的問題,但這可能是對您學校的爭論。

我認為有人可以訪問授權的密鑰/身份是真正的風險。人們很草率,使用錯誤的密碼,並始終寫下秘密。很久以前,我學校的一位老師曾經把整個學校的鑰匙留在一個學生洗手間裡。

如果我想進入那個房間,我什至不用費心去尋找一個安全孔。該軟件;我會偷鑰匙,嘗試篡改物理鎖,或嘗試其他外部方法。

或者,正如我的一個朋友說的那樣,當校長問他如何對學校系統進行黑客攻擊時為了破壞數據; “我會用棒球棍”。

Tikiman163
2016-02-03 03:56:03 UTC
view on stackexchange narkive permalink

我有一個很長的解釋,似乎似乎在漂移,所以我將給出一個簡短的答案,然後論證。簡短的答案,這是通過隱蔽實現的安全性,但這可能不是問題,因為與系統聯繫的人數眾多。因此,可能不值得爭論。

您的斷言是正確的,通過隱蔽性(STO)保持系統設計的秘密是安全。 STO是個壞主意的主要原因是,通過仔細觀察和正確應用社會工程學,可以在所有情況下對最初內部未知的系統進行反向工程。如果您是唯一了解系統工作原理的人,那麼您是唯一可以驗證系統完整性的人。因此,如果您的設計中存在潛在的可繞過缺陷,而其他人則對您的設計進行逆向工程並發現它,則與您未對設計保密的情況相比,他們可以更輕鬆地利用它。他們也更有可能將其發現和非法使用保密。

這是因為,如果您將設計知識公之於眾,那麼就會有更多的人去研究它,審查設計的人越多,有人發現並告知您的可能性就越大。設計缺陷甚至可能不在一般概念上,而是在特定的實現上,例如在其他安全算法的實現中出現緩衝區溢出的機會。公共密碼基元使用的主要概念是,通過使每個人都知道您的密碼基元算法,其他人可以對其進行審查。在許多人這樣做之後,可以合理地確定您的設計是安全的。困難在於,因為您正在為學校設計設計,所以只有極少數的人可能會查看您的設計,而很少有人會理解它們。查看您的設計的人越少,發現缺陷的每個人就越不可能報告該缺陷。

除非您可以與願意審查您的設計的大量安全專家聯繫,在實際安全性方面,它們的方式可能大致相等。

我認為這很關鍵。攻擊者需要知道(a)密碼或(b)可利用的設計缺陷。如果那裡有一百萬個Acme鍵盤,那麼找到(b)(如果存在)會更容易,因為攻擊者可以購買和拆解十個Acme鍵盤。在這種情況下,Acme corp。最好發佈設計,這樣他們就不會沾沾自喜,並且有更好的機會立即了解任何缺陷。但是,如果只存在一個Acme鍵盤,則將其設計缺陷與密碼一樣保密是可行且值得的。
這個答案是非常有缺陷的,因為它認為宣傳設計會增加*正在*審查該外觀設計並且不敵對和勝任的人員數量。當然,這使該系統更易於訪問,可供許多人查看。但是您不知道實際上有多少人*會*費心去審查它。或者其中有多少人在他們的審查中甚至會知識淵博,技能嫻熟且足夠透徹,以發現任何缺陷。或發現缺陷的人的意圖是什麼。
Iszi,我非常明確地談到了一個事實,即如果他確實發布了他的設計,就不會對其進行審查。如果您要反駁某人,請不要同意他們的評估。至少,嘗試在評論之前先完整閱讀您要評論的內容,您可以很容易地意識到,通過僅閱讀我指出STO在這種情況下還不錯的第一段,您並沒有指出缺陷。
-1
gnasher729
2016-02-08 05:57:38 UTC
view on stackexchange narkive permalink

一個明顯的目標是學生不能破解門認證系統。

如果我們假設身份驗證系統稍微但不是很容易被黑客入侵,並且有些學生具備一些但沒有高級黑客技能,那麼很有可能通過製作詳細信息而增加了難度系統不可用的程度足以使其超出該組(學生)的範圍。

另一方面,一旦系統如此安全以至於無法對其進行破解,比查找或逆向工程系統的工作要困難得多,那麼將細節保密就不再有用。

Serge Ballesta
2016-02-09 18:52:42 UTC
view on stackexchange narkive permalink

如果我對上門負責,那麼我對機密性有相同的要求。如果世界(和您的工作)是完美的,那麼默默無聞的確是沒有用的。

但是,請考慮一下現實世界中實際發生的事情。我假設您使用最先進的算法來盡力而為。但是魔鬼隱藏了細節,實現細節削弱安全性。即使算法確實很安全,SSL庫還是在不久前發生了。

公開安全系統詳細信息時,您想要的是同行會審查您的實現並警告您可能存在的缺陷在攻擊者發現和使用它們之前。如果您認識安全系統方面的專家並請他們審核您的工作,我認為即使在您的學校,這也將被視為一種良好做法-恕我直言,至少應該。但是,如果您只發布它,那麼您的第一批讀者更有可能是為防盜門所針對的讀者!而且,您當然不希望他們成為第一個對您的工作進行審查的可能存在的缺陷的人。立即投入生產,您應該盡可能廣泛地發布它,以獲得良好的評價。但是,如果您構建了一個可立即用於實際安全性的專用實現,則僅向可信賴的專家披露詳細信息,以避免幫助攻擊者發現可能的漏洞。



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