Ⅰ 用戶進行日常電子商務活動時,應該如何採取措施來進行安全維護
進行日常電子商務活動時,提高警惕,不給沒有保障的賣家或者沒有加入消費者保障的賣家打錢;網路安全的軟體下載等方式。
在通信安全、計算機安全、物理安全、人事安全、管理安全和媒體安全方面均可採取一定的措施,整個系統的安全取決於系統中最薄弱環節的安全水平,這就需要從系統設計上進行全面的考慮,折中選取。
電子商務中的安全措施包括有下述幾類:
(1)保證交易雙方身份的真實性:常用的處理技術是身份認證,依賴某個可信賴的機構(CA認證中心)發放證書,並以此識別對方。目的是保證身份的精確性,分辨參與者身份的真偽,防止偽裝攻擊。
(2)保證信息的保密性:保護信息不被泄露或被披露給未經授權的人或組織,常用的處理技術是數據加密和解密,其安全性依賴於使用的演算法和密鑰長度。常見的加密方法有對稱式密鑰加密技術(如DES演算法)和公開密鑰加密技術(如RSA演算法)。
(3)保證信息的完整性:常用數據雜湊等技術來實現。通過散列演算法來保護數據不被未授權者(非法用戶)建立、嵌入、刪除、篡改、重放。典型的散列演算法為美國國家安全局開發的單向散列演算法之一。
(4)保證信息的真實性:常用的處理手段是數字簽名技術。目的是為了解決通信雙方相互之間可能的欺詐,如發送用戶對他所發送信息的否認、接收用戶對他已收到信息的否認等,而不是對付未知的攻擊者,其基礎是公開密鑰加密技術。目前,可用的數字簽名演算法較多,如RSA數字簽名、ELGamal數字簽名等。
(5)保證信息的不可否認性:通常要求引入認證中心(CA)進行管理,由CA發放密鑰,傳輸的單證及其簽名的備份發至CA保存,作為可能爭議的仲裁依據。
(6)保證存儲信息的安全性:規范內部管理,使用訪問控制許可權和日誌,以及敏感信息的加密存儲等。
拓展知識
電子商務(Electronic Commerce)是利用計算機技術、網路技術和遠程通信技術,實現整個商務(買賣)過程中的電子化、數字化和網路化。人們不再是面對面的、看著實實在在的貨物、靠紙介質單據(包括現金)進行買賣交易。而是通過網路,通過網上琳琅滿目的商品信息、完善的物流配送系統和方便安全的資金結算系統進行交易(買賣)。
Ⅱ 1) 什麼是密鑰管理為什麼要進行密鑰管理
密鑰管理密鑰是一種讀取、修改或驗證保護數據的保密代碼或數字。密鑰與演算法(一個數學過程)結合在一起以保護數據。Windows XP 自動處理密鑰生成並執行以下可以最大化保護的密鑰屬性:
動態重生成密鑰
IPSec 策略通過一種稱為動態重新加密的方法來控制通訊期間生成新密鑰的頻率。通訊是以塊的形式發送的,每個數據塊都使用不同的密鑰來加以保護。這樣可防止已經獲取部分通訊與相應的會話密鑰的攻擊者獲取其餘部分的通訊。該請求安全協商與自動密鑰管理服務是通過使用 RFC 2409 中定義的「Internet 密鑰交換 (IKE)」來提供的。
IPSec 策略允許您控制生成新密鑰的頻率。如果未配置值,則以默認時間間隔自動重新生成密鑰。
密鑰長度
每當密鑰的長度增加一位,可能的密鑰數會加倍,使得破解密鑰的難度也會成倍加大。IPSec 策略提供了多種允許使用短的或長的密鑰長度的演算法。
密鑰材料生成:Diffie-Hellman 演算法
要啟用安全通訊,兩台計算機必須能夠獲取相同的共享密鑰(會話密鑰),而不必通過網路發送密鑰,也不會泄密。
Diffie-Hellman 演算法 (DH) 先於 Rivest-Shamir-Adleman (RSA) 加密出現,可提供較好的性能。它是用於密鑰交換的最古老且最安全的演算法之一。雙方可以公開交換密鑰信息,而 Windows XP 還通過哈希功能簽名對該信息進行進一步保護。任何一方都不交換實際密鑰,但是,在交換密鑰材料之後,每一方都能夠生成相同的共享密鑰。
雙方交換的 DH 密鑰材料可以基於 768 位或 1024 位密鑰材料,即 DH 組。DH 組提供的安全性與從 DH 交換計算的密鑰提供的安全性相稱。提供很強安全性的 DH 組與較長的密鑰長度結合使用,增加了試圖確定密鑰的計算難度。
IPSec 使用 DH 演算法為所有其他加密密鑰提供密鑰材料。DH 不提供驗證。在 Windows XP IPSec 實施中,進行 DH 交換之後,會對標識進行驗證,以防中間人 (man-in-the-middle) 攻擊。
Ⅲ 怎麼維護資料庫 防止核心存儲過程被篡改
解決方法:可以在表中加一個MD5的欄位,這個欄位的值是表中幾個主要欄位+隨機數組合起來通過MD5加密的方式加密後的字元串,獲取數據時校驗MD5的值是否一致,如果不一致則表示數據被非法篡改了,反之則數據正常。同時修改數據的時候需要更新MD5的值。
Ⅳ 密鑰管理的流程
密鑰長度應該足夠長。一般來說,密鑰長度越大,對應的密鑰空間就越大,攻擊者使用窮舉猜測密碼的難度就越大。
選擇好密鑰,避免弱密鑰。由自動處理設備生成的隨機的比特串是好密鑰,選擇密鑰時,應該避免選擇一個弱密鑰。
對公鑰密碼體制來說,密鑰生成更加困難,因為密鑰必須滿足某些數學特徵。
密鑰生成可以通過在線或離線的交互協商方式實現,如密碼協議等。 密鑰附著一些檢錯和糾錯位來傳輸,當密鑰在傳輸中發生錯誤時,能很容易地被檢查出來,並且如果需要,密鑰可被重傳。
接收端也可以驗證接收的密鑰是否正確。發送方用密鑰加密一個常量,然後把密文的前2-4位元組與密鑰一起發送。在接收端,做同樣的工作,如果接收端解密後的常數能與發端常數匹配,則傳輸無錯。 密鑰的備份可以採用密鑰託管、秘密分割、秘密共享等方式。
最簡單的方法,是使用密鑰託管中心。密鑰託管要求所有用戶將自己的密鑰交給密鑰託管中心,由密鑰託管中心備份保管密鑰(如鎖在某個地方的保險櫃里或用主密鑰對它們進行加密保存),一旦用戶的密鑰丟失(如用戶遺忘了密鑰或用戶意外死亡),按照一定的規章制度,可從密鑰託管中心索取該用戶的密鑰。另一個備份方案是用智能卡作為臨時密鑰託管。如Alice把密鑰存入智能卡,當Alice不在時就把它交給Bob,Bob可以利用該卡進行Alice的工作,當Alice回來後,Bob交還該卡,由於密鑰存放在卡中,所以Bob不知道密鑰是什麼。
秘密分割把秘密分割成許多碎片,每一片本身並不代表什麼,但把這些碎片放到一塊,秘密就會重現出來。
一個更好的方法是採用一種秘密共享協議。將密鑰K分成n塊,每部分叫做它的「影子」,知道任意m個或更多的塊就能夠計算出密鑰K,知道任意m-1個或更少的塊都不能夠計算出密鑰K,這叫做(m,n)門限(閾值)方案。目前,人們基於拉格朗日內插多項式法、射影幾何、線性代數、孫子定理等提出了許多秘密共享方案。
拉格朗日插值多項式方案是一種易於理解的秘密共享(m,n)門限方案。
秘密共享解決了兩個問題:一是若密鑰偶然或有意地被暴露,整個系統就易受攻擊;二是若密鑰丟失或損壞,系統中的所有信息就不能用了。 加密密鑰不能無限期使用,有以下有幾個原因:密鑰使用時間越長,它泄露的機會就越大;如果密鑰已泄露,那麼密鑰使用越久,損失就越大;密鑰使用越久,人們花費精力破譯它的誘惑力就越大——甚至採用窮舉攻擊法;對用同一密鑰加密的多個密文進行密碼分析一般比較容易。
不同密鑰應有不同有效期。
數據密鑰的有效期主要依賴數據的價值和給定時間里加密數據的數量。價值與數據傳送率越大所用的密鑰更換越頻繁。
密鑰加密密鑰無需頻繁更換,因為它們只是偶爾地用作密鑰交換。在某些應用中,密鑰加密密鑰僅一月或一年更換一次。
用來加密保存數據文件的加密密鑰不能經常地變換。通常是每個文件用唯一的密鑰加密,然後再用密鑰加密密鑰把所有密鑰加密,密鑰加密密鑰要麼被記憶下來,要麼保存在一個安全地點。當然,丟失該密鑰意味著丟失所有的文件加密密鑰。
公開密鑰密碼應用中的私鑰的有效期是根據應用的不同而變化的。用作數字簽名和身份識別的私鑰必須持續數年(甚至終身),用作拋擲硬幣協議的私鑰在協議完成之後就應該立即銷毀。即使期望密鑰的安全性持續終身,兩年更換一次密鑰也是要考慮的。舊密鑰仍需保密,以防用戶需要驗證從前的簽名。但是新密鑰將用作新文件簽名,以減少密碼分析者所能攻擊的簽名文件數目。 如果密鑰必須替換,舊鑰就必須銷毀,密鑰必須物理地銷毀。
Ⅳ pos機密鑰更新怎麼處理
pos機密鑰更新處理的方法是:在簽到時通過ZmkSYS請求加密機獲取mac密鑰(POS機mac密鑰和系統mac密鑰)和pin密鑰(POS機pin密鑰和系統pin密鑰)存入終端表並返回POS機mac密鑰和POS機pin密鑰。
密鑰的使用過程:交易請求發生時POS機根據ZPKPOS加密PIN,ZAKPOS生成mac,傳輸到posp後系統通過ZAKSYS和pos機請求過來的mac值和data到加密機校驗mac是否正確。
同理,返回時通過ZAKSYS加密mac返回pos機,pos機通過ZAKPOS校驗mac值是否正確。系統通過ZPKSYS和pos機請求過來的加密PIN值和銀聯系統ZPKSYS轉化成銀聯密鑰加密的PIN。
PIN密鑰和MAC密鑰分別是:
1、PIN密鑰TPK,用於計算加密PIN(個人銀行卡的密碼,6位數)。在簽到時,下發給POS終端,以密文的形式,POS終端接收到密文後,需要使用主密鑰去解密,然後校驗,校驗通過後,將TPK存儲在專用的密鑰保護晶元里。
2、MAC密鑰,(Terminal Administrative Key)TAK,用於計算校驗MAC。MAC是用來完成消息來源正確性鑒別,防止數據被篡改或非法用戶竊入的數據。
在簽到時,下發給POS終端,以密文的形式,Pos終端接收到密文後,需要使用主密鑰去解密,然後校驗,校驗通過後,將TAK存儲在專用的密鑰保護晶元里。
TAK用於區域網內POS終端與POS中心之間傳送信息時,生成和校驗一個信息認證代碼(Message Authentication Code),從而達到信息認證的目的。TAK需要經常性地更換,通常每天更換一次。
Ⅵ 密鑰管理的管理技術
1、對稱密鑰管理。對稱加密是基於共同保守秘密來實現的。採用對稱加密技術的貿易雙方必須要保證採用的是相同的密鑰,要保證彼此密鑰的交換是安全可靠的,同時還要設定防止密鑰泄密和更改密鑰的程序。這樣,對稱密鑰的管理和分發工作將變成一件潛在危險的和繁瑣的過程。通過公開密鑰加密技術實現對稱密鑰的管理使相應的管理變得簡單和更加安全,同時還解決了純對稱密鑰模式中存在的可靠性問題和鑒別問題。 貿易方可以為每次交換的信息(如每次的EDI交換)生成唯一一把對稱密鑰並用公開密鑰對該密鑰進行加密,然後再將加密後的密鑰和用該密鑰加密的信息(如EDI交換)一起發送給相應的貿易方。由於對每次信息交換都對應生成了唯一一把密鑰,因此各貿易方就不再需要對密鑰進行維護和擔心密鑰的泄露或過期。這種方式的另一優點是,即使泄露了一把密鑰也只將影響一筆交易,而不會影響到貿易雙方之間所有的交易關系。這種方式還提供了貿易夥伴間發布對稱密鑰的一種安全途徑。
2、公開密鑰管理/數字證書。貿易夥伴間可以使用數字證書(公開密鑰證書)來交換公開密鑰。國際電信聯盟(ITU)制定的標准X.509,對數字證書進行了定義該標准等同於國際標准化組織(ISO)與國際電工委員會(IEC)聯合發布的ISO/IEC 9594-8:195標准。數字證書通常包含有唯一標識證書所有者(即貿易方)的名稱、唯一標識證書發布者的名稱、證書所有者的公開密鑰、證書發布者的數字簽名、證書的有效期及證書的序列號等。證書發布者一般稱為證書管理機構(CA),它是貿易各方都信賴的機構。數字證書能夠起到標識貿易方的作用,是目前電子商務廣泛採用的技術之一。
3、密鑰管理相關的標准規范。目前國際有關的標准化機構都著手制定關於密鑰管理的技術標准規范。ISO與IEC下屬的信息技術委員會(JTC1)已起草了關於密鑰管理的國際標准規范。該規范主要由三部分組成:一是密鑰管理框架;二是採用對稱技術的機制;三是採用非對稱技術的機制。該規范現已進入到國際標准草案表決階段,並將很快成為正式的國際標准。
數字簽名
數字簽名是公開密鑰加密技術的另一類應用。它的主要方式是:報文的發送方從報文文本中生成一個128位的散列值(或報文摘要)。發送方用自己的專用密鑰對這個散列值進行加密來形成發送方的數字簽名。然後,這個數字簽名將作為報文的附件和報文一起發送給報文的接收方。報文的接收方首先從接收到的原始報文中計算出128位的散列值(或報文摘要),接著再用發送方的公開密鑰來對報文附加的數字簽名進行解密。如果兩個散列值相同,那麼接收方就能確認該數字簽名是發送方的。通過數字簽名能夠實現對原始報文的鑒別和不可抵賴性。
ISO/IEC JTC1已在起草有關的國際標准規范。該標準的初步題目是「信息技術安全技術帶附件的數字簽名方案」,它由概述和基於身份的機制兩部分構成。 密碼學簡介 據記載,公元前400年,古希臘人發明了置換密碼。1881年世界上的第一個電話保密專利出現。在第二次世界大戰期間,德國軍方啟用「恩尼格瑪」密碼機,密碼學在戰爭中起著非常重要的作用。
隨著信息化和數字化社會的發展,人們對信息安全和保密的重要性認識不斷提高,於是在1997年,美國國家標准局公布實施了「美國數據加密標准(DES)」,民間力量開始全面介入密碼學的研究和應用中,採用的加密演算法有DES、RSA、SHA等。隨著對加密強度需求的不斷提高,近期又出現了AES、ECC等。
使用密碼學可以達到以下目的:
保密性:防止用戶的標識或數據被讀取。
數據完整性:防止數據被更改。
身份驗證:確保數據發自特定的一方。
二. 加密演算法介紹根據密鑰類型不同將現代密碼技術分為兩類:對稱加密演算法(秘密鑰匙加密)和非對稱加密演算法(公開密鑰加密)。
對稱鑰匙加密系統是加密和解密均採用同一把秘密鑰匙,而且通信雙方都必須獲得這把鑰匙,並保持鑰匙的秘密。
非對稱密鑰加密系統採用的加密鑰匙(公鑰)和解密鑰匙(私鑰)是不同的。 在對稱加密演算法中,只有一個密鑰用來加密和解密信息,即加密和解密採用相同的密鑰。常用的演算法包括:DES(Data Encryption Standard):數據加密標准,速度較快,適用於加密大量數據的場合。
3DES(Triple DES):是基於DES,對一塊數據用三個不同的密鑰進行三次加密,強度更高。
AES(Advanced Encryption Standard):高級加密標准,是下一代的加密演算法標准,速度快,安全級別高;
2000年10月,NIST(美國國家標准和技術協會)宣布通過從15種侯選演算法中選出的一項新的密匙加密標准。Rijndael被選中成為將來的AES。Rijndael是在 1999 年下半年,由研究員Joan Daemen 和 Vincent Rijmen 創建的。AES 正日益成為加密各種形式的電子數據的實際標准。
美國標准與技術研究院 (NIST) 於 2002 年 5 月 26 日制定了新的高級加密標准(AES) 規范。
演算法原理 AES 演算法基於排列和置換運算。排列是對數據重新進行安排,置換是將一個數據單元替換為另一個。AES 使用幾種不同的方法來執行排列和置換運算。
AES 是一個迭代的、對稱密鑰分組的密碼,它可以使用128、192 和 256 位密鑰,並且用 128 位(16位元組)分組加密和解密數據。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數據。通過分組密碼返回的加密數據的位數與輸入數據相同。迭代加密使用一個循環結構,在該循環中重復置換和替換輸入數據。
AES與3DES的比較 演算法名稱 演算法類型 密鑰長度 速度 解密時間(建設機器每秒嘗試255個密鑰) 資源消耗 AES 對稱block密碼 128、192、256位 高 1490000億年 低 3DES 對稱feistel密碼 112位或168位 低 46億年 中 常見的非對稱加密演算法如下:
RSA:由 RSA 公司發明,是一個支持變長密鑰的公共密鑰演算法,需要加密的文件塊的長度也是可變的;
DSA(Digital Signature Algorithm):數字簽名演算法,是一種標準的 DSS(數字簽名標准);
ECC(Elliptic Curves Cryptography):橢圓曲線密碼編碼學。
在1976年,由於對稱加密演算法已經不能滿足需要,Diffie 和Hellman發表了一篇叫《密碼學新動向》的文章,介紹了公匙加密的概念,由Rivet、Shamir、Adelman提出了RSA演算法。
隨著分解大整數方法的進步及完善、計算機速度的提高以及計算機網路的發展,為了保障數據的安全,RSA的密鑰需要不斷增加,但是,密鑰長度的增加導致了其加解密的速度大為降低,硬體實現也變得越來越難以忍受,這對使用RSA的應用帶來了很重的負擔,因此需要一種新的演算法來代替RSA。
1985年N.Koblitz和Miller提出將橢圓曲線用於密碼演算法,根據是有限域上的橢圓曲線上的點群中的離散對數問題ECDLP。ECDLP是比因子分解問題更難的問題,它是指數級的難度。
原理——橢圓曲線上的難題 橢圓曲線上離散對數問題ECDLP定義如下:給定素數p和橢圓曲線E,對Q=kP,在已知P,Q 的情況下求出小於p的正整數k。可以證明由k和P計算Q比較容易,而由Q和P計算k則比較困難。
將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,將橢圓曲線中的乘法運算與離散對數中的模冪運算相對應,我們就可以建立基於橢圓曲線的對應的密碼體制。
例如,對應Diffie-Hellman公鑰系統,我們可以通過如下方式在橢圓曲線上予以實現:在E上選取生成元P,要求由P產生的群元素足夠多,通信雙方A和B分別選取a和b,a和b 予以保密,但將aP和bP公開,A和B間通信用的密鑰為abP,這是第三者無法得知的。
對應ELGamal密碼系統可以採用如下的方式在橢圓曲線上予以實現:
將明文m嵌入到E上Pm點,選一點B∈E,每一用戶都選一整數a,0<a<N,N為階數已知,a保密,aB公開。欲向A送m,可送去下面一對數偶:[kB,Pm+k(aAB)],k是隨機產生的整數。A可以從kB求得k(aAB)。通過:Pm+k(aAB)- k(aAB)=Pm恢復Pm。同樣對應DSA,考慮如下等式:
K=kG [其中 K,G為Ep(a,b)上的點,k為小於n(n是點G的階)的整數]
不難發現,給定k和G,根據加法法則,計算K很容易;但給定K和G,求k就相對困難了。
這就是橢圓曲線加密演算法採用的難題。我們把點G稱為基點(base point),k(k<n,n為基點G的階)稱為私有密鑰(privte key),K稱為公開密鑰(public key)。
ECC與RSA的比較 ECC和RSA相比,在許多方面都有對絕對的優勢,主要體現在以下方面:
抗攻擊性強。相同的密鑰長度,其抗攻擊性要強很多倍。
計算量小,處理速度快。ECC總的速度比RSA、DSA要快得多。
存儲空間佔用小。ECC的密鑰尺寸和系統參數與RSA、DSA相比要小得多,意味著它所佔的存貯空間要小得多。這對於加密演算法在IC卡上的應用具有特別重要的意義。
帶寬要求低。當對長消息進行加解密時,三類密碼系統有相同的帶寬要求,但應用於短消息時ECC帶寬要求卻低得多。帶寬要求低使ECC在無線網路領域具有廣泛的應用前景。
ECC的這些特點使它必將取代RSA,成為通用的公鑰加密演算法。比如SET協議的制定者已把它作為下一代SET協議中預設的公鑰密碼演算法。
下面兩張表示是RSA和ECC的安全性和速度的比較。 攻破時間(MIPS年) RSA/DSA(密鑰長度) ECC密鑰長度 RSA/ECC密鑰長度比 10 512 106 5:1 10 768 132 6:1 10 1024 160 7:1 10 2048 210 10:1 10 21000 600 35:1 RSA和ECC安全模長得比較 功能 Security Builder 1.2 BSAFE 3.0 163位ECC(ms) 1,023位RSA(ms) 密鑰對生成 3.8 4,708.3 簽名 2.1(ECNRA) 228.4 3.0(ECDSA) 認證 9.9(ECNRA) 12.7 10.7(ECDSA) Diffie—Hellman密鑰交換 7.3 1,654.0 RSA和ECC速度比較 散列演算法也叫哈希演算法,英文是Hash ,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列演算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。
HASH主要用於信息安全領域中加密演算法,它把一些不同長度的信息轉化成雜亂的128位的編碼,這些編碼值叫做HASH值. 也可以說,hash就是找到一種數據內容和數據存放地址之間的映射關系散列是信息的提煉,通常其長度要比信息小得多,且為一個固定長度。加密性強的散列一定是不可逆的,這就意味著通過散列結果,無法推出任何部分的原始信息。任何輸入信息的變化,哪怕僅一位,都將導致散列結果的明顯變化,這稱之為雪崩效應。散列還應該是防沖突的,即找不出具有相同散列結果的兩條信息。具有這些特性的散列結果就可以用於驗證信息是否被修改。
單向散列函數一般用於產生消息摘要,密鑰加密等,常見的有:
MD5(Message Digest Algorithm 5):是RSA數據安全公司開發的一種單向散列演算法。
SHA(Secure Hash Algorithm):可以對任意長度的數據運算生成一個160位的數值;
在1993年,安全散列演算法(SHA)由美國國家標准和技術協會(NIST)提出,並作為聯邦信息處理標准(FIPS PUB 180)公布;1995年又發布了一個修訂版FIPS PUB 180-1,通常稱之為SHA-1。SHA-1是基於MD4演算法的,並且它的設計在很大程度上是模仿MD4的。現在已成為公認的最安全的散列演算法之一,並被廣泛使用。
原理 SHA-1是一種數據加密演算法,該演算法的思想是接收一段明文,然後以一種不可逆的方式將它轉換成一段(通常更小)密文,也可以簡單的理解為取一串輸入碼(稱為預映射或信息),並把它們轉化為長度較短、位數固定的輸出序列即散列值(也稱為信息摘要或信息認證代碼)的過程。
單向散列函數的安全性在於其產生散列值的操作過程具有較強的單向性。如果在輸入序列中嵌入密碼,那麼任何人在不知道密碼的情況下都不能產生正確的散列值,從而保證了其安全性。SHA將輸入流按照每塊512位(64個位元組)進行分塊,並產生20個位元組的被稱為信息認證代碼或信息摘要的輸出。
該演算法輸入報文的最大長度不超過264位,產生的輸出是一個160位的報文摘要。輸入是按512 位的分組進行處理的。SHA-1是不可逆的、防沖突,並具有良好的雪崩效應。
通過散列演算法可實現數字簽名實現,數字簽名的原理是將要傳送的明文通過一種函數運算(Hash)轉換成報文摘要(不同的明文對應不同的報文摘要),報文摘要加密後與明文一起傳送給接受方,接受方將接受的明文產生新的報文摘要與發送方的發來報文摘要解密比較,比較結果一致表示明文未被改動,如果不一致表示明文已被篡改。
MAC (信息認證代碼)就是一個散列結果,其中部分輸入信息是密碼,只有知道這個密碼的參與者才能再次計算和驗證MAC碼的合法性。MAC的產生參見下圖。 輸入信息 密碼 散列函數 信息認證代碼 SHA-1與MD5的比較 因為二者均由MD4導出,SHA-1和MD5彼此很相似。相應的,他們的強度和其他特性也是相似,但還有以下幾點不同:
對強行供給的安全性:最顯著和最重要的區別是SHA-1摘要比MD5摘要長32 位。使用強行技術,產生任何一個報文使其摘要等於給定報摘要的難度對MD5是2數量級的操作,而對SHA-1則是2數量級的操作。這樣,SHA-1對強行攻擊有更大的強度。
對密碼分析的安全性:由於MD5的設計,易受密碼分析的攻擊,SHA-1顯得不易受這樣的攻擊。
速度:在相同的硬體上,SHA-1的運行速度比MD5慢。 對稱與非對稱演算法比較
以上綜述了兩種加密方法的原理,總體來說主要有下面幾個方面的不同:
一、 在管理方面:公鑰密碼演算法只需要較少的資源就可以實現目的,在密鑰的分配上,兩者之間相差一個指數級別(一個是n一個是n)。所以私鑰密碼演算法不適應廣域網的使用,而且更重要的一點是它不支持數字簽名。
二、 在安全方面:由於公鑰密碼演算法基於未解決的數學難題,在破解上幾乎不可能。對於私鑰密碼演算法,到了AES雖說從理論來說是不可能破解的,但從計算機的發展角度來看。公鑰更具有優越性。
三、 從速度上來看:AES的軟體實現速度已經達到了每秒數兆或數十兆比特。是公鑰的100倍,如果用硬體來實現的話這個比值將擴大到1000倍。
加密演算法的選擇 前面的章節已經介紹了對稱解密演算法和非對稱加密演算法,有很多人疑惑:那我們在實際使用的過程中究竟該使用哪一種比較好呢?
我們應該根據自己的使用特點來確定,由於非對稱加密演算法的運行速度比對稱加密演算法的速度慢很多,當我們需要加密大量的數據時,建議採用對稱加密演算法,提高加解密速度。
對稱加密演算法不能實現簽名,因此簽名只能非對稱演算法。
由於對稱加密演算法的密鑰管理是一個復雜的過程,密鑰的管理直接決定著他的安全性,因此當數據量很小時,我們可以考慮採用非對稱加密演算法。
在實際的操作過程中,我們通常採用的方式是:採用非對稱加密演算法管理對稱演算法的密鑰,然後用對稱加密演算法加密數據,這樣我們就集成了兩類加密演算法的優點,既實現了加密速度快的優點,又實現了安全方便管理密鑰的優點。
如果在選定了加密演算法後,那採用多少位的密鑰呢?一般來說,密鑰越長,運行的速度就越慢,應該根據的我們實際需要的安全級別來選擇,一般來說,RSA建議採用1024位的數字,ECC建議採用160位,AES採用128為即可。
密碼學在現代的應用, 隨著密碼學商業應用的普及,公鑰密碼學受到前所未有的重視。除傳統的密碼應用系統外,PKI系統以公鑰密碼技術為主,提供加密、簽名、認證、密鑰管理、分配等功能。
保密通信:保密通信是密碼學產生的動因。使用公私鑰密碼體制進行保密通信時,信息接收者只有知道對應的密鑰才可以解密該信息。
數字簽名:數字簽名技術可以代替傳統的手寫簽名,而且從安全的角度考慮,數字簽名具有很好的防偽造功能。在政府機關、軍事領域、商業領域有廣泛的應用環境。
秘密共享:秘密共享技術是指將一個秘密信息利用密碼技術分拆成n個稱為共享因子的信息,分發給n個成員,只有k(k≤n)個合法成員的共享因子才可以恢復該秘密信息,其中任何一個或m(m≤k)個成員合作都不知道該秘密信息。利用秘密共享技術可以控制任何需要多個人共同控制的秘密信息、命令等。
認證功能:在公開的信道上進行敏感信息的傳輸,採用簽名技術實現對消息的真實性、完整性進行驗證,通過驗證公鑰證書實現對通信主體的身份驗證。
密鑰管理:密鑰是保密系統中更為脆弱而重要的環節,公鑰密碼體制是解決密鑰管理工作的有力工具;利用公鑰密碼體制進行密鑰協商和產生,保密通信雙方不需要事先共享秘密信息;利用公鑰密碼體制進行密鑰分發、保護、密鑰託管、密鑰恢復等。
基於公鑰密碼體制可以實現以上通用功能以外,還可以設計實現以下的系統:安全電子商務系統、電子現金系統、電子選舉系統、電子招投標系統、電子彩票系統等。
公鑰密碼體制的產生是密碼學由傳統的政府、軍事等應用領域走向商用、民用的基礎,同時互聯網、電子商務的發展為密碼學的發展開辟了更為廣闊的前景。
加密演算法的未來 隨著計算方法的改進,計算機運行速度的加快,網路的發展,越來越多的演算法被破解。
在2004年國際密碼學會議(Crypto』2004)上,來自中國山東大學的王小雲教授做的破譯MD5、HAVAL-128、MD4和RIPEMD演算法的報告,令在場的國際頂尖密碼學專家都為之震驚,意味著這些演算法將從應用中淘汰。隨後,SHA-1也被宣告被破解。
歷史上有三次對DES有影響的攻擊實驗。1997年,利用當時各國 7萬台計算機,歷時96天破解了DES的密鑰。1998年,電子邊境基金會(EFF)用25萬美元製造的專用計算機,用56小時破解了DES的密鑰。1999年,EFF用22小時15分完成了破解工作。因此。曾經有過卓越貢獻的DES也不能滿足我們日益增長的需求了。
最近,一組研究人員成功的把一個512位的整數分解因子,宣告了RSA的破解。
我們說數據的安全是相對的,可以說在一定時期一定條件下是安全的,隨著硬體和網路的發展,或者是另一個王小雲的出現,目前的常用加密演算法都有可能在短時間內被破解,那時我們不得不使用更長的密鑰或更加先進的演算法,才能保證數據的安全,因此加密演算法依然需要不斷發展和完善,提供更高的加密安全強度和運算速度。
縱觀這兩種演算法一個從DES到3DES再到AES,一個從RSA到ECC。其發展角度無不是從密鑰的簡單性,成本的低廉性,管理的簡易性,演算法的復雜性,保密的安全性以及計算的快速性這幾個方面去考慮。因此,未來演算法的發展也必定是從這幾個角度出發的,而且在實際操作中往往把這兩種演算法結合起來,也需將來一種集兩種演算法優點於一身的新型演算法將會出現,到那個時候,電子商務的實現必將更加的快捷和安全。