監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

云oa管理維護(hù)技巧:軟件加密的最高境界

申請免費(fèi)試用、咨詢電話:400-8352-114

下面要講的是云OA系統(tǒng)維護(hù)技巧之加密的最高境界。我們的經(jīng)驗(yàn)來看,某種加密方式,不論它在剛出現(xiàn)時(shí)宣稱有多么牢不可破,隨著時(shí)間的遷移,它總會暴露出弱點(diǎn),從一個(gè)強(qiáng)大的加密方式變成一個(gè)較弱的加密方式。而如今人們在使用目前流行的加密方式時(shí),也有這樣的憂慮,擔(dān)心某一天會有一種捷徑出現(xiàn),使得目前所使用的看似無懈可擊的加密手段在可控的時(shí)間內(nèi)就被暴力破解。


就算目前所使用的那些還沒有被破解的加密方式,在不斷升級的CPU時(shí)鐘頻率前提下,暴力破解所需的時(shí)間也越來越短了。比如幾個(gè)月前需要耗時(shí)一年才能破解的密碼,以現(xiàn)在的計(jì)算速度來看,可能只需要七八個(gè)月就可以完成了。正因?yàn)橛?jì)算速度越來越快,使得我們通過暴力手段破解密碼的時(shí)間大大縮短了。


就算是以難以通過暴力方式破解為目的構(gòu)建的更復(fù)雜更聰明的加密算法,在未來某天,也不可避免的會步那些已經(jīng)被證明不夠安全的加密算法的后塵。這就好像是冷戰(zhàn)時(shí)期的軍備競賽,一方想竭力保護(hù)隱私,另一方卻竭力窺探隱私。


在加密算法的發(fā)展過程中,有很多算法都已經(jīng)被破解或被證明不夠安全,唯有一種加密算法一直存在了93年。這種算法叫做一次性密鑰(one-time pad)。在1917年, Gilbert Vernam開發(fā)了一種叫做Vernam Cipher 的加密方法,使用電傳技術(shù),通過打有密鑰的紙帶進(jìn)行數(shù)據(jù)加密和解密。結(jié)果便出現(xiàn)了當(dāng)時(shí)最強(qiáng)的對稱加密技術(shù)。


美國陸軍上尉Joseph Mauborgne注意到,這是真正隨機(jī)產(chǎn)生的密鑰,不會有任何重復(fù)的可能,因此Vernam cipher可以做到更強(qiáng)大的效果。于是,基于紙帶密鑰的方法,在一沓紙上印有隨即字母或數(shù)字,作為密鑰的加密算法出現(xiàn)了。相同的一沓紙可以給兩個(gè)人用,每個(gè)頁面上的每個(gè)字符只能用一次(每張紙上的字符或數(shù)字用完,則銷毀該密碼紙),這種方式可以避免敵人通過枚舉法暴力破解信息。由于這種分法密鑰流數(shù)據(jù)的技術(shù)是基于可銷毀的紙張的,因此也被認(rèn)為是一次性密鑰。


信息理論之父Claude Shannon曾經(jīng)通過數(shù)學(xué)方法,證明這種一次性密鑰如果使用得當(dāng),是無法被破解的,而所謂的使用得當(dāng),是指及時(shí)銷毀所使用的密鑰頁,即使對方拿到了密碼本的其余部分,也無法進(jìn)行解密。同樣的理念也可以用于數(shù)字系統(tǒng),但是要確保計(jì)算機(jī)具有足夠的安全措施以及全面的考慮,防止黑客入侵一次性密鑰系統(tǒng)。比如,一些昂貴的數(shù)據(jù)恢復(fù)系統(tǒng)會將已刪除的文件恢復(fù),其中就有可能恢復(fù)那些一次性的密鑰文件。因此如果使用數(shù)字化的一次性密鑰系統(tǒng),就要確保所刪除的密鑰文件是被徹底刪除,無法恢復(fù)的。


一次性密鑰加密方式有時(shí)候非常不方便,因此現(xiàn)在很少有人在用這種加密方式。而正是由于這種不便性,我們實(shí)際需要的是一些理論上有些弱的加密方式,比如AES/Rijndael 以及Twofish 。一次密鑰的不方便性在于:


由于一次性密鑰是一種對稱加密方式,進(jìn)行加密通信的雙方需要擁有完全一樣的密鑰數(shù)據(jù)。而在某些環(huán)境下,這種條件是無法實(shí)現(xiàn)的,因?yàn)橐胱岆p方都擁有這個(gè)密鑰,就意味著必須有一種足夠安全的方式讓雙方共享或傳遞密鑰數(shù)據(jù),而如果有了這樣的安全環(huán)境,也就不需要再使用一次性密鑰了。而一般來說通過物理方式傳遞密鑰(比如親手交給對方)才能實(shí)現(xiàn)一次性密鑰的優(yōu)勢。


一次性密鑰必須和所加密內(nèi)如一樣長。這意味著,如果你要對一個(gè)3GB的文件進(jìn)行加密,就需要有一個(gè)3GB的一次性密鑰。


相同的一次性密鑰只能在兩人間保存,如果超過兩人知曉這個(gè)密鑰,就不再安全了。比如,如果在多個(gè)人之間傳送不同的信息,并且不能讓接受者獲知其它人所接受的信息內(nèi)容,只用一個(gè)相同的密鑰是完全達(dá)不到加密效果的。相反,如果采用非對稱的加密方式,我們就只需提供一個(gè)唯一的公鑰給人們,每個(gè)人都通過自己的私鑰對數(shù)據(jù)進(jìn)行加密解密,他們彼此之間是無法獲知對方所加密的信息內(nèi)容的,除非私鑰被盜取或者通過日益強(qiáng)大的計(jì)算機(jī)系統(tǒng)經(jīng)過暴力破解出來。這是因?yàn)楫?dāng)信息被公鑰加密后,只有相關(guān)的私鑰才可以將其解密。


