版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、湖 北 大 學本 科 畢 業(yè) 論 文 (設 計)題 目 分布式數(shù)據(jù)庫系統(tǒng)的防范策略 姓 名 孫際文 學 號 0052 專業(yè)年級 計算機科學與技術07級 指導教師 魏霞 職 稱 講師 2011年 4 月 15日目錄緒論(1)1分布式數(shù)據(jù)庫系統(tǒng)概念(1)2. 分布式數(shù)據(jù)庫的安全需求分析(2)2.1分布式數(shù)據(jù)庫的體系結(jié)構(2)2.2分布式數(shù)據(jù)庫的不安全因素(2)3安全措施的層次分析(4)4安全防護策略(4)4.1全面防護(4)4.1.1物理安全性(4)4.1.2客戶端防護(4)4.1.3服務器防護(5)4.1.4網(wǎng)絡防護層(5)4.2身份驗證(5)4.3訪問控制(6)4.4數(shù)據(jù)庫加密(6)4.4.1
2、加密層次(6)4.4.2加密的關鍵影響因素分析(6)4.4.3常用的加解密算法:(7)4.4.4加密方式(14)5.基于Oracle的分布式數(shù)據(jù)庫系統(tǒng)安全策略:(14)51用戶賬號管理(15)5.2 用戶認證(15)53訪問控制(15)54安全通信(16)55安全檢測和反映(16)5.6 用戶安全域設置(16)5.7 用戶資源限制(16)5.8權限分配(16)5.9角色管理(16)5.10 口令管理策略(17)5.11 審計策略(17)5.12 標簽安全(17)513系統(tǒng)安全恢復(17)6 結(jié)論(18)參考文獻(19)致 謝(20)分布式數(shù)據(jù)庫系統(tǒng)防范策略摘要分布式數(shù)據(jù)庫存在于開放的網(wǎng)絡環(huán)境,
3、是數(shù)據(jù)庫系統(tǒng)與計算機網(wǎng)絡的有機結(jié)合,是目前互聯(lián)網(wǎng)環(huán)境下信息資源共享的核心,其安全問題舉足輕重,給數(shù)據(jù)的安全帶來了一定的隱患。分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)的基礎上發(fā)展起來的,是數(shù)據(jù)庫技術和網(wǎng)絡技術結(jié)合的產(chǎn)物。分布式數(shù)據(jù)庫系統(tǒng)是由若干個站點集合而成。每個站點都是一個獨立的數(shù)據(jù)庫系統(tǒng),它們擁有各自的數(shù)據(jù)庫、中央處理機、客戶端以及各自的局部數(shù)據(jù)庫管理系統(tǒng):這些站點依靠通訊網(wǎng)絡聯(lián)接存一起,它們在物理結(jié)構上是分布式的,但在邏輯上屬于同一系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)具有透明訪問、通信代價低、分布式計算、均衡網(wǎng)絡負載、可靠性高、自治和集中相結(jié)合的控制策略、高數(shù)據(jù)獨立性、一致性和可恢復性控制措施等特性。本文將
4、由分布式數(shù)據(jù)庫系統(tǒng)的特性、安全需求入手,分析系統(tǒng)的體系結(jié)構和各種不安全因素,結(jié)合安全措施各層次的特點,對安全策略和安全機制中身份驗證,訪問控制,數(shù)據(jù)庫加密等策略進行綜合分析,并比較各種方法的優(yōu)劣,最后以oracle的安全防范策略加以具體說明?!娟P鍵詞】分布式數(shù)據(jù)庫 數(shù)據(jù)庫的安全性 身份驗證 訪問控制 數(shù)據(jù)庫 數(shù)據(jù)庫加密 Prevention Strategy of Distributed Database SystemAbstractAs the combination of computer network and database system, Distributed Database
5、is becoming the share centre of information resource in the Internet situation and its security is becoming more and more important. Distributed database system is developed on the basis of centralized database system, it is the product of the combination of database technology and network technolog
6、y. Distributed database system is consisted of a collection of sites. Each site is a separate database system, they have their own databases, the central processors, the clients and their respective local database management systems: These sites connected by the communication network, they are distr
7、ibuted on the physical structure, but logically belong to the same system. distributed database system has many characteristics,such as Transparent access , low communication cost, distributed computing, network load balancing, high reliability, autonomy and centralized control strategy , high data
8、independence, consistency and recoverability of control measures .Aiming at the secure requests of Distributed Database System, on the base of analyzing system frame and possible attacking . It discuss user authentication ,secret communication, access control ,content cipher-text, cryptosystem ,key
9、and distributed affair management ,audit track ,fault repair in the security police and security mechanism.finally we will take the strategies taken by oracle to address this issue in details.【Key words】 distributed database security of database user authentication access control database data encry
10、ption緒論Internet的高速發(fā)展推動著分布式數(shù)據(jù)庫的發(fā)展,另一方面它也增加了分布式數(shù)據(jù)庫安全問題的復雜性。如何保證開放網(wǎng)絡環(huán)境中分布式數(shù)據(jù)庫系統(tǒng)的安全是一個復雜的問題,需要進行認真分析研究。分布式數(shù)據(jù)庫面臨著兩大類安全問題:一類安全問題研究抗擊單站點故障,網(wǎng)絡故障等自然因素故障,即研究在發(fā)生了故障時如何使系統(tǒng)仍能可靠運行或從故障中恢復。另一類安全問題研究抗擊來自于本機或網(wǎng)絡上的人為攻擊,即研究在有黑客攻擊時如何保證庫存數(shù)據(jù)和報文的保密性和可靠性。數(shù)據(jù)庫最突出的特點之一是數(shù)據(jù)共享,數(shù)據(jù)共享給數(shù)據(jù)庫應用帶來了眾多好處,但給數(shù)據(jù)庫特別是網(wǎng)絡化的開放環(huán)境與基于網(wǎng)絡的分布式數(shù)據(jù)庫系統(tǒng)的安全帶來了
11、嚴重的問題,如何保證分布式數(shù)據(jù)庫的安全問題已經(jīng)成為數(shù)據(jù)庫領域的重要課題之一。1分布式數(shù)據(jù)庫系統(tǒng)概念分布式數(shù)據(jù)庫系統(tǒng)是在集中式數(shù)據(jù)庫系統(tǒng)的基礎上發(fā)展起來的,是數(shù)據(jù)庫技術和網(wǎng)絡技術結(jié)合的產(chǎn)物。分布式數(shù)據(jù)庫系統(tǒng)是由若干個站點集合而成。每個站點都是一個獨立的數(shù)據(jù)庫系統(tǒng),它們擁有各自的數(shù)據(jù)庫、中央處理機、客戶端以及各自的局部數(shù)據(jù)庫管理系統(tǒng):這些站點依靠通訊網(wǎng)絡聯(lián)接存一起,它們在物理結(jié)構上是分布式的,但在邏輯上屬于同一系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)一般具有下列特性:(1)透明訪問1分布式數(shù)據(jù)庫在邏輯上屬于同一系統(tǒng),使得應用不必關心遠程數(shù)據(jù)庫的物理位置、數(shù)據(jù)結(jié)構,甚至不必知道遠程數(shù)據(jù)庫管理系統(tǒng)的類型就可以像訪問本地
12、數(shù)據(jù)一樣訪問遠程數(shù)據(jù)。(2)通信代價低分布式數(shù)據(jù)庫的冗余數(shù)據(jù)可以讓用戶可以選擇離自己近的數(shù)據(jù)整副本進行操作,減少通信代價,從而改善整個系統(tǒng)的性能。(3)分布式計算當應用涉及遠程數(shù)據(jù)時,遠程站點通過本地站點將處理結(jié)果返回本地應用。多個站點相互協(xié)作共同處理應用提交的作業(yè),充分利用了多臺主機的處理能力。(4)均衡網(wǎng)絡負載在分布式數(shù)據(jù)庫環(huán)境中,本地數(shù)據(jù)庫能夠保留遠程數(shù)據(jù)的本地拷貝,從而使得應用僅僅訪問本地拷貝,而不需實時連接到遠程數(shù)據(jù)庫。因而減少了到遠程數(shù)據(jù)庫的網(wǎng)絡流量,均衡了網(wǎng)絡負載。(5)可靠性高分布式數(shù)據(jù)庫通過增加冗余數(shù)據(jù)來提高系統(tǒng)的可靠性,因此如果一個數(shù)據(jù)備份受到損壞,并不影響整個數(shù)據(jù)庫系統(tǒng)。
13、(6)自治集中相結(jié)合的控制在集中式數(shù)據(jù)庫中,為了提供資源共享,保證數(shù)據(jù)的安全性和完整性,對數(shù)據(jù)資源進行集中控制,由數(shù)據(jù)管理員(DBA)監(jiān)督和維護系統(tǒng)的正常運行,這是采用數(shù)據(jù)庫管理技術的作用之一。在分布式數(shù)據(jù)庫中,一般具有分層控制的結(jié)構。其數(shù)據(jù)共享有二個層次:局部共享和全局共享。局部共享是指在局部數(shù)據(jù)庫中存儲局部場地上的那些用戶的共享數(shù)據(jù); 全局共享是指分布式數(shù)據(jù)庫的各個結(jié)點上還存儲可供網(wǎng)絡上其他結(jié)點上的用戶共享數(shù)據(jù),以支持系統(tǒng)中的全局應用。這樣,相應的控制也具有兩個層次:集中控制和結(jié)點自治。各個結(jié)點的局部的數(shù)據(jù)庫管理系統(tǒng)DBMS可以獨立地管理局部數(shù)據(jù)庫,具有結(jié)點自治性。同時系統(tǒng)又具有集中控制的
14、機制,協(xié)調(diào)各個局部DBMS的工作,執(zhí)行全局應用。分布式數(shù)據(jù)庫系統(tǒng)采用的就是這種集中和自治相結(jié)合的控制結(jié)構。(7)全局的一致性、可恢復性和并發(fā)控制分布式數(shù)據(jù)庫中的各個局部數(shù)據(jù)庫應滿足集中式數(shù)據(jù)庫的一致性,可恢復性和具有并發(fā)控制。同時還要保證整個分布式數(shù)據(jù)庫的全局一致性、全局的可恢復性與并發(fā)控制。因此在分布式數(shù)據(jù)庫中這方面的控制內(nèi)容更多,實現(xiàn)起來也更復雜。一致性、可恢復性和并發(fā)控制雖不相同。但解決的方法都涉及到事務的管理。分布式數(shù)據(jù)庫中全局應用要涉及到兩個或兩個以上結(jié)點的數(shù)據(jù)。這時一個事務往往由不同結(jié)點上的不同操作組成,是一種全局的事務。事務是一個不可分割的執(zhí)行單位,要么完整地執(zhí)行,要么撤消,完全
15、不執(zhí)行。在執(zhí)行分布式數(shù)據(jù)庫系統(tǒng)里的全局事務時,如果其中一個結(jié)點上的那部分操作己完成,而另一個結(jié)點出現(xiàn)故障,操作失敗,那么應該撤消前一結(jié)點已執(zhí)行的操作,不再執(zhí)行該事務的其他操作,讓全局事務回到初始狀態(tài),以保證數(shù)據(jù)的一致性。分布式數(shù)據(jù)庫系統(tǒng)的以上這些特性使得分布式數(shù)據(jù)庫系統(tǒng)結(jié)構更加復雜,控制難度更大。也導致了其自身難以克服的很多缺陷:分布式數(shù)據(jù)庫系統(tǒng)開銷相對較大;具有復雜的存取結(jié)構,原來在集中式系統(tǒng)中有效的存取數(shù)據(jù)的技術,在分布式系統(tǒng)中不再適用;最主要的缺陷還是分布式數(shù)據(jù)庫的數(shù)據(jù)安全性和保密性較難處理。因此在分布式數(shù)據(jù)庫中常需要采用加密手段來保證數(shù)據(jù)安全,這無疑又增加了系統(tǒng)開銷和系統(tǒng)復雜度。2.
16、分布式數(shù)據(jù)庫的安全需求分析2.1分布式數(shù)據(jù)庫的體系結(jié)構分布式數(shù)據(jù)庫系統(tǒng)通過計算機網(wǎng)絡,將地理位置分散而管理又需要不同程度集中的多個邏輯單位(通常是集中式數(shù)據(jù)庫系統(tǒng))聯(lián)接起來,共同組成一個統(tǒng)一的數(shù)據(jù)庫系統(tǒng),由統(tǒng)一的分布式數(shù)據(jù)庫管理系統(tǒng)管理,因此分布式數(shù)據(jù)庫系統(tǒng)可以看成是計算機網(wǎng)絡與數(shù)據(jù)庫系統(tǒng)的有機結(jié)合2。DDBS的體系結(jié)構分為四級:全局外模式、全局概念模式、分片模式和分配模式。 (1)全局外模式:它們是全局應用的用戶視圖,是全局概念模式的子集。 (2)全局概念模式:全局概念模式定義了分布式數(shù)據(jù)庫中所有數(shù)據(jù)的邏輯結(jié)構。 (3)分片模式:分片模式定義片段以及定義全局關系與片段之間的映象。這種映象是一
17、對多的,即每個片段來自一個全局關系,而一個全局關系可分成多個片段。 (4)分配模式:片段是全局關系的邏輯部分,一個片段在物理上可以分配到網(wǎng)絡的不同場地上。分配模式根據(jù)數(shù)據(jù)分配策略的選擇定義片段的存放場地。2.2分布式數(shù)據(jù)庫的不安全因素數(shù)據(jù)庫安全性包括兩方面的內(nèi)容:數(shù)據(jù)庫數(shù)據(jù)的保密性和安全性。數(shù)據(jù)的保密性是由個人或組織控制屬于自己的數(shù)據(jù),包括數(shù)據(jù)的收集、存儲、處理、傳輸、和使用的法律和道德的權利。這里主要討論數(shù)據(jù)的安全性。數(shù)據(jù)的安全性是指對數(shù)據(jù)庫中數(shù)據(jù)的有意或者無意的泄露、更改和丟失的保護能力,以及防止對數(shù)據(jù)庫數(shù)據(jù)的不合法使用的能力3。由分布式數(shù)據(jù)庫的體系結(jié)構可見,存在的不安全因素可以概括為三個
18、方面:數(shù)據(jù)存儲在各個站點上存在的不安全因素;訪問各個站點上數(shù)據(jù)存在的不安全因素;數(shù)據(jù)在各個站點之間傳輸時存在的不安全因素。綜合實際情況分析,不安全因素具體包括:(1) 黑客的攻擊黑客攻擊的手段多種多樣,到目前為止,攻擊手段主要有:獵取用戶口令,進行身份攻擊;黑客假冒合法用戶身份獵取敏感信息;黑客利用隱秘通道獲取秘密信息;利用木馬病毒隱藏于系統(tǒng)之中,對系統(tǒng)進行攻擊;攻擊電子郵件,通過垃圾郵件等進行攻擊;竊聽,黑客在網(wǎng)絡信道上監(jiān)聽客戶數(shù)據(jù)庫服務器或服務器服務器之間的報文來竊取數(shù)據(jù);重發(fā)攻擊,黑客把竊聽到的報文又重發(fā)給客戶或服務器,重發(fā)的報文或保持原樣或做了修改,以擾亂系統(tǒng)正常運行甚至修改數(shù)據(jù)庫中數(shù)
19、據(jù)。重發(fā)攻擊可以是針對站點間的數(shù)據(jù)通信過程,也可以是針對站點間的身份驗證過程;假冒攻擊,黑客可以發(fā)送報文使客戶或服務器通訊端口堵塞,然后再假冒該客戶或服務器擾亂分布式數(shù)據(jù)庫系統(tǒng)內(nèi)其它站點的正常運行甚至非法訪問數(shù)據(jù);越權攻擊,黑客本身是分布式數(shù)據(jù)庫系統(tǒng)的合法用戶,但他利用訪問控制方面的安全漏洞越權訪問非授權數(shù)據(jù);迂回攻擊,黑客利用網(wǎng)絡協(xié)議、操作系統(tǒng)的安全漏洞繞過分布式數(shù)據(jù)庫系統(tǒng)直接訪問數(shù)據(jù)庫文件。在上述各種過程中,為了實施更有效的攻擊黑客往往還借助于破譯工具,采用密碼分析方法對得到的密文進行解密或纂攻4。(2) 計算機病毒攻擊計算機病毒種類迅速增加、病毒的機制越來越復雜化、破壞性和攻擊性越來越強
20、加上互聯(lián)網(wǎng)為病毒的國際流行提供的方便環(huán)境,這使得病毒對數(shù)據(jù)庫的安全構成了嚴重的威脅。(3) 操作系統(tǒng)安全的脆弱性這是由操作系統(tǒng)的結(jié)構體制所造成的,即操作系統(tǒng)的程序是可以動態(tài)連接,可以創(chuàng)建進程,提供遠程調(diào)用(RPC)等。一個可以打補丁和可滲透的操作系統(tǒng)是難以從根本上解決安全問題的,但是,操作系統(tǒng)支持程序的連接和數(shù)據(jù)動態(tài)交換是現(xiàn)代系統(tǒng)集成和系統(tǒng)擴展的需要,顯然這與安全性是相矛盾的。(4) 網(wǎng)絡協(xié)議的脆弱性網(wǎng)絡協(xié)議安全保障處于較低的水平,例如:TCP/IP協(xié)議在設計之初并沒有把安全因素考慮進去。TCP/IP服務的內(nèi)在問題,主機配置的復雜性,軟件開發(fā)過程中引入的脆弱性等都會使相關的站點無法抵御“闖入者
21、“。(5)數(shù)據(jù)共享引起的安全問題分布式數(shù)據(jù)庫系統(tǒng)具有局部應用和全局應用,采用集中和自治相結(jié)合的控制方式,提供了系統(tǒng)數(shù)據(jù)共享機制,數(shù)據(jù)共享是分布式數(shù)據(jù)庫最突出的特點之一,它為分布式應用帶來眾多好處,同時也對系統(tǒng)安全提出了新的挑戰(zhàn)同集中式數(shù)據(jù)庫系統(tǒng)相比分布式數(shù)據(jù)庫系統(tǒng)存在的安全問題主要有5:(1) 一個分布式數(shù)據(jù)庫系統(tǒng)常常具有多個用戶和用戶組,而這些用戶和用戶組又通常分布于系統(tǒng)的各個站點,因此,確認系統(tǒng)中用戶的合法身份顯然較集中式數(shù)據(jù)庫系統(tǒng)的方法更為復雜。(2) 分布式數(shù)據(jù)庫系統(tǒng)內(nèi)的用戶通常需要共享系統(tǒng)內(nèi)的數(shù)據(jù),而這些數(shù)據(jù)可能由不同的用戶存儲,并可能分布在多個站點上,同一數(shù)據(jù)對不同用戶可能具有不同
22、的安全要求。自主訪問控制的授權機制可以使得具有某種訪問權限的主體自行決定將其訪問權直接或間接地轉(zhuǎn)授給其他無權訪問的用戶, 因此可能造成信息流動的不安全。(3) 單純地只根據(jù)用戶安全級別進行的訪問控制可能造成未授權信息的泄露。例如,一個企業(yè)內(nèi)部辦公網(wǎng)中,人事主管與財務主管的安全級別應該是相同的,但是人事主管顯然不能隨意獲得財務主管的消息,反之亦然。3安全措施的層次分析在網(wǎng)絡環(huán)境下,分布式數(shù)據(jù)庫系統(tǒng)包括客戶機、固定主機、位置服務器、支持基站,固定網(wǎng)絡等。因此對分布式數(shù)據(jù)庫系統(tǒng)進行安全維護時,應該將各個組成部分考慮進去6。(1) 物理層 物理層指的是位于整個系統(tǒng)中的各個站點,各個站點必須物理上受到保
23、護,以防止入侵者強行闖入或暗中潛入。(2) 用戶層為不同需求的合法用戶授予不同的權限,并且對用戶的授權必須格外謹慎。(3) 網(wǎng)絡層 分布式數(shù)據(jù)庫系統(tǒng)的網(wǎng)絡層包含兩個方面,第一方面是回寫 網(wǎng)絡,第二方面是移動網(wǎng)絡。這兩方面的安全對整個系統(tǒng)舉足輕重。由于移動系統(tǒng)通過網(wǎng)絡進行遠程數(shù)據(jù)訪問和數(shù)據(jù)傳輸,網(wǎng)絡層安全性與物理層安全一樣重要,必須有相應的網(wǎng)絡安全措施。(4) 操作系統(tǒng)層操作系統(tǒng)安全性方面的弱點,可能成為對數(shù)據(jù)庫進行未授權訪問的一種手段。所以不管數(shù)據(jù)庫管理系統(tǒng)有多安全,必須關注操作系統(tǒng)的安全性。(5) 數(shù)據(jù)庫系統(tǒng)層數(shù)據(jù)庫系統(tǒng)層的安全機制的主要責任是保證為不同需求的合法用戶授予不同的權限,并保證這
24、樣的授權限制不被違反。4安全防護策略4.1全面防護4.1.1物理安全性與其說物理安全性是特定的惡意軟件問題,不如說它是一般的安全問題,但是如果沒有用于組織基礎結(jié)構中所有客戶端,服務器和網(wǎng)絡設備的有效物理防護計劃,則無法避免惡意軟件的攻擊。在有效的物理防護計劃中有許多關鍵因素,其中包括:建立安全性、人員安全性、網(wǎng)絡接入點、服務器計算機、工作站計算機、移動計算機和設。在組織的安全風險評估中,應該評估其中的每個元素。如果攻擊者損害其中的任一元素,則風險級別增加,惡意軟件可以繞過外部和內(nèi)部防護邊界感染網(wǎng)絡上的主機。4.1.2客戶端防護當惡意軟件到達主機時, 防護系統(tǒng)必須集中于保護主機系統(tǒng)及其數(shù)據(jù), 并
25、停止感染的傳播。這些防護與環(huán)境中的物理防護和網(wǎng)絡防護一樣重要。(1)減小攻擊面應用程序?qū)由系牡谝坏婪雷o是減小計算機的攻擊面。應在計算機上刪除或 禁用所有不需要的應用程序或服務, 以最大限度地減少攻擊者可以利用系統(tǒng)的方法 數(shù)。(2)啟用基于主機的防火墻基于主機的防火墻或個人防火墻代表應該啟用 的重要客戶端防護層,尤其是在用戶可能帶到組織通常的物理和網(wǎng)絡防護之外的便攜式計算機上。這些防火墻會篩選試圖進入或離開特定主機的所有數(shù)據(jù)7。(3)測試漏洞掃描程序。(4)限制未授權的應用程序。4.1.3服務器防護服務器防護比起客戶端防護在可靠性和性能方面的預期級別通常高多。此外,許多服務器在組織基礎結(jié)構中起到
26、的專門作用通常需要制定專門的防護解決方案。(1)減小攻擊面。從服務器中刪除不需要的服務和應用程序, 將其攻擊面減到最小。(2)應用安全更新。如有可能, 請確保所有服務器計算機運行的都是最新的安全更新。根據(jù)需要執(zhí)行其他測試,以確保新的更新不會對關鍵任務服務器產(chǎn)生負面影響。(3)啟用基于主機的防火墻。(4)使用漏洞掃描程序進行測試。4.1.4網(wǎng)絡防護層在歷史上出現(xiàn)過的惡意軟件事件中,通過網(wǎng)絡發(fā)動的攻擊是最多的。通常, 發(fā)動惡意軟件攻擊是為了利用網(wǎng)絡外圍防護中的漏洞允許惡意軟件訪問組織IT 基礎結(jié)構中的主機設備。這些設備可以是客戶端、服務器、路由器, 或者甚至是防火墻。在此層上進行病毒防護所面臨的最
27、困難問題之一是,平衡IT系統(tǒng)用戶的功能要求與創(chuàng)建有效防護所需的限制。例如, 與許多攻擊類似, MYDOOM 蠕蟲使用電子郵件附件復制自己。從IT基礎結(jié)構角度來看, 阻止所有傳人附件是最簡單、最安全的選項。但是, 組織中電子郵件用戶的需求可能不允許這樣做。必須進行折衷, 在組織的需求和它可以接受的風險級別之間達到平衡才是明智的做法。4.2身份驗證識別系統(tǒng)授權的合法用戶,防止非法用戶訪問數(shù)據(jù)庫系統(tǒng), 可采用雙向身份驗證技術, 包括用戶身份認證與站點間身份驗證。(1) 用戶身份認證在分布式數(shù)據(jù)庫系統(tǒng)中,為了防止各種假冒攻擊,在執(zhí)行各種數(shù)據(jù)庫操作之前,需要在客戶端和數(shù)據(jù)庫服務器之間進行雙向身份驗證。用
28、戶進入分布式數(shù)據(jù)庫系統(tǒng)之前, 需要進行身份驗證, 并且確定該用戶的訪問權限。通常采用系統(tǒng)給每個合法用戶分配一個唯一的用戶標識和口令。高級系統(tǒng)要使用智能卡技術、物理特征(指紋, 聲紋,手圖,視網(wǎng)膜等) 認證技術、數(shù)字簽名等方法。(2) 站點間身份驗證Kerberos 基于對稱密碼體制的雙向身份驗證協(xié)議,各站點從密鑰管理中心獲得與目標站點通信用的秘密密鑰。基于公鑰密碼體制的雙向身份驗證協(xié)議,每個站點都生成一個非對稱密碼算法(RSA)的公鑰對,其中私鑰由站點自己保存,并通過可信渠道把自己的公鑰分發(fā)到分布式系統(tǒng)的其他站點,然后任意兩個站點可以利用所獲得的公鑰信息相互驗證份。4.3訪問控制所謂訪問控制,
29、一般是指系統(tǒng)內(nèi)部的訪問控制,或者說,是系統(tǒng)內(nèi)部主體對客體訪問所受到的控制。實施訪問控制,是維護系統(tǒng)安全、保護系統(tǒng)資源的重要技術手段, 也是計算機系統(tǒng)中數(shù)據(jù)庫系統(tǒng)安全機制的核心。訪問控制的主要任務是對存取訪問權限的確定、授予和實施, 其目的就是在保證系統(tǒng)安全的前提下, 最大限度地給予資源共享。訪問控制的基礎, 是主體和客體的安全屬性。實施訪問控制,側(cè)重保護的是客體。每個需要加以保護的客體, 都得按安全要求, 預先標識一組相應的安全屬性, 并以此鑒別、確定對客體訪問的允許與否。這個標識安全屬性稱為訪問控制表,同樣,每個主體也應當設有相應的訪問控制表, 用以標明它訪問客體的能力。此處標識的作用就是“
30、 授權”,用以標明哪些主體有權訪問。所確定的訪問權限實際是允許的訪問方式, 即讀、寫、查詢、增加、刪除、修改等操作的組合, 還有安全的訪問過程等8。4.4數(shù)據(jù)庫加密在分布式數(shù)據(jù)庫中, 數(shù)據(jù)加密是指將需要保護的數(shù)據(jù)( 明碼文) 在秘密信息(密鑰)的作用下按照一定的規(guī)則(加密算法)變換成他人無法識別的形式(密碼文)。4.4.1加密層次可以考慮在三個不同層次實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的加密,這三個層次分別是OS層、DBMS內(nèi)核層和DBMS外層。(1) 在OS層加密由于在OS層無法辨認數(shù)據(jù)庫文件中的數(shù)據(jù)關系,從而無法產(chǎn)生合理的密鑰,對密鑰合理的管理和使用也很難。因此,對分布式數(shù)據(jù)庫來說,在OS層對數(shù)據(jù)庫文件進行
31、加密很難實現(xiàn)。(2)在DBMS內(nèi)核層實現(xiàn)加密這種加密是指數(shù)據(jù)在物理存取之前完成加解密工作。這種加密方式的優(yōu)點是加密功能強,并且加密功能幾乎不會影響DBMS的功能,可以實現(xiàn)加密功能與數(shù)據(jù)庫管理系統(tǒng)之間的無縫耦合。其缺點是加密運算在服務器端進行,加重了服務器的負載,而且DBMS和加密器之間的接口需要DBMS開發(fā)商的支持。(3)在DBMS外層實現(xiàn)加密是將數(shù)據(jù)庫加密系統(tǒng)做成DBMS的一個外層工具,根據(jù)加密要求自動完成對數(shù)據(jù)庫數(shù)據(jù)的加脫密處理。采用這種加密方式進行加密,加脫密運算可在客戶端進行,它的優(yōu)點是不會加重數(shù)據(jù)庫服務器的負載并且可以實現(xiàn)網(wǎng)上傳輸?shù)募用?,缺點是加密功能會受到一些限制,與數(shù)據(jù)庫管理系統(tǒng)
32、之間的耦合性稍差。在DBMS外層實現(xiàn)加密功能的原理如下。數(shù)據(jù)庫加密系統(tǒng)分成兩個功能獨立的主要部件:一個是加密字典管理程序,另一個是數(shù)據(jù)庫加解密引擎9。數(shù)據(jù)庫加密系統(tǒng)將用戶對數(shù)據(jù)庫信息具體的加密要求以及基礎信息保存在加密字典中,通過調(diào)用數(shù)據(jù)加脫密引擎實現(xiàn)對數(shù)據(jù)庫表的加密、脫密及數(shù)據(jù)轉(zhuǎn)換等功能。數(shù)據(jù)庫信息的an脫密處理是在后臺完成的,對數(shù)據(jù)庫服務器是透明的。4.4.2加密的關鍵影響因素分析(1)加密粒度數(shù)據(jù)庫加密系統(tǒng)的加密粒度有多種選擇,按由大至小的次序排列,包括以表為單位、以記錄為單位和以數(shù)據(jù)項為單位等實現(xiàn)加解密操作??傮w來說,加密粒度越小則靈活度越高且安全性越好,但實現(xiàn)技術也更為復雜、難度更大
33、。在實際實現(xiàn)中后兩種加密粒度使用較多。以表為單位的加密方法類似于操作系統(tǒng)中文件加密方法,每個表與不同的表密鑰運算,形成密文后存儲。根據(jù)表的物理存儲實現(xiàn)方式的不同,加密單位可能是文件或文件中的塊。該方式實現(xiàn)最為簡單,但該方式中的靈活度最低且執(zhí)行效率最低,浪費大量DBMS或加密服務器計算資源。當加解密的粒度為每個記錄的字段數(shù)據(jù)數(shù)據(jù)項時,系統(tǒng)的安全性與靈活性最高,同時實現(xiàn)技術也最復雜。在該方式中,每個數(shù)據(jù)項可以獨立的進行加解密操作,并使用不同的數(shù)據(jù)項密鑰10。以記錄為單位的加密介乎前兩種粒度之間。將記錄看作操作對象,統(tǒng)一進行加解密處理。只有以記錄的字段數(shù)據(jù)為單位進行加解密,才能適應數(shù)據(jù)庫操作,同時進
34、行有效的密鑰管理并完成“一次一密”的密碼操作。(2)加密算法目前缺乏專門針對數(shù)據(jù)庫加密的加密算法,因而分布式數(shù)據(jù)庫加密時只有根據(jù)數(shù)據(jù)庫特點選擇現(xiàn)有的加密算法。由于加解密速度是分布式數(shù)據(jù)庫考慮的一個重要因素,數(shù)據(jù)庫加密中通常使用對稱加密體制中的塊加密算法。數(shù)據(jù)項長度或剩余部分長度小于加密算法所需的塊長時,需要按一定規(guī)律擴展后加密。也可以將剩余部分再用序列密碼加密。數(shù)據(jù)項粒度加密需要對不同的數(shù)據(jù)項使用不同的密鑰。但這些密鑰不能是隨機生成的,否則很難保證對同一數(shù)據(jù)項使用相同的加解密的密鑰。但若是系統(tǒng)保存每一個數(shù)據(jù)項密鑰,則密鑰信息量與數(shù)據(jù)庫數(shù)據(jù)量相當,顯然也是不現(xiàn)實。所以數(shù)據(jù)項密鑰不能是獨立的,而應
35、該是函數(shù)自動生成的。通常可以將數(shù)據(jù)項密鑰表示為一個基本密鑰與數(shù)據(jù)項所在的行與列的函數(shù)。(3)密鑰管理加密數(shù)據(jù)庫中的密鑰管理比其他系統(tǒng)的密鑰管理更為困難與復雜。而分布式數(shù)據(jù)庫中存儲著海量數(shù)據(jù),已經(jīng)加密的數(shù)據(jù)需要用原來的密鑰系統(tǒng)解密,且解密時間將會很長,加密密鑰不可能隨時更換。除此以外,根據(jù)加密粒度的不同,對不同的數(shù)據(jù)應該使用不同的密鑰。因此分布式數(shù)據(jù)庫中需要保存大量的密鑰信息。另外,分布式數(shù)據(jù)庫客體之間隱含著復雜的邏輯關系,一個邏輯結(jié)構可能對應著多個數(shù)據(jù)庫物理客體,所以數(shù)據(jù)庫加密不僅密鑰量大,而且組織和存儲工作比較復雜,需要對密鑰實現(xiàn)動態(tài)管理。因此如何生成、保存、替換數(shù)據(jù)庫加密密鑰,對數(shù)據(jù)庫加密
36、中的密鑰管理提出了更為嚴格的要求。解決這一問題的方法之一是采用分級管理結(jié)構。無論哪種多級密鑰體制,主密鑰都是加密子系統(tǒng)的關鍵,多級密鑰管理體制的安全依賴于主密鑰的安全。另一種解決方法是集中密鑰管理方法。即在建立加密數(shù)據(jù)庫時,由密鑰管理中心負責產(chǎn)生加密密鑰并對數(shù)據(jù)加密。當一用戶訪問分布式數(shù)據(jù)庫時,密鑰管理機構核對用戶識別符和用戶密鑰,認為是合法用戶,則允許訪問。但必須由密鑰管理機構找到或計算出相應的數(shù)據(jù)加密密鑰,并由他們利用數(shù)據(jù)加密算法解密出相應的數(shù)據(jù)。由于加密粒度的不同,密鑰的種類和密鑰的數(shù)量不同。這些密鑰存儲在一張表中。這張表通過密鑰加密密鑰對其加密保存11。4.4.3常用的加解密算法:DE
37、S 算法、3DES、IDEA、ECC算法、RSA算法、AES算法、MH背包算法、DH算法。數(shù)據(jù)加密算法(Data Encryption Algorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動取款機(Automated Teller Machine,ATM)都使用DEA11。數(shù)據(jù)加密標準DES :DES的原始思想可以參照二戰(zhàn)德國的恩格瑪機,其基本思想大致相同。傳統(tǒng)的密碼加密都是由古代的循環(huán)移位思想而來,恩格瑪機在這個基礎之上進行了擴散模糊。但是本質(zhì)原理都是一樣的.現(xiàn)代DES在二進制級別做著同樣的事:替
38、代模糊,增加分析的難度。DES使用一個56位的密鑰以及附加的8位奇偶校驗位,產(chǎn)生最大64位的分組大小。這是一個迭代的分組密碼,使用稱為Feistel的技術,其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。DES使用16個循環(huán),使用異或,置換,代換,移位操作四種基本運算。DES算法的安全性:(1) 安全性比較高的一種算法,目前只有一種方法可以破解該算法,那就是窮舉法.(2) 采用64位密鑰技術,實際只有56位有效,8位用來校驗的.譬如,有這樣的一臺PC機器,它能每秒計算一百萬次,那么256
39、位空間它要窮舉的時間為2285年.所以這種算法還是比較安全的一種算法.3DES又稱Triple DES,圖4.1是3DES的輸出接口示意圖,是DES加密算法的一種模式,它使用3條56位的密鑰對數(shù)據(jù)進行三次加密。數(shù)據(jù)加密標準(DES)是美國的 圖4.1 3DES輸出接口一種由來已久的加密標準,它使用對稱密鑰加密法,并于1981年被ANSI組織規(guī)范為ANSI X.3.92。DES使用56位密鑰和密碼塊的方法,而在密碼塊的方法中,文本被分成64位大小的文本塊然后再進行加密。比起最初的DES,3DES更為安全。 3DES(即Triple DES)是DES向AES過渡的加密算法(1999年,NIST將3
40、-DES指定為過渡的加密標準),是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密算法,其具體實現(xiàn)如下:設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣,設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密表,這樣,3DES加密過程為:C=Ek3(Dk2(Ek1(P),3DES解密過程為:P=Dk1(EK2(Dk3(C)。IDEA(International Data Encryption Algorithm)是瑞士的James Massey,Xuejia
41、Lai等人提出的加密算法,在密碼學中屬于數(shù)據(jù)塊加密算法(Block Cipher)類。IDEA使用長度為128bit的密鑰,數(shù)據(jù)塊大小為64bit。從理論上講,IDEA屬于“強”加密算法,至今還沒有出現(xiàn)對該算法的有效攻擊算法。 早在1990年,Xuejia Lai等人在EuroCrypt90年會上提出了分組密碼建議PES(Proposed Encryption Standard)。在EuroCrypt91年會上, Xuejia Lai等人又提出了PES的修正版IPES(Improved PES)。目前IPES已經(jīng)商品化,并改名為IDEA。IDEA已由瑞士的Ascom公司注冊專利,以商業(yè)目的使用
42、IDEA算法必須向該公司申請許可。 IDEA是一種由8個相似圈(Round)和一個輸出變換(Output Transformation)組成的迭代算法。IDEA的每個圈都由三種函數(shù):模(216+1)乘法、模216加法和按位XOR組成。 在加密之前,IDEA通過密鑰擴展(Key Expansion)將128bit的密鑰擴展為52Byte的加密密鑰EK(Encryption Key),然后由EK計算出解密密鑰DK(Decryption Key)。EK和DK分為8組半密鑰,每組長度為6Byte,前8組密鑰用于8圈加密,最后半組密鑰(4Byte)用于輸出變換。IDEA的加密過程和解密過程是一樣的,只不
43、過使用不同的密鑰(加密時用EK,解密時用DK)。 密鑰擴展的過程如下: (1) 將128bit的密鑰作為EK的前8byte; (2) 將前8byte循環(huán)左移25bit,得到下一8byte,將這個過程循環(huán)7次; (3) 在第7次循環(huán)時,取前4byte作為EK的最后4byte; (4) 至此52byte的EK生成完畢。 密鑰擴展的過程如表1所示,為了能夠清楚的看出每個8Byte的關系,在表1中用粗線條將將每個8Byte劃分開了. IDEA算法相對來說是一個比較新的算法,其安全性研究也在不斷進行之中。在IDEA算法公布后不久,就有學者指出:IDEA的密鑰擴展算法存在缺陷,導致在IDEA算法中存在大量
44、弱密鑰類,但這個弱點通過簡單的修改密鑰擴展算法(加入異或算子)即可克服。在1997年的EuroCrypt97年會上,John Borst等人提出了對圈數(shù)減少的IDEA的兩種攻擊算法:對3.5圈IDEA的截短差分攻擊(Truncate Diffrential Attack)和對3圈IDEA的差分線性攻擊(Diffrential Linear Attack)。但作者也同時指出,這兩種攻擊算法對整8.5圈的IDEA算法不可能取得實質(zhì)性的攻擊效果。目前尚未出現(xiàn)新的攻擊算法,一般認為攻擊整8.5圈IDEA算法唯一有效的方法是窮盡搜索128bit的密鑰空間。 目前IDEA在工程中已有大量應用實例,PGP(
45、Pretty Good Privacy)就使用IDEA作為其分組加密算法;安全套接字層SSL(Secure Socket Layer)也將IDEA包含在其加密算法庫SSLRef中;IDEA算法專利的所有者Ascom公司也推出了一系列基于IDEA算法的安全產(chǎn)品12,包括:基于IDEA的Exchange安全插件、IDEA加密芯片、IDEA加密軟件包等。IDEA算法的應用和研究正在不斷走向成熟。ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。ECC在1976年,由于對稱加密算法已經(jīng)不能滿足需要,Diffie 和Hellman發(fā)表了一篇叫密碼學新動向的文章,介紹
46、了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA算法。隨著分解大整數(shù)方法的進步及完善、計算機速度的提高以及計算機網(wǎng)絡的發(fā)展,為了保障數(shù)據(jù)的安全,RSA的密鑰需要不斷增加,但是,密鑰長度的增加導致了其加解密的速度大為降低,硬件實現(xiàn)也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,因此需要一種新的算法來代替RSA。1985年N.Koblitz和Miller提出將橢圓曲線用于密碼算法,根據(jù)是有限域上的橢圓曲線上的點群中的離散對數(shù)問題ECDLP。ECDLP是比因子分解問題更難的問題,它是指數(shù)級的難度。其原理為橢圓曲線上的難題。橢圓曲線上離散對數(shù)問題ECDLP定義如下:
47、給定素數(shù)p和橢圓曲線E,對QkP,在已知P,Q 的情況下求出小于p的正整數(shù)k??梢宰C明由k和P計算Q比較容易,而由Q和P計算k則比較困難。將橢圓曲線中的加法運算與離散對數(shù)中的模乘運算相對應,將橢圓曲線中的乘法運算與離散對數(shù)中的模冪運算相對應,我們就可以建立基于橢圓曲線的對應的密碼體制。例如,對應Diffie-Hellman公鑰系統(tǒng),我們可以通過如下方式在橢圓曲線上予以實現(xiàn):在E上選取生成元P,要求由P產(chǎn)生的群元素足夠多,通信雙方A和B分別選取a和b,a和b 予以保密,但將aP和bP公開,A和B間通信用的密鑰為abP,這是第三者無法得知的。對應ELGamal密碼系統(tǒng)可以采用如下的方式在橢圓曲線上
48、予以實現(xiàn):將明文m嵌入到E上Pm點,選一點BE,每一用戶都選一整數(shù)a,0aN,N為階數(shù)已知,a保密,aB公開。欲向A送m,可送去下面一對數(shù)偶:kB,Pm+k(aAB),k是隨機產(chǎn)生的整數(shù)。A可以從kB求得k(aAB)。通過:Pm+k(aAB)- k(aAB)=Pm恢復Pm。同樣對應DSA,考慮如下等式:K=kG 其中 K,G為Ep(a,b)上的點,k為小于n(n是點G的階)的整數(shù)不難發(fā)現(xiàn),給定k和G,根據(jù)加法法則,計算K很容易;但給定K和G,求k就相對困難了。這就是橢圓曲線加密算法采用的難題。我們把點G稱為基點(base point),k(k<n,n為基點G的階)稱為私有密鑰(privt
49、e key),K稱為公開密鑰(public key)。ECC和RSA相比,在許多方面都有對絕對的優(yōu)勢,主要體現(xiàn)在以下方面:(1)抗攻擊性強。相同的密鑰長度,其抗攻擊性要強很多倍。(2)計算量小,處理速度快。ECC總的速度比RSA、DSA要快得多。(3)存儲空間占用小。ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多,意味著它所占的存貯空間要小得多。這對于加密算法在IC卡上的應用具有特別重要的意義。(4)帶寬要求低。當對長消息進行加解密時,三類密碼系統(tǒng)有相同的帶寬要求,但應用于短消息時ECC帶寬要求卻低得多。帶寬要求低使ECC在無線網(wǎng)絡領域具有廣泛的應用前景。ECC的這些特點使它必將取代R
50、SA,成為通用的公鑰加密算法。比如SET協(xié)議的制定者已把它作為下一代SET協(xié)議中缺省的公鑰密碼算法。RSA算法是第一個能同時用于加密和數(shù)字簽名的算法,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現(xiàn)在已近二十年,經(jīng)歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優(yōu)秀的公鑰方案之一。RSA的缺點主要有:(1)產(chǎn)生密鑰很麻煩,受到素數(shù)產(chǎn)生技術的限制,因而難以做到一次一密。(2)安全性, RSA的安全性依賴于大數(shù)的因子分解,但并沒有從理論上證明破譯RSA難度與大數(shù)分解難度等價,而且密碼學界多數(shù)人士傾向于因子分解不是NPC問題。目前,人們已能分解140多個十進制位的大素數(shù),這就要求使
51、用更長的密鑰,速度更慢;另外,目前人們正在積極尋找攻擊RSA的方法,如選擇密文攻擊,一般攻擊者是將某一信息作一下偽裝(Blind),讓擁有私鑰的實體簽署。然后,經(jīng)過計算就可得到它所想要的信息。實際上,攻擊利用的都是同一個弱點,即存在這樣一個事實:乘冪保留了輸入的乘法結(jié)構:( XM )d = Xd *Md mod n 。前面已經(jīng)提到,這個固有的問題來自于公鑰密碼系統(tǒng)的最有用的特征-每個人都能使用公鑰。但從算法上無法解決這一問題,主要措施有兩條:一條是采用好的公鑰協(xié)議,保證工作過程中實體不對其他實體任意產(chǎn)生的信息解密,不對自己一無所知的信息簽名;另一條是決不對陌生人送來的隨機文檔簽名,簽名時首先使
52、用One-Way Hash Function對文檔作HASH處理,或同時使用不同的簽名算法。除了利用公共模數(shù),人們還嘗試一些利用解密指數(shù)或(n)等等攻擊. (3)速度太慢,由于RSA 的分組長度太大,為保證安全性,n 至少也要 600 bitx以上,使運算代價很高,尤其是速度較慢,較對稱密碼算法慢幾個數(shù)量級;且隨著大數(shù)分解技術的發(fā)展,這個長度還在增加,不利于數(shù)據(jù)格式的標準化。目前,SET(SecureElectronic Transaction)協(xié)議中要求CA采用2048比特長的密鑰,其他實體使用1024比特的密鑰。為了速度問題,目前人們廣泛使用單,公鑰密碼結(jié)合使用的方法,優(yōu)缺點互補:單鑰密碼
53、加密速度快,人們用它來加密較長的文件,然后用RSA來給文件密鑰加密,極好的解決了單鑰密碼的密鑰分發(fā)問題。 表4.1比較了AES與3DESAES與3DES的比較算法名稱算法類型密鑰長度速度解密時間(建設機器每秒嘗試255個密鑰)資源消耗AES對稱block密碼128,192256位高1490000億年低3DES對稱feistel密碼112位或168位低46億年中表4.1表4.2,4.3是RSA和ECC的安全性和速度的比較。攻破時間(MIPS年)RSA/DSA(密鑰長度)ECC密鑰長度RSA/ECC密鑰長度比1045121065:11087681326:1101110241607:11020204
54、821010:110782100060035:1表4.2RSA和ECC安全模長得比較功能Security Builder 1.2BSAFE 3.0163位ECC(ms)1,023位RSA(ms)密鑰對生成3.84,708.3簽名2.1(ECNRA)228.43.0(ECDSA)認證9.9(ECNRA)12.710.7(ECDSA)DiffieHellman密鑰交換7.31,654.0表4.3RSA和ECC速度比較MH背包算法是一種適合數(shù)據(jù)庫加密的算法。MH背包算法是一種適合數(shù)據(jù)庫加密的算法。其基本思想是:有一個函數(shù)F,使X = F(K,Y),X 相當于密文,K = (Kl,K2,Kn)相當于公
55、開密鑰向量,Y相當于明文。在算法F不公開的情況下,若已知K 和X 要還原出Y來,窮盡次數(shù)為2n次。MH背包算法是Merkle與Hellman合作設計了使用背包問題實現(xiàn)信息加密的方法其工作原理是:假定甲想加密,則先產(chǎn)生一個較易求解的背包問題,并用它的解作為專用密鑰;然后從這個問題出發(fā),生成另一個難解的背包問題,并作為公共密鑰。如果乙想向甲發(fā)送報文,乙就可以使用難解的背包問題對報文進行加密,由于這個問題十分難解,所以一般沒有人能夠破譯密文;甲收到密文后,可以使用易解的專用密鑰解密。但是,在它發(fā)表幾年后,就找到了攻破它的方法。即使如此,它仍然代表著一類很難問題的算法。背包加密分為加法背包和乘法背包:
56、加法背包:我們知道,1<2,1+2<4,1+2+4<8,1+2+4+8<16,,那么如果我們選擇這樣一些數(shù),這些數(shù)從小到大排列,如果前面所有的數(shù)加起來的值總小于后面的數(shù),那么這些數(shù)就可以構成一個背包,我們給一個這個背包里面的某些數(shù)的和,這個數(shù)就是被加密的數(shù),由這個背包組成這個數(shù)只有一種組合方式,這個方式就是秘密了,例如給大家一個封包(2,3,6,12,24,48),由這個背包里的某些數(shù)構成的數(shù):86,你知道86怎么來的嗎?當然,你看著背包里面的內(nèi)容,可以知道是由2+12+24+48得到的,如果你沒有這個背包,而是直接得到這個86,你知道組成這個86的最小的數(shù)是多少嗎?你
57、無法知道,因為加起來等于86的數(shù)非常多:85+1=86,82+2=86等等,你是無法知道的,所以,背包加密非常難破。 乘法背包:乘法背包比加法背包更復雜,不僅是運算量大了很多,更重要的是你得到的一個被加密了的數(shù)據(jù)更大,一般都是上億的,而且在許多機密的機關里面,背包的數(shù)據(jù)都不是有這個單位,而是用位,我們知道,1<2, 1*2<3, 1*2*3<7,1*2*3*7<43, 1*2*3*7*42<1683,數(shù)字的增長還是很快的,之所以復雜,就是因為數(shù)字很大啊!背包的特點是:如果背包里面的數(shù)據(jù)按小到大排列,那么,前面所有數(shù)據(jù)的乘積小于后面的任何一個元素,這個就是背包的特點,是不是很簡單,但是要知道乘積的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 紡織品模具樣品質(zhì)量管理制度
- 人教版一年級數(shù)學上在校園里找一找
- 疫情防控應急預案及現(xiàn)場處置方案
- 旅游專業(yè)求職信
- 財務分析在制造業(yè)企業(yè)財務管理中的應用研究
- 幼兒園教職工消防安全培訓方案
- 基于指標收縮法和改進因子分析法的學術期刊綜合評價研究
- 家長會學生介紹老師發(fā)言稿
- 船舶報廢拆除及回收施工方案
- 煙臺市2024-2025 學年度第一學期期中考試 語文試卷(含答案)
- 大學生足球比賽策劃書(十四篇)
- 師德表現(xiàn)證明(樣張)
- 平行四邊形的面積課堂學習單
- 市智慧航道與信息服務系統(tǒng)設計方案
- 江蘇某消防指揮中心工程監(jiān)理大綱
- 損失索賠函格式(九篇)
- 籃球場工程量清單與計價表-
- 九年級上冊語文作業(yè)本答案人教版同步練習冊
- GB/T 43187-2023車載無線通信終端
- 學校章程修改及制度建設工作實施方案(6篇)
- 《生物技術制藥》課程教學大綱
評論
0/150
提交評論