題:
如果密鑰分配完全安全,為什麼還要使用一次性墊?
Riley Willow
2016-06-11 13:26:35 UTC
view on stackexchange narkive permalink

昨天我進行了一次工作面試,他們問唯一一次可以破壞一次性密碼夾的情況是什麼,我的答案是“當密鑰分發過程不夠安全時”。

該問題的正確答案是什麼?

我不確定“安全通道”的定義是什麼,但是密鑰分配是在一個方向上(A-> B),消息是在另一個方向上(B-> A)。
錯誤的密鑰生成也會帶來問題,請參見VENONA等
可能是您希望有人在不安全的通道上浪費資源試圖破壞您的代碼(不知道它是OTP)。
OTP安全通道中的@Bergi是一種在不中斷的情況下獲取各方之間共享的大量信息的任何方法(從信息大小的角度出發,它至少應是要與之一起發送的所有消息的長度,如果相同,則所有消息都應如此)。墊將被使用,因為您無法重複使用它的任何部分)。交換方向與OTP無關緊要,但是不能隨便發送帶有消息的信息,那是行不通的。
另外,您的密鑰分發方法不允許您直接選擇實際密鑰。例如,diffie hellman允許兩個當事方創建一個共享的機密,但任何一方都不選擇機密本身。
我會問這個前提-您如何才能100%確定您的分銷渠道確實安全?即使您絕對確定沒有人能夠破解您的服務器,將密鑰用作其之上的額外安全性將具有與散列數據庫密碼相同的安全性要求。
“ 100%安全”實際上並不存在,值得牢記。
*只是個猜測... *因為一次性填充很容易實現(簡單的XOR),因此更容易驗證代碼。而且它應該在*非常低端的設備上運行,甚至可以手動運行(如果您管理密鑰交換)。
關於採訪:我了解到,人們通常希望您回答“密鑰被重用時”,儘管這打破了前提。
墊子的“一次性”性意味著墊子的每個“部分”被使用一次。例如,如果您將兩副紙牌作為一個時間墊使用,則在您用盡墊子之前可以發送52個字符,前提是您認為回收墊子不安全。最多可能有52條消息。而且,正如kaay所指出的那樣,該墊可以回收利用,如果將墊本身的長度(和性質)保密的話,這並不可怕。例如,如果人們*知道*您正在使用52張卡套,則您不想重複使用52張卡套。
即使不知道長度,重用OTP也是非常糟糕的,尤其是在流未經壓縮或具有結構(例如標頭)的情況下。如果輪流對每個班次進行XOR運算,則在重新使用填充板時會得到1的下降。在A處設置的位將與在B處設置的位相關,因此A + B將具有更多的零,因此(A + K)+(B + K)= A + B也會具有更多的零。
@Simba無論我們稱其為100%安全還是50%安全,或任何其他數字,都沒有關係。OP會問同樣的問題-為什麼不只通過該通道而不是OTP發送消息?如果可以中斷頻道並獲取消息,則可以完全相同的方式中斷頻道並獲得OTP。OTP不會增加任何安全深度-通道本身一旦遭到破壞,即通過隱晦的方式提高安全性,即,您唯一剩下的希望是攻擊者不會意識到他對以後的消息有OTP。
-1
十 答案:
Jeff
2016-06-11 14:30:59 UTC
view on stackexchange narkive permalink

您可以分發密鑰立即,並發送消息稍後

假設您是間諜,是在敵後執行任務的間諜。隨身攜帶密鑰(安全分發),當發現秘密時,可以使用一次性密碼鍵盤安全地發送它。

密鑰和實際消息的大小之間的差異是否也有效?
@user13267不適合一次性使用。OTP密鑰必須至少與消息一樣長。這就是系統的重點。
-1
[Moscow-Washington熱線](https://en.wikipedia.org/wiki/Moscow%E2%80%93Washington_hotline)(稱為“紅色電話”,但從未使用過電話)是另一個很好的例子。(據報導,這實際上是在使用OTP的,至少在第一次安裝時就使用了。)他們不時通過外交郵袋交換OTP,這非常安全,但速度很慢,必須提前安排。但是這樣做之後,熱線可以在必要時使用,這就是重點。
另一個很好的例子是第二次世界大戰的SIGSALY,如《 99%看不見的情節》 [Vox Ex Machina])http://99percentinvisible.org/episode/vox-ex-machina/中所述。它使用具有隨機噪聲的記錄作為一個時間墊來加密白宮與世界各地盟國領導人之間的電話通話。記錄將安全地提前發送。在通信結束後將銷毀它們,以確保向前保密。
Baard Kopperud
2016-06-11 20:11:23 UTC
view on stackexchange narkive permalink