重復(fù)使用一次性密鑰存在潛在的安全風(fēng)險(xiǎn),因?yàn)樗媾R著已知明文漏洞。Kerckhoffs的理論是,保證一次性密鑰系統(tǒng)安全的前提是保證密鑰安全,但是在米加密信息和明文信息共存的時(shí)候,可以倒推出這個(gè)一次性密鑰。當(dāng)然,如果每一段密鑰都僅使用一次,那么安全性仍然沒有問題,因?yàn)榧词?ldquo;敵人”同時(shí)獲取了秘文和明文,并破解出了密鑰,那這段密鑰也是已經(jīng)被遺棄的密鑰,對于其它信息的破譯毫無用處。而如果密鑰被重復(fù)利用,那么以獲取的明文信息就可以成為破解新加密信息的一個(gè)重要工具。這就是為什么這種加密系統(tǒng)被稱為“一次性”密鑰系統(tǒng)。


當(dāng)使用過一次性密鑰后,不能再使用這個(gè)密鑰對其它要發(fā)送的數(shù)據(jù)進(jìn)行加密。如果通信的雙方分別位于地球的兩端,那么這種通信方式會讓人抓狂。


另外還有其它一些因素也使得一次性密鑰系統(tǒng)在某些環(huán)境下變得毫無實(shí)用性。但是這也給了我們一個(gè)理論知識,讓我們能明白那些理論上較弱的密鑰系統(tǒng)為什么還那么重要。

一次性密鑰系統(tǒng)的工作方式很簡單。它只是簡單的對兩組數(shù)據(jù)進(jìn)行運(yùn)算,比如兩個(gè)字母或兩個(gè)數(shù)字,并通過運(yùn)算得出新的加密數(shù)據(jù)。而這個(gè)運(yùn)算是針對待加密數(shù)據(jù)中的每一位數(shù)據(jù)的。運(yùn)算過程很簡單,一次一位數(shù)據(jù)。比如 XOR運(yùn)算就可以用來進(jìn)行這樣的加密。我們舉個(gè)最簡單的例子,使用XOR運(yùn)算對二進(jìn)制數(shù)列進(jìn)行加密:


首先,你需要一段信息。假設(shè)我們把“short”這個(gè)詞作為信息,它確實(shí)不長。


接下來把這段信息轉(zhuǎn)換成二進(jìn)制形式。我們可以使用ASCII編碼來轉(zhuǎn)換 “short”這個(gè)詞,轉(zhuǎn)換后會得到下面這一串二進(jìn)制信息:


0111001101101000011011110111001001110100


接下來你需要一個(gè)和上面二進(jìn)制串長度完全一致的密鑰。在這個(gè)例子中,我們可以使用下面這串二進(jìn)制字符作為密鑰:


5. 0110010101101010001110010010011101100100


最后,我們將這兩組字符串進(jìn)行XOR 運(yùn)算,基本上就是一個(gè)簡單的減法。也就是說,信息中第一個(gè)字符是0,密鑰的第一個(gè)字符也是0,那么0 - 0 = 0。同樣,信息中第二個(gè)字符是1,密鑰的第二個(gè)字符也是1, 1 - 1 = 0。接下來都是這樣計(jì)算,計(jì)算中除了0外,還可能出現(xiàn)1 或 -1。此時(shí)對結(jié)果取絕對值,即不論1還是-1,均作為1。其運(yùn)算過程和結(jié)果如下:


7. 0111001101101000011011110111001001110100


8. 0110010101101010001110010010011101100100


----------------------------------------


10. 0001011000000010010101100101010100010000


當(dāng)然,由于我們對結(jié)果的二進(jìn)制串沒有進(jìn)行ASCII轉(zhuǎn)換,因此很難看出它到底被加密成了什么樣子。在電腦上進(jìn)行ASCII編碼很容易,手動編碼則很麻煩,而對于數(shù)字編碼,通過手動編碼還是比較容易的。


一次性密鑰系統(tǒng)的核心算法顯然是相當(dāng)簡單的。只要圍繞這個(gè)核心算法,設(shè)計(jì)加密軟件的其余部分,并找到合適的密鑰使用方法,那么這個(gè)新的加密軟件就是真正安全的。換句話說,如果要找一個(gè)絕對安全有效不可能被破解的加密方式,那么只有使用一次性密鑰系統(tǒng)了,前提是正確的使用它,即密鑰只使用一次。
 

【推薦閱讀】

云oa系統(tǒng)管理專區(qū)

解析云oa系統(tǒng)管理與BSM:IT部門的ERP

云oa系統(tǒng)管理系統(tǒng)是云oa系統(tǒng)部門績效考核的關(guān)鍵

BTIM運(yùn)維管理核心思想淺析

網(wǎng)管軟件專區(qū)

本文來自互聯(lián)網(wǎng),僅供參考
發(fā)布:2007-04-18 11:11    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
網(wǎng)上辦公軟件
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普云OA辦公其他應(yīng)用

OA辦公軟件系統(tǒng) 高級辦公軟件 企業(yè)OA辦公系統(tǒng) 網(wǎng)絡(luò)辦公系統(tǒng) 無紙化辦公系統(tǒng) 自動化辦公軟件 手機(jī)OA辦公系統(tǒng) 手機(jī)日程管理軟件 移動OA辦公系統(tǒng) 云OA辦公 微信OA系統(tǒng)