你好!大數據隱私保護密碼技術,屬於軟體工程,也屬於密碼學范回疇。
大數據是一種答蘊含大量信息、具有極高價值的數據集合,為了避免大數據挖掘泄露用戶的隱私,必須要對大數據進行必要的保護.由於大數據具有總量龐大、結構復雜、處理迅速等特點,傳統的保護數據隱私的技術很多都不再適用。
從密碼學的角度,綜述了近年來提出的、適用於大數據的隱私保護技術的研究進展,針對大數據的存儲、搜索和計算這3個重要方面,分別闡述了大數據隱私保護的研究背景和主要研究方向,並具體介紹了相關技術的最新研究進展,最後指出未來大數據隱私保護研究的一些重要方向。
② 數據加密主要涉及三要素
數據加密主要涉及三要素:明文、密鑰、密文。
非對稱加密:
在加解密的時候,使用的是不同的密鑰:一個是公鑰,一個是私鑰
密鑰的使用:
公鑰加密,私鑰解密
私鑰解密,公鑰加密
密鑰的特點:
公鑰:公共的密鑰,可以發給任何人
私鑰:只有生成密鑰的一端可以持有,其他人不能知曉,所以需要保管好私鑰
加密速度慢,加密效率低(相對於對稱加密)
適合加密少量的數據
加密等級較高(相對於對稱加密)
非對稱加密的密鑰分發指的是公鑰的分發,私鑰需要保存好
③ 鏈鏉ュ瘑鐮佹櫤鑳藉跺眳錛氭帉鎻″湪鎵嬩腑鐨勬湭鏉
闅忕潃縐戞妧鐨勯為熻繘姝ワ紝鏅鴻兘瀹跺眳姝e湪鎴愪負鎴戜滑鐢熸椿鐨勫緱鍔涘姪鎵嬨傝屽叾涓錛屾湭鏉ュ瘑鐮佹櫤鑳藉跺眳錛屾洿鏄鍑鍊熷叾鐙鐗圭殑瀵嗙爜鎶鏈錛屽皢鏅鴻兘鍖栦笌瀹夊叏鎬у悎浜屼負涓錛岃╀綘鐨勫舵洿鍔犳櫤鑳藉寲銆佹洿鍔犲畨鍏ㄣ
📱渚挎嵎鐨勬櫤鑳藉寲浣撻獙
鏈鏉ュ瘑鐮佹櫤鑳藉跺眳鍛婂埆浼犵粺鐨勬墜鍔ㄦ搷浣滐紝閫氳繃APP鍗沖彲瀹炵幇瀹朵腑鎵鏈夎懼囩殑榪滅▼鎺у埗銆備綘鐨勫訛紝浠庢ゅ惉浣犵殑錛
🔒鏃犲彲鍖規晫鐨勫畨鍏ㄤ繚闅
鏈鏉ュ瘑鐮佹櫤鑳藉跺眳閲囩敤鍏堣繘鐨勫瘑鐮佹妧鏈錛屼弗瀵嗗畧鎶や綘鐨勯殣縐併傚啀涔熶笉鐢ㄦ媴蹇冮粦瀹㈠叆渚點佹暟鎹娉勯湶絳夐棶棰樸
💡鑺傝兘鐜淇
鏈鏉ュ瘑鐮佹櫤鑳藉跺眳涓轟綘綺炬墦緇嗙畻鍦頒嬌鐢ㄨ兘婧愶紝鏃㈣妭綰︿簡鑳芥簮錛屽張涓哄湴鐞冨仛鍑轟簡璐$尞銆
🚀綆鍗曞洓姝ワ紝寮鍚鏅鴻兘鐢熸椿
涓嬭澆APP銆佽懼囪繛鎺ャ佷釜鎬у寲璁劇疆銆佽繙紼嬫帶鍒訛紝綆鍗曞洓姝ワ紝鍗沖彲寮鍚鏅鴻兘鐢熸椿銆
👀灞曟湜鏈鏉
闅忕潃浜哄伐鏅鴻兘鍜屽ぇ鏁版嵁鎶鏈鐨勪笉鏂鍙戝睍錛屾湭鏉ュ瘑鐮佹櫤鑳藉跺眳灝嗕負鎴戜滑甯︽潵鏇村氬墠鎵鏈鏈夌殑鍔熻兘銆備粠浜鴻劯璇嗗埆鍒拌闊寵瘑鍒錛屼粠綆鍗曠殑瀹剁數鎺у埗鍒板嶆潅鐨勫跺涵鑷鍔ㄥ寲緋葷粺錛屼竴鍒囩殕鏈夊彲鑳姐
④ 數據加密的基本信息
和防火牆配合使用的數據加密技術,是為提高信息系統和數據的安全性和保密性,防止秘密數據被外部破譯而採用的主要技術手段之一。在技術上分別從軟體和硬體兩方面採取措施。按照作用的不同,數據加密技術可分為數據傳輸加密技術、數據存儲加密技術、數據完整性的鑒別技術和密鑰管理技術。
數據傳輸加密技術的目的是對傳輸中的數據流加密,通常有線路加密與端—端加密兩種。線路加密側重在線路上而不考慮信源與信宿,是對保密信息通過各線路採用不同的加密密鑰提供安全保護。端—端加密指信息由發送端自動加密,並且由TCP/IP進行數據包封裝,然後作為不可閱讀和不可識別的數據穿過互聯網,當這些信息到達目的地,將被自動重組、解密,而成為可讀的數據。
數據存儲加密技術的目的是防止在存儲環節上的數據失密,數據存儲加密技術可分為密文存儲和存取控制兩種。前者一般是通過加密演算法轉換、附加密碼、加密模塊等方法實現;後者則是對用戶資格、許可權加以審查和限制,防止非法用戶存取數據或合法用戶越權存取數據。
數據完整性鑒別技術的目的是對介入信息傳送、存取和處理的人的身份和相關數據內容進行驗證,一般包括口令、密鑰、身份、數據等項的鑒別。系統通過對比驗證對象輸入的特徵值是否符合預先設定的參數,實現對數據的安全保護。
密鑰管理技術包括密鑰的產生、分配、保存、更換和銷毀等各個環節上的保密措施。 數據加密的術語有 :
明文,即原始的或未加密的數據。通過加密演算法對其進行加密,加密演算法的輸入信息為明文和密鑰;
密文,明文加密後的格式,是加密演算法的輸出信息。加密演算法是公開的,而密鑰則是不公開的。密文不應為無密鑰的用戶理解,用於數據的存儲以及傳輸;
密鑰,是由數字、字母或特殊符號組成的字元串,用它控制數據加密、解密的過程;
加密,把明文轉換為密文的過程;
加密演算法,加密所採用的變換方法;
解密,對密文實施與加密相逆的變換,從而獲得明文的過程;
解密演算法,解密所採用的變換方法。
加密技術是一種防止信息泄露的技術。它的核心技術是密碼學,密碼學是研究密碼系統或通信安全的一門學科,它又分為密碼編碼學和密碼分析學。
任何一個加密系統都是由明文、密文、演算法和密鑰組成。發送方通過加密設備或加密演算法,用加密密鑰將數據加密後發送出去。接收方在收到密文後,用解密密鑰將密文解密,恢復為明文。在傳輸過程中,即使密文被非法分子偷竊獲取,得到的也只是無法識別的密文,從而起到數據保密的作用。
例:明文為字元串:
AS KINGFISHERS CATCH FIRE
(為簡便起見,假定所處理的數據字元僅為大寫字母和空格符)。假定密鑰為字元串:
ELIOT
加密演算法為:
1) 將明文劃分成多個密鑰字元串長度大小的塊(空格符以+表示)
AS+KI NGFIS HERS+ CATCH +FIRE
2) 用0~26范圍的整數取代明文的每個字元,空格符=00,A=01,...,Z=26:
3) 與步驟2一樣對密鑰的每個字元進行取代:
0512091520
4) 對明文的每個塊,將其每個字元用對應的整數編碼與密鑰中相應位置的字元的整數編碼的和模27後的值(整數編碼)取代:
舉例:第一個整數編碼為 (01+05)%27=06
5) 將步驟4的結果中的整數編碼再用其等價字元替換:
FDIZB SSOXL MQ+GT HMBRA ERRFY
如果給出密鑰,該例的解密過程很簡單。問題是對於一個惡意攻擊者來說,在不知道密鑰的情況下,利用相匹配的明文和密文獲得密鑰究竟有多困難?對於上面的簡單例子,答案是相當容易的,不是一般的容易,但是,復雜的加密模式同樣很容易設計出。理想的情況是採用的加密模式使得攻擊者為了破解所付出的代價應遠遠超過其所獲得的利益。實際上,該目的適用於所有的安全性措施。這種加密模式的可接受的最終目標是:即使是該模式的發明者也無法通過相匹配的明文和密文獲得密鑰,從而也無法破解密文。 傳統加密方法有兩種,替換和置換。上面的例子採用的就是替換的方法:使用密鑰將明文中的每一個字元轉換為密文中的一個字元。而置換僅將明文的字元按不同的順序重新排列。單獨使用這兩種方法的任意一種都是不夠安全的,但是將這兩種方法結合起來就能提供相當高的安全程度。數據加密標准(Data Encryption Standard,簡稱DES)就採用了這種結合演算法,它由IBM制定,並在1977年成為美國官方加密標准。
DES的工作原理為:將明文分割成許多64位大小的塊,每個塊用64位密鑰進行加密,實際上,密鑰由56位數據位和8位奇偶校驗位組成,因此只有56個可能的密碼而不是64個。每塊先用初始置換方法進行加密,再連續進行16次復雜的替換,最後再對其施用初始置換的逆。第i步的替換並不是直接利用原始的密鑰K,而是由K與i計算出的密鑰Ki。
DES具有這樣的特性,其解密演算法與加密演算法相同,除了密鑰Ki的施加順序相反以外。 多年來,許多人都認為DES並不是真的很安全。事實上,即使不採用智能的方法,隨著快速、高度並行的處理器的出現,強制破解DES也是可能的。公開密鑰加密方法使得DES以及類似的傳統加密技術過時了。公開密鑰加密方法中,加密演算法和加密密鑰都是公開的,任何人都可將明文轉換成密文。但是相應的解密密鑰是保密的(公開密鑰方法包括兩個密鑰,分別用於加密和解密),而且無法從加密密鑰推導出,因此,即使是加密者若未被授權也無法執行相應的解密。
公開密鑰加密思想最初是由Diffie和Hellman提出的,最著名的是Rivest、Shamir以及Adleman提出的,通常稱為RSA(以三個發明者的首位字母命名)的方法,該方法基於下面的兩個事實:
1) 已有確定一個數是不是質數的快速演算法;
2) 尚未找到確定一個合數的質因子的快速演算法。
RSA方法的工作原理如下:
1) 任意選取兩個不同的大質數p和q,計算乘積r=p*q;
2) 任意選取一個大整數e,e與(p-1)*(q-1)互質,整數e用做加密密鑰。注意:e的選取是很容易的,例如,所有大於p和q的質數都可用。
3) 確定解密密鑰d:
(d * e) molo(p - 1)*(q - 1) = 1
根據e、p和q可以容易地計算出d。
4) 公開整數r和e,但是不公開d;
5) 將明文P (假設P是一個小於r的整數)加密為密文C,計算方法為:
C = P^e molo r
6) 將密文C解密為明文P,計算方法為:
P = C^d molo r
然而只根據r和e(不是p和q)要計算出d是不可能的。因此,任何人都可對明文進行加密,但只有授權用戶(知道d)才可對密文解密。
下面舉一簡單的例子對上述過程進行說明,顯然我們只能選取很小的數字。
例:選取p=3, q=5,則r=15,(p-1)*(q-1)=8。選取e=11(大於p和q的質數),通過(d*11)molo(8) = 1。
計算出d =3。
假定明文為整數13。則密文C為
C = P^e molo r
= 13^11 molo 15
= 1,792,160,394,037 molo 15
= 7
復原明文P為:
P = C^d molo r
= 7^3 molo 15
= 343 molo 15
= 13
因為e和d互逆,公開密鑰加密方法也允許採用這樣的方式對加密信息進行簽名,以便接收方能確定簽名不是偽造的。假設A和B希望通過公開密鑰加密方法進行數據傳輸,A和B分別公開加密演算法和相應的密鑰,但不公開解密演算法和相應的密鑰。A和B的加密演算法分別是ECA和ECB,解密演算法分別是DCA和DCB,ECA和DCA互逆,ECB和DCB互逆。若A要向B發送明文P,不是簡單地發送ECB(P),而是先對P施以其解密演算法DCA,再用加密演算法ECB對結果加密後發送出去。
密文C為:
C = ECB(DCA(P))
B收到C後,先後施以其解密演算法DCB和加密演算法ECA,得到明文P:
ECA(DCB(C))
= ECA(DCB(ECB(DCA(P))))
= ECA(DCA(P)) /*DCB和ECB相互抵消*/
= P /*DCB和ECB相互抵消*/
這樣B就確定報文確實是從A發出的,因為只有當加密過程利用了DCA演算法,用ECA才能獲得P,只有A才知道DCA演算法,沒
有人,即使是B也不能偽造A的簽名。 前言
隨著信息化的高速發展,人們對信息安全的需求接踵而至,人才競爭、市場競爭、金融危機、敵特機構等都給企事業單位的發展帶來巨大風險,內部竊密、黑客攻擊、無意識泄密等竊密手段成為了人與人之間、企業與企業之間、國與國之間的安全隱患。
市場的需求、人的安全意識、環境的諸多因素促使著我國的信息安全高速發展,信息安全經歷了從傳統的單一防護如防火牆到信息安全整體解決方案、從傳統的老三樣防火牆、入侵檢測、殺毒軟體到多元化的信息安全防護、從傳統的外部網路防護到內網安全、主機安全等。
傳統數據加密技術分析
信息安全傳統的老三樣(防火牆、入侵檢測、防病毒)成為了企事業單位網路建設的基礎架構,已經遠遠不能滿足用戶的安全需求,新型的安全防護手段逐步成為了信息安全發展的主力軍。例如主機監控、文檔加密等技術。
在新型安全產品的隊列中,主機監控主要採用外圍圍追堵截的技術方案,雖然對信息安全有一定的提高,但是因為產品自身依賴於操作系統,對數據自身沒有有效的安全防護,所以存在著諸多安全漏洞,例如:最基礎的手段拆拔硬碟、winpe光碟引導、USB引導等方式即可將數據盜走,而且不留任何痕跡;此技術更多的可以理解為企業資產管理軟體,單一的產品無法滿足用戶對信息安全的要求。
文檔加密是現今信息安全防護的主力軍,採用透明加解密技術,對數據進行強制加密,不改變用戶原有的使用習慣;此技術對數據自身加密,不管是脫離操作系統,還是非法脫離安全環境,用戶數據自身都是安全的,對環境的依賴性比較小。市面上的文檔加密主要的技術分為磁碟加密、應用層加密、驅動級加密等幾種技術,應用層加密因為對應用程序的依賴性比較強,存在諸多兼容性和二次開發的問題,逐步被各信息安全廠商所淘汰。
當今主流的兩大數據加密技術
我們所能常見到的主要就是磁碟加密和驅動級解密技術:
全盤加密技術是主要是對磁碟進行全盤加密,並且採用主機監控、防水牆等其他防護手段進行整體防護,磁碟加密主要為用戶提供一個安全的運行環境,數據自身未進行加密,操作系統一旦啟動完畢,數據自身在硬碟上以明文形式存在,主要靠防水牆的圍追堵截等方式進行保護。磁碟加密技術的主要弊端是對磁碟進行加密的時間周期較長,造成項目的實施周期也較長,用戶一般無法忍耐;磁碟加密技術是對磁碟進行全盤加密,一旦操作系統出現問題。需要對數據進行恢復也是一件讓用戶比較頭痛的事情,正常一塊500G的硬碟解密一次所需時間需要3-4個小時;市面上的主要做法是對系統盤不做加密防護,而是採用外圍技術進行安全訪問控制,大家知道操作系統的版本不斷升級,微軟自身的安全機制越來越高,人們對系統的控制力度越來越低,尤其黑客技術層層攀高,一旦防護體系被打破,所有一切將暴露無疑。另外,磁碟加密技術是對全盤的信息進行安全管控,其中包括系統文件,對系統的效率性能將大大影響。
驅動級技術是信息加密的主流技術,採用進程+後綴的方式進行安全防護,用戶可以根據企事業單位的實際情況靈活配置,對重要的數據進行強制加密,大大提高了系統的運行效率。驅動級加密技術與磁碟加密技術的最大區別就是驅動級技術會對用戶的數據自身進行保護,驅動級加密採用透明加解密技術,用戶感覺不到系統的存在,不改變用戶的原有操作,數據一旦脫離安全環境,用戶將無法使用,有效提高了數據的安全性;另外驅動級加密技術比磁碟加密技術管理可以更加細粒度,有效實現數據的全生命周期管理,可以控制文件的使用時間、次數、復制、截屏、錄像等操作,並且可以對文件的內部進行細粒度的授權管理和數據的外出訪問控制,做到數據的全方位管理。驅動級加密技術在給用戶的數據帶來安全的同時,也給用戶的使用便利性帶來一定的問題,驅動級加密採用進程加密技術,對同類文件進行全部加密,無法有效區別個人文件與企業文件數據的分類管理,個人電腦與企業辦公的並行運行等問題。