您今天 可以安全地分發某些內容,並不保證您明天或下週或明年都可以安全分發。

此外,您過去用於分發內容的安全渠道鑰匙可能有限制。也許這取決於實際在A點和B點之間旅行的某人...也許它僅在某些時間可用-例如週末或冬季...也許其容量非常有限-每封郵件的最大大小和/或可以發送的郵件總數(例如,如果經常使用太多則顯得可疑)...您可能還想“保存”用於發送物理項目(例如OneTime-Pads或病毒樣本)的通道,而實際上卻無法通過無線電或Internet傳輸 -與文本和圖像不同...

但是最大的障礙可能是時間方面的問題。情報-間諜蒐集的類型,用於戰爭和政治-保質期非常有限。如果您無法立即獲取信息,那麼它的價值就會喪失-要么是因為稍有先機而已,要么因為發生任何警告,要么是因為相同的信息又從其他渠道滲入。

因此,使用安全的通訊渠道-親自進行運送,快遞員,輪船上或飛機上的官員的來信,通過人員鏈傳遞信息-可能太慢了。這就留下了快速,但不安全且易於監控的方法,例如無線電,電報,電話和互聯網。通過這些不安全的渠道可以非常迅速地發送信息,但是它們並不安全...因此,您必須先通過一次已通過安全通道保證的一次性密碼對信息進行加密。

並且不同於您的安全頻道,幾乎100%保證明年還會提供電話,廣播和互聯網。

如果容量有限,則OTP無法使用,因為OTP需要消息大小的密鑰,並且同一密鑰不能用於多個消息,因此我們需要足夠的密鑰來覆蓋下一次密鑰更新之前的所有將來消息(大於密鑰)。訊息)。
@ewanm89我指的是“安全通道”的容量問題-“安全通道”最初用於承載OneTime-pad。根據定義,如果消息是通過有保證的安全通道發送的,則不必加密消息。但是,該渠道仍然可能對所發送的介質造成容量限制:也許這是一個帶有空心鞋跟的快遞員,只能拿十張紙。也許這是一種走私*張*縮微膠卷或一張存儲卡的方式。也許-去上學了-它是隻隻攜帶一張小紙的攜帶鴿子。OTP +無線電沒有這樣的限制!
是的,但是OTP本身必須通過這樣的安全通道發送。使用OTP時,通過該安全通道發送的數據量等於或大於直接發送消息的數據量,因此容量不成問題,為什麼不使用該安全通道直接發送消息。其餘的都很好,並且時間限製或無法可靠訪問該安全通道是使用OTP而不是安全通道的正當理由。
現在您可能想要添加,如果安全通道在您回到總部時正將信息移交給您,並且您處於敵國領土,那麼我們無法保證甚至可以將其退還給您,更好地通過以下方式加密並發送給總部立即廣播,而不是等到您到達那里後可能被槍殺時親自交給它。
@ewanm89但是,這是一個*安全*的渠道嗎?但是,是的,我明白你的意思。您可以確定該消息將被銷毀-未顯影的膠卷或未正確打開會燃燒內容的容器,也可以由外交使團發送。它可以由船長在船上(該船是其註冊國的領土)運載。但是,是的,為防萬一,對消息進行加密將是明智的。但是,如果該消息足夠短以至於首先只能通過這樣一個有限的通道發送,那麼通過使用OTP對其進行加密就不會變得那麼長。
-1
我並不是說消息會更長,密鑰必須是更長或更長時間,而我直接指出安全信道的容量並不是問題所要使用的OTP的原因,而是其他原因。答案是正確的。是的,常見的方法是將其作為安全通道帶走,這在所有給出的時間原因中都可以涵蓋。
@ewanm89,,如果容量限制是消息數而不是消息大小(請考慮:如果您要發送CD,則是半滿還是完全滿都無所謂,但是每發送一張CD就很重要一天還是一年),那麼在有限的渠道上分發OTP密鑰仍然是可行的。
user2483352
2016-06-11 20:18:08 UTC
view on stackexchange narkive permalink

在一些實際情況下,您交換密鑰後,僅在知道密鑰交換後才知道密鑰未被攔截(即交換是100%安全的)。如果您直接發送了秘密消息,則可能已經洩露了該秘密消息,但是由於您只交換了密鑰,因此可以將其丟棄。順便說一下,這就是量子密碼學的思想。

