iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 10
0
Security

資安隨意分享的30天系列 第 10

Day10 - How to Share a Secret

前言

我覺得這是一個蠻有趣的東西,周遭朋友間講得不多,ctf 有出過相關觀念的問題,但也出的很少

自己也不是很懂,就來看看論文

正文

paper

這篇文章是在講說如何將資料D 分為 n 份,只要有其中任意 k 份就可以還原出整個資料D

而即使你擁有任意 k-1 份資料,也無法從中獲取任何有關資料 D 的訊息


這篇文章先說明一個場景來思考:

11個科學家從事一個秘密專案,他們希望把文件鎖在一個箱子中,箱子只有在

現場存在 6 個或以上的科學家才可以打開。那問題:

  • 最少需要多少鎖
  • 每個科學家最少要保管幾把鑰匙

簡單講就是在探討一個秘密分享的場景下的問題


這邊先定義,將資料 D 先分成 n 份:

  • 當你有任意 k 份或更多可以還原 D
  • 當你只有任意 k-1 份或更少,則永遠不可能還原出 D

稱這樣的 Schema 為 (k, n) threshold scheme ,可以使用這個來方便管理金鑰。


要保護資料可以將資料加密,但如果要保護金鑰,需要有不同的方式:

最好的方式是直接保管在一個嚴加保護的地方,但如果該地方出現問題而毀損的話,金鑰就沒了

但如果把金鑰分成好幾個地方放,又會增加風險,所以這就是本篇論文在討論要解決的問題。

如果使用 (k, n) threshold scheme 來保管金鑰, n = 2k - 1:

  • 就算 k-1 份被毀,也可以還原出來
  • 就算 k-1 份被竊,也不用擔心東西外洩

這個機制在理想的情況下,適用於一組有矛盾且互相懷疑的群體在合作做事情,在一個理想的情況下

是希望合作是基於雙方的同意,選取適當的 k 和 n ,可以給予任何數量夠多的一群人一些行使的權力,

並讓不夠多的少數人以阻止他們的能力。


結語

其實我覺得這篇論文算是做到一個簡單概念的介紹,不過寫的覺得有些不夠多

所以,可能之後會再補充些資料


上一篇
Day9 - Twenty Years of Attacks on the RSA Cryptosystem
下一篇
Day11 - DSA 小小研究
系列文
資安隨意分享的30天30

尚未有邦友留言

立即登入留言