1 / 25

Multilevel Data Security (MDS)

Multilevel Data Security (MDS). 問題:若存在一個 multilevel security hierarchy 如下圖: C 1 C 2 C 3 C 4 C 5 C 6 [ 圖 1] 存在一個 Key Center(KC) 負責 key 之製作與分配 , 每一個 Security Class C i 擁有一個由 KC 製作的 key K i , 而且可以使用這個 key K i 去算 K i 所管轄之所有

hestia
Télécharger la présentation

Multilevel Data Security (MDS)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multilevel Data Security (MDS)

  2. 問題:若存在一個multilevel security hierarchy如下圖: C1 C2 C3 C4 C5 C6 [圖1] 存在一個Key Center(KC)負責key之製作與分配, 每一個Security Class Ci擁有一個由KC製作的key Ki, 而且可以使用這個key Ki去算Ki所管轄之所有 Classes的秘密金匙。另,一個 Ki或某幾個Classes Kj絕無法推算出管轄它(或它們)的Class(即上司)的金匙。 如何設計一個algorithm(或scheme)來完成上述要求?

  3. Security class Keys held C1 K1, K2, K3, K4, K5, K6 C2 K2, K4, K5 C3 K3, K5, K6 C4 K4 C5 K5 C6 K6 分析: 1.直覺地,有人會將圖1中之每一個Class指定一個金鑰(由KC製作後分配之)。由於上位者有權知道受其管轄之Classes之金鑰,故每一Class握有金鑰如表1所示。

  4. [缺失]   一旦Classes數量龐大,則上位者貯存之金匙數量由於太過龐大而有安全上與應用上之危機。此即“金匙管理上所探究的問題”。   因此,我們的目標就是去設計一個protocol,使得每一個class僅知道自己的秘密金匙,而若要知道受其所管轄之classes的秘密金匙,可以藉自己的金匙(加上一些額外資訊)計算出來。 [以下介紹研究者之見解]

  5. 2.Akl & Taylor於1982年提出一個利用cryptographic techniques以解決key management的問題。 (a)先介紹他們如何產生金匙(Key Generation Procedure) Step1. Assign each security class Ci an associated distinct prime Pi, such that Pi Pj if Ci Cj. Step2. Generate ti for each security class Ci, where ti is the following function of the primes from the previous step. ti=  Pj, then publish ti. Cj Ci

  6. Step3. The KC chooses a secret pair of large prime numbers p and q, with product M = pq, and a random secret key K0, 2 K0 M-1, gcd(K0,M)=1. M is made public. Step4. The secret keys for all security classes Cjcan now be computed by KC as follows: Kj = K0tj mod M.

  7. (b)每一class有key Ki’s, 1  i  n, 之後, 當任一user uCi要送一明文X給某一user u’, u’Cj , 他先用(c )之方法求得Kj, 再用Kj加密X得X’. X’ = Ekj(X) 然後送出[X’, j]出去。  在網路中之所有使用者,唯有擁有Kj之使用者能解密X’而得X : X = Dkj(X’) (c)若Cj Ci , 則Ci可用自己的Ki外加公開資訊ti, tj, M   求得Kj:Kj = Ki tj/ti mod M iff Cj Ci.

  8. How Come ? (A)由(a)知 tj is divisible by ti iffCj Ci.. [缺失]在practical implementation上,有兩個問題   尚待克服: (1)一旦網路上classes數量龐大, ti值驚人! (2)新加入任一class, 務必整體重新計算所有資料。 例示: C1 C2 C3 C4 C5 C6 t1=1 P1=2 t2 = 2 * 3 * 7 t2 = 2 * 5 * 13 P2=3 P3=5 t4 = 2 * 3 * 5 *11*13 P4=7 P5=11 P6=13 t6 = 2 * 3 * 5 * 7 * 11 t5 = 2*3*5*7*13

  9. 3. Mackinnon, Taylor, Meijer與Akl於1985年提出一種利用“chain decomposition”(鏈分解)技術以減小ti值之方法。 “金匙之產生方法”與上一個方法有所不同,其餘相同。 Step1:將上圖分解成3 disjoint chains(as less as possible). C1 C2 C3 C4 C5 C6

  10. Step2:對每一個chain指定一個相異質數。而且,對   該chain(p質數被指定給它)中之每一個節點i,   我們定義ni = pm此處i即此chain自top(頂點)算   下來之第m個節點。 Step3:利用公式 ti = lcm nj 可求得所有ti 。 [設t1=1] 例示: C1 C2 C3 C4 C5 C6 j i t1=1 n2=22 n3=31 t3=23 t2=21 * 31 * 51 n4=23 n5=32 n6=51 t5=23 * 31 * 51 t6=23 * 32 t4=22 * 32 * 51

  11. [缺失] 雖ti值降下來。(Harn仍覺得ti is still sizable). 但如何才能最適化處理“chain decomposition”, 仍舊 是open problem. 另外,新增class造成全盤再次重新規劃之不便處仍舊 存在。 另外,如何最適化解決指定哪些質數給各chain,仍舊 opened(sorting後由小而大,再給primes(由小而大)?) 由於此篇論文宣稱本身是optimal alg.故Harn教授(在 他自己的論文中)道:Therefore there is no other way to reduce the value of ti and the sizable ti problem is thus left unsolved. [我們卻對此點觀點存疑]

  12. 1987,Sandhu提出一個用ID為基的方法;即任 一user之key均由自己的ID及其supervisor的 secret key藉one-way fun推算出。(此方法用於 a tree structured multilevel data security environment)。另外,新加入新class可處理。 然而,算出key值需computational overhead. [於是Harn教授的方法被介紹於後]

  13. Harn & Lin提出一個由下而上產生keys的方法, 此法是基於“the difficulty of solving” “ factoring a product of two large primes ”. • 其key generation之alg.如下 : • Step1: KC選用3個參數為了key generation; 兩個質 • 數 p、q ,第三個參數a. 此處p、q為了n= p‧ • q 而設, a [2, n-1]且 gcd(a, n)=1 • [a≡K0…在 Akl & Taylor方法上]

  14. Step2: KC指定給每一個Security class Ci一個 相異質數 ei, 並且公開它(採由下而上,由 小而大質數方式指定) [ei≡Pi] Step3: KC計算multiplicative inversedi = ei-1 mod (n) (亦即eidi mod (n)=1) Step4: KC計算(公開的) ti 值及秘密金匙Ki滿足 ti = Πej Ki = aΠdjmod (n)mod n (for all j s.t. Cj≤ Ci)

  15. 說明 : 若 hierarchy 如圖 C1 C2 C3 求得ei, di C4 C5 C6 其ei, di, ti, ki可求得 ( with上述之alg. ) Keep secret

  16. 設ei, di均求得之後 舉例而言: t1 = e1 e2 e3 e4 e5 e6 t2 = e2 e4 e5 t3 = e3 e5 e6 t4 = e4 t5 = e5 t6 = e6 K2 = ad2d4d5 mod (n) mod n (以此類推). . . K6 = ad6 mod (n) mod n

  17. 問 : 如何由Ki求得Kj iff Ci≥ Cj (A) 完全靠公式 Kj = Kiti/tjmod n(cf. Akl & Taylor’s Kj = Kitj/timodn ) 例 : K4 = K2t2/t4 mod n (因為C2≥ C4) = K2e2e4e5/e4 mod n = K2e2e5 mod n = ad2d4d5e2e5 mod (n) mod n = ad4mod (n) mod n ≡ K4

  18. [優點] (1) ti值可以有效(大部分)降低, 詳細情形可參考 下表 .

  19. (2) 若有一新class of users C7被加入hierarchy中 (隸屬於C3), 則只有K1與K3需要updated 參考圖示如下 : C1 C2 C3 C4 C6 C7 C5

  20. [研讀心得] (1) 由於此法是用bottom-up方式求 ti值, 故root t1之值最大(比Akl & Taylor’s scheme都大)另 外也因兒子之 ti值比父親小, 故 kj = kiti/tjmod n 當Ci≥ Cj 換言之, 此時之 ti/tj I+且 tj/ti I+ 與Akl & Taylor’s方法剛好反過來

  21. (2) 由於本方法中 Ci≥ Cj ti > tj .若要從Ki 推算 Kj , 則 Kiti/tj= (aΠdj mod (n)) ti/tj = aΠdk mod (n) = Kj 上式中之 aΠdk mod (n) 之dk代表經過Πdj∙ti/tj之 運算(i.e. ei di mod (n) = 1), 得到的剩下di’s值 用dk 表示(這些dk中形成一subtree, 其subroot 即 j ) 。

  22. 以圖形說明較清晰 : C1 C2 C3 C4 C6 C5 (一) 若要推算K5(自K3) K3t3/t5 mod n = K3e3e5e6/e5 mod n = K3e3e6mod n = ad3d5d6e3e6 mod (n) mod n

  23. = ad5 mod (n) mod n = K5 自K1推算K3 K1t1/t3 mod n = K1e1…e6/e3e5e6mod n = K1e1e2e4 mod n = ad1…d6e1e2e4 mod (n) mod n = ad3d5d6 mod (n) mod n = K3 [另K4可由C2, 及C1推知]

  24. (3)結論至今為止之研究 (a) 若用Kiti/tj 或Kitj/ti mod n 來求 Kj 則由於”整除與否”特性, 故若Top-Down方式 求 ti ,則 tj/ti I+ , 若Bottom-up方式求 ti,則 ti/tj I+。 (b) 若用B-U方式, 則t1之值最大, 若再考慮上層 classes被引用之機會(frequency)大, 則 Top- Down較佳。 (c) 泰半方法均由兩個equations共同配合而建立

  25. Multilevel Data Security。 (d) 所有研究均屬static,增加 class對某path 之全 部或部分必須updated。 若要用dynamic方式處理, 則由於新增之class 不必馬上update所有有關在path上之class之 key值 。故需將class間之關係 hold住, 以便後 來在由 Ki求Kj 值時, 再將這些 attributes整合 再傳遞。

More Related