量子密碼術的另一個特點是,您不能選擇密鑰。它只是隨機的,本身不包含任何信息。實際上,您甚至無法通過100%安全的量子信道發送任何非隨機生成的信息,這意味著您無法直接發送秘密消息。如果您想了解更多有關該主題的知識,我可以推薦有關 Quantum密鑰分發的Wikipedia頁面。

關於量子密鑰分發的要點。
儘管這是很好的信息,但由於QKD在行業中並不十分普遍,因此我不確定這是否是採訪的實際情況。正如我在下面的評論中提到的-這是一次工作面試,而不是關於密碼學的論文。
+1。您可能會在此答案中添加一些歷史系統,這些系統在用於發送一次性便箋的包裝上使用了防篡改密封,例如[加拿大OTFP / OTLP系統](http://www.jproc.ca/crypto/otfp_otlp.html);[DDR和蘇聯OTP系統](http://www.cryptomuseum.com/crypto/otp/ddr/index.htm);等等
Mike Maxwell
2016-06-13 01:12:26 UTC
view on stackexchange narkive permalink

我猜想,今天的安全分發不能確保明天的安全分發的效果的答案是可以的,但是這並不存在另一個原因:分發密鑰通常是從某個中央站點完成的到“間諜”,而間諜又向相反方向發送消息? (假設間諜是生成消息的間諜;當然可以向任一方向發送消息。)一個方向的安全性不一定意味著另一個方向的安全性。

一個明顯的情況是發送潛艇出差。他們在離開之前就獲得了一次性的便箋本,但是使用這些便箋本來加密要發送回基地的消息。 (基地可能正在向他們發送消息,這當然會得到另一個答案:您不希望潛水艇必須回到港口以安全地從基地接收消息。)

德國海軍在第二次世界大戰中使用Enigma而不是一次性墊是很好的事情。

但是潛水艇實際上使用OTP嗎?使用OTP將限制他們在任何特定任務中可以加密(或解密)的文本量。
一次讀取然後擦拭CD /錄音帶/硬盤形式的一次性墊將產生相當大量的完全安全的通訊。
無論如何,在[潛水艇通訊](https://en.wikipedia.org/wiki/Communication_with_submarines)中都使用基於@DavidRicherby字典的壓縮(例如,VLF無線電用於岸對船)。從歷史上看,它已被用於海軍通信,以掩蓋消息內容並對其進行有效編碼(即使是高效的莫爾斯電碼操作員,其比特率也相當低)。到70年代初,您將獲得一個存儲20MB的磁帶驅動器(並且您不需要8位/符號,6個就足夠了)
dr_
2016-06-13 20:00:00 UTC
view on stackexchange narkive permalink

昨天我進行了一次工作面試,他們問到唯一一次可以破壞一次性密碼夾的情況是什麼,我的答案是“當密鑰分發過程不夠安全時”。 p>

我並不是要給您關於面試的不安全感,但我很確定這不是正確的答案-否則,我不明白您的答案。這是因為您的答案適用於任何加密方法-如果您不能安全地通信對稱密鑰,那麼它就結束了。

唯一可以破壞OTP的情況( 它是使用非真實隨機來源生成的,這會留下通信方的明顯失誤,例如重複使用OTP的某些部分,或者讓敵人把它交給他。這樣一來,敵人就可以進行頻率分析,並試圖推斷出交換的文字。

事實上,一次性墊可確保完美的安全性,並且在理論上是堅不可摧的。不能廣泛使用的唯一原因是由於它的不實用性。

如果密鑰分配是100%安全的,為什麼還要使用一次性填充呢?為什麼不能簡單地發送純文本消息,因為您確定分發是100%安全的?

此問題的答案是:由於安全通道可能並不總是可用,因此可以帶寬有限,或者使用成本可能太高。因此,它可以用來交換(一次)小型密鑰,而不能(通常)進行冗長的私人通信。

“小型密鑰,但不是(通常)冗長的私人通信”-但是OTP密鑰必須至少與它加密的消息一樣長。有限的可用性是一個合理的原因,但不是帶寬。
根據定義,OTP密鑰由真正隨機的源生成。沒有這個假設,不可能證明是堅不可摧的。因此,不能由真正的隨機源生成不是打破OTP的有效方法。破解它的唯一方法是知道密鑰。因此,他的答案是正確的(因為密鑰僅與靜止時的交換和保護一樣安全。在這種情況下,假設靜止時的保護不可行進行攻擊)。
我同意@Qwerty01的觀點-利用加密方案的錯誤實現並不意味著您已經破壞了加密方案本身。
@Qwerty01您能否引用排除非真正隨機生成的定義?我問是因為OTP上的Wikipedia文章有超過10年的更改歷史,稱真正的隨機密鑰為“挑戰”,或使用有條件的“如果密鑰確實為隨機”,則不可能破解。如果是定義問題,那麼訪調員可以使用其他人。
他們之所以提到它,是因為很難生成真正的隨機數據。因此,人們傾向於使用CSPRNG來生成所需的數據,而不是真正的隨機數據。如果數據不是真正隨機的,那麼您正在攻擊的是生成密鑰而不是OTP的算法。另一種思考的方式是這樣的:如果您使用的RNG每次都返回相同的數字來生成RSA密鑰,則該密鑰將被輕易破壞:不是因為RSA問題,而是因為您的問題RNG。
Jon Bentley
2016-06-14 17:19:58 UTC
view on stackexchange narkive permalink

這是另一個未提及其他答案的原因:

您可以使用安全通道一次來傳輸OTP,然後多次發送安全消息,直到您的OTP用完為止。

這很有用,因為獲得100%安全(或接近它)的渠道可能非常困難和/或成本高昂,而不安全的渠道則便宜,快速,並且很容易獲得,因此可以最大程度地減少使用安全通道的頻率。

示例:通過物理攜帶一個1TB的OTP數據來傳輸硬盤驅動器到目的地(昂貴且不便的操作)。然後,您可以在需要時通過Internet發送價值1 TB的加密郵件。這比反複使用安全通道手動發送郵件要好。

Grant
2016-06-14 23:19:54 UTC
view on stackexchange narkive permalink

如果要加密的消息比填充中的字符/字節長得多(例如多次),則一次性填充可以被破壞。這等於重複使用相同的“一次性墊”,並且同樣容易受到解密的攻擊。

如果您重複該墊,則它不再是一次性墊。
Jesse Williams
2016-06-14 23:33:55 UTC
view on stackexchange narkive permalink

老實說,我認為一個合理的答案是您不能保證100%的安全性。或至少這將是我的答案,然後可能是“假定安全性為100%的任何人都不了解安全性。此外,假定安全性為100%的任何人比不安全性小於100%的人受到的風險更大,甚至更大。”

這與問題無關。無論您在所選通道上具有100%安全性,99%安全性還是50%安全性,問題仍然存在-我應該在該通道上發送OTP,然後再發送加密的消息,還是我應該簡單地在該通道上發送消息渠道?通道的安全性沒有任何區別-如果有一種方法可以斷開通道並獲取消息,則可以使用相同的方法來獲得OTP。
我不同意-這不是關於安全的學位論文,而是一個面試問題。作為安全研發部門的招聘經理,我希望候選人能給我一個答案,表明在這個問題上註入了現實世界的思想。如果我正在尋找一個學術答案,我會很樂意斷言在給出這樣的答案之後。
如果我是一名招聘經理並得到了答案,那麼我將不再關心答案的有效性,而更擔心他們無法正確理解該問題。這表明在關注細節和遵循說明的能力方面存在問題。我寧願選擇一個錯誤的答案,至少要嘗試這個問題(畢竟,沒有人期望知道一切),而不是不相關的“正確”信息。
查看問題-*“如果密鑰分配是100%安全的,為什麼還要使用一次性密碼呢?為什麼不能簡單地發送純文本消息,因為您確定密鑰分配是100%的安全呢?” *-非常清楚地假設信道的安全性,他們想知道為什麼要麻煩OTP。他們不是在問佢道是否可以100%安全。
我不同意,但是……這只是表明,在採訪中回答問題時,您在此事上受采訪者的擺佈。好像這個問題不是“解決x”或“ TCP / IP協議棧的組件是什麼”。我更希望對安全性持懷疑態度,而不是那些擁有新鮮學位並聰明的人認為他們可以勝過該系統,因為該系統即使在理想條件下也無法保證其安全性。
那麼您的問題應該是:“您認為有可能實現100%的安全性嗎?”如果您想要那個答案。提出不相關的問題並希望您的回答只會造成混亂的面試過程。
關於關注細節,這可能是最詳細的答案。我明白了您的意思,我會假設一個答案,例如我提出的答案,會導致後續問題或要求提供更學術性的答案,這很好。但是我實際上更希望先進行這種交換。
Count Iblis
2016-06-15 11:28:05 UTC
view on stackexchange narkive permalink

問題:

如果密鑰分發是100%安全的,為什麼還要使用一次性密碼?為什麼不能簡單地發送純文本消息,因為您確定分發是100%安全的?

這是假定在分發密鑰時有可能不發送的信息就是這樣。這裡給出的其他答案已經解決了這一點。另一個問題是,即使從原則上講,密鑰分發可能僅對密鑰分發而言就足夠了,而對於所需的信息傳輸卻可能是不安全的。

一個例子是愛德華·斯諾登如何向您發送信息的問題信息安全。我們假設來自斯諾登的所有通信都受到監控,如果您與他面對面見面,那麼您將受到監控,從他那裡收回的任何東西都將不會安全。因此,斯諾登沒有辦法讓您獲得純文本文件而不會受到影響。最多您可以安全地將東西帶到斯諾登。要實現您需要做的所有OTP方法。

使用OTP的安全協議可以按以下方式工作。我將硬盤上的圖片複製並放在拇​​指驅動器上。我請一個我信任的人給斯諾登一個大拇指。在此人與斯諾登會面後,發現他這樣做了,搜查了他所有的財產,中央情報局監視他,他的房子經常被盜,並在計算機上安裝了間諜軟件。因此,顯然他不能安全地從Snowden接收任何信息。他從我那裡獲得的兩張圖片,並將這兩張圖片上傳到Flickr。我所要做的就是下載他最近的兩篇Flickr帖子,從硬盤上的圖片中減去圖片文件,然後將兩個噪點加起來以獲得消息。

我認為您還不了解這個問題。OP知道什麼是OTP以及它如何工作。以您的示例為例,問題是-如果您可以安全地將包含OTP的拇指驅動器交給該人,那麼為什麼不首先簡單地將消息傳遞給他們,因為您已經有了一個可以給他們拇指提供安全保護的通道駕駛。
@JonBentley我已經正確理解了這個問題,我在其他一些答案中已經解決了這個問題,這是關於稍後在沒有安全通道可用時發生的信息傳輸的。
@CountIblis如何回答“如果您100%確信密鑰分發是安全的,為什麼要使用OTP?”這個問題的答案如何? 很明顯,您不明白這個問題。這是在回答“如何使密鑰分發更安全?”這一問題。
@Qwerty01我確實理解了這個問題,只是在OTP中以一種在實踐中使用它的方式,這是一件非常瑣碎的事情。密鑰分配不是信息傳輸的重點,甚至不可能通過此通道安全地傳輸信息。監護人可以派一名記者到斯諾登,並給他一個帶圖片的拇指驅動器。但是在他回來的路上,他所有的財產都可能被搜查。這樣就根本沒有從斯諾登到《衛報》的安全通信通道,但是可以使用OTP。
因此,OTP密鑰只能以一種安全的方式發送,因為當我要去斯諾登時,情報部門不知道我打算見他。但是遇見他後,我可能被監視他公寓的秘密特工發現,所以我從他那里奪回的一切都不安全。
我了解您的意思,但仍然缺少該問題的意圖。它不是在問_how_,而是在問_why_(在這種情況下,這可能是您可能需要將文件傳輸到Snowden _later_,並且僅在100%安全通道_now_上獲得一次機會)
@Qwerty01好的,我將根據斯諾登的示例重寫此答案。
Duszek Smsaczek
2016-06-11 21:24:00 UTC
view on stackexchange narkive permalink

如果您發送的確有把握的文本在任何情況下都無法被計算機截獲,則應該使用OTP並面對面傳遞密鑰,但是您可以通過郵局郵寄加密的郵件。如果使用得當,那麼任何人都無法破壞消息。即使在1'028'526'910年。

問題不在於OTP或它們如何工作。問題是-如果您可以面對面傳遞OTP,那麼為什麼不面對面傳遞消息並跳過使用OTP帶來的額外麻煩。要回答這個問題,您需要專門解決使用OTP而不是消息本身的原因。
@JonBentley當然,問題不在於如何在家裡與妻子安全地通訊。
@CountIblis我不太了解您的評論。我的觀點是,如果您有一種安全地傳遞OTP的方法,那麼您可能會使用該方法傳遞消息,而OP詢問您為什麼要在這種情況下使用OTP。
@JonBentley誰說我要向OTP密鑰的接收者發送一條消息?可能是另一回事,反向路徑可能根本不安全。斯諾登想向我發送安全消息,但是他無權向我提供OTP密鑰。我可以向他提供OTP密鑰,但是我無法從他那裡收到任何消息,因為會發現我去過他,並且會對其進行搜索。
@CountIblis是的...這是對該問題的一種可能的答案。你想說啥?您似乎以為我在問這個問題,但我不是。我正在澄清問題**是什麼,因為此答案無法理解該問題。
我討厭求婚者!


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