前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇加密技術論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
一:數據加密方法
在傳統上,我們有幾種方法來加密數據流。所有這些方法都可以用軟件很容易的實現,但是當我們只知道密文的時候,是不容易破譯這些加密算法的(當同時有原文和密文時,破譯加密算法雖然也不是很容易,但已經是可能的了)。最好的加密算法對系統性能幾乎沒有影響,并且還可以帶來其他內在的優點。例如,大家都知道的pkzip,它既壓縮數據又加密數據。又如,dbms的一些軟件包總是包含一些加密方法以使復制文件這一功能對一些敏感數據是無效的,或者需要用戶的密碼。所有這些加密算法都要有高效的加密和解密能力。
幸運的是,在所有的加密算法中最簡單的一種就是“置換表”算法,這種算法也能很好達到加密的需要。每一個數據段(總是一個字節)對應著“置換表”中的一個偏移量,偏移量所對應的值就輸出成為加密后的文件。加密程序和解密程序都需要一個這樣的“置換表”。事實上,80x86cpu系列就有一個指令‘xlat’在硬件級來完成這樣的工作。這種加密算法比較簡單,加密解密速度都很快,但是一旦這個“置換表”被對方獲得,那這個加密方案就完全被識破了。更進一步講,這種加密算法對于黑客破譯來講是相當直接的,只要找到一個“置換表”就可以了。這種方法在計算機出現之前就已經被廣泛的使用。
對這種“置換表”方式的一個改進就是使用2個或者更多的“置換表”,這些表都是基于數據流中字節的位置的,或者基于數據流本身。這時,破譯變的更加困難,因為黑客必須正確的做幾次變換。通過使用更多的“置換表”,并且按偽隨機的方式使用每個表,這種改進的加密方法已經變的很難破譯。比如,我們可以對所有的偶數位置的數據使用a表,對所有的奇數位置使用b表,即使黑客獲得了明文和密文,他想破譯這個加密方案也是非常困難的,除非黑客確切的知道用了兩張表。
與使用“置換表”相類似,“變換數據位置”也在計算機加密中使用。但是,這需要更多的執行時間。從輸入中讀入明文放到一個buffer中,再在buffer中對他們重排序,然后按這個順序再輸出。解密程序按相反的順序還原數據。這種方法總是和一些別的加密算法混合使用,這就使得破譯變的特別的困難,幾乎有些不可能了。例如,有這樣一個詞,變換起字母的順序,slient可以變為listen,但所有的字母都沒有變化,沒有增加也沒有減少,但是字母之間的順序已經變化了。
但是,還有一種更好的加密算法,只有計算機可以做,就是字/字節循環移位和xor操作。如果我們把一個字或字節在一個數據流內做循環移位,使用多個或變化的方向(左移或右移),就可以迅速的產生一個加密的數據流。這種方法是很好的,破譯它就更加困難!而且,更進一步的是,如果再使用xor操作,按位做異或操作,就就使破譯密碼更加困難了。如果再使用偽隨機的方法,這涉及到要產生一系列的數字,我們可以使用fibbonaci數列。對數列所產生的數做模運算(例如模3),得到一個結果,然后循環移位這個結果的次數,將使破譯次密碼變的幾乎不可能!但是,使用fibbonaci數列這種偽隨機的方式所產生的密碼對我們的解密程序來講是非常容易的。
在一些情況下,我們想能夠知道數據是否已經被篡改了或被破壞了,這時就需要產生一些校驗碼,并且把這些校驗碼插入到數據流中。這樣做對數據的防偽與程序本身都是有好處的。但是感染計算機程序的病毒才不會在意這些數據或程序是否加過密,是否有數字簽名。所以,加密程序在每次load到內存要開始執行時,都要檢查一下本身是否被病毒感染,對與需要加、解密的文件都要做這種檢查!很自然,這樣一種方法體制應該保密的,因為病毒程序的編寫者將會利用這些來破壞別人的程序或數據。因此,在一些反病毒或殺病毒軟件中一定要使用加密技術。
循環冗余校驗是一種典型的校驗數據的方法。對于每一個數據塊,它使用位循環移位和xor操作來產生一個16位或32位的校驗和,這使得丟失一位或兩個位的錯誤一定會導致校驗和出錯。這種方式很久以來就應用于文件的傳輸,例如xmodem-crc。這是方法已經成為標準,而且有詳細的文檔。但是,基于標準crc算法的一種修改算法對于發現加密數據塊中的錯誤和文件是否被病毒感染是很有效的。
二.基于公鑰的加密算法
一個好的加密算法的重要特點之一是具有這種能力:可以指定一個密碼或密鑰,并用它來加密明文,不同的密碼或密鑰產生不同的密文。這又分為兩種方式:對稱密鑰算法和非對稱密鑰算法。所謂對稱密鑰算法就是加密解密都使用相同的密鑰,非對稱密鑰算法就是加密解密使用不同的密鑰。非常著名的pgp公鑰加密以及rsa加密方法都是非對稱加密算法。加密密鑰,即公鑰,與解密密鑰,即私鑰,是非常的不同的。從數學理論上講,幾乎沒有真正不可逆的算法存在。例如,對于一個輸入‘a’執行一個操作得到結果‘b’,那么我們可以基于‘b’,做一個相對應的操作,導出輸入‘a’。在一些情況下,對于每一種操作,我們可以得到一個確定的值,或者該操作沒有定義(比如,除數為0)。對于一個沒有定義的操作來講,基于加密算法,可以成功地防止把一個公鑰變換成為私鑰。因此,要想破譯非對稱加密算法,找到那個唯一的密鑰,唯一的方法只能是反復的試驗,而這需要大量的處理時間。
rsa加密算法使用了兩個非常大的素數來產生公鑰和私鑰。即使從一個公鑰中通過因數分解可以得到私鑰,但這個運算所包含的計算量是非常巨大的,以至于在現實上是不可行的。加密算法本身也是很慢的,這使得使用rsa算法加密大量的數據變的有些不可行。這就使得一些現實中加密算法都基于rsa加密算法。pgp算法(以及大多數基于rsa算法的加密方法)使用公鑰來加密一個對稱加密算法的密鑰,然后再利用一個快速的對稱加密算法來加密數據。這個對稱算法的密鑰是隨機產生的,是保密的,因此,得到這個密鑰的唯一方法就是使用私鑰來解密。
我們舉一個例子:假定現在要加密一些數據使用密鑰‘12345’。利用rsa公鑰,使用rsa算法加密這個密鑰‘12345’,并把它放在要加密的數據的前面(可能后面跟著一個分割符或文件長度,以區分數據和密鑰),然后,使用對稱加密算法加密正文,使用的密鑰就是‘12345’。當對方收到時,解密程序找到加密過的密鑰,并利用rsa私鑰解密出來,然后再確定出數據的開始位置,利用密鑰‘12345’來解密數據。這樣就使得一個可靠的經過高效加密的數據安全地傳輸和解密。
一些簡單的基于rsa算法的加密算法可在下面的站點找到:
ftp://ftp.funet.fi/pub/crypt/cryptography/asymmetric/rsa
三.一個嶄新的多步加密算法
現在又出現了一種新的加密算法,據說是幾乎不可能被破譯的。這個算法在1998年6月1日才正式公布的。下面詳細的介紹這個算法:
使用一系列的數字(比如說128位密鑰),來產生一個可重復的但高度隨機化的偽隨機的數字的序列。一次使用256個表項,使用隨機數序列來產生密碼轉表,如下所示:
把256個隨機數放在一個距陣中,然后對他們進行排序,使用這樣一種方式(我們要記住最初的位置)使用最初的位置來產生一個表,隨意排序的表,表中的數字在0到255之間。如果不是很明白如何來做,就可以不管它。但是,下面也提供了一些原碼(在下面)是我們明白是如何來做的。現在,產生了一個具體的256字節的表。讓這個隨機數產生器接著來產生這個表中的其余的數,以至于每個表是不同的。下一步,使用"shotguntechnique"技術來產生解碼表。基本上說,如果a映射到b,那么b一定可以映射到a,所以b[a[n]]=n.(n是一個在0到255之間的數)。在一個循環中賦值,使用一個256字節的解碼表它對應于我們剛才在上一步產生的256字節的加密表。
使用這個方法,已經可以產生這樣的一個表,表的順序是隨機,所以產生這256個字節的隨機數使用的是二次偽隨機,使用了兩個額外的16位的密碼.現在,已經有了兩張轉換表,基本的加密解密是如下這樣工作的。前一個字節密文是這個256字節的表的索引。或者,為了提高加密效果,可以使用多余8位的值,甚至使用校驗和或者crc算法來產生索引字節。假定這個表是256*256的數組,將會是下面的樣子:
crypto1=a[crypto0][value]
變量''''crypto1''''是加密后的數據,''''crypto0''''是前一個加密數據(或著是前面幾個加密數據的一個函數值)。很自然的,第一個數據需要一個“種子”,這個“種子”是我們必須記住的。如果使用256*256的表,這樣做將會增加密文的長度。或者,可以使用你產生出隨機數序列所用的密碼,也可能是它的crc校驗和。順便提及的是曾作過這樣一個測試:使用16個字節來產生表的索引,以128位的密鑰作為這16個字節的初始的"種子"。然后,在產生出這些隨機數的表之后,就可以用來加密數據,速度達到每秒鐘100k個字節。一定要保證在加密與解密時都使用加密的值作為表的索引,而且這兩次一定要匹配。
加密時所產生的偽隨機序列是很隨意的,可以設計成想要的任何序列。沒有關于這個隨機序列的詳細的信息,解密密文是不現實的。例如:一些ascii碼的序列,如“eeeeeeee"可能被轉化成一些隨機的沒有任何意義的亂碼,每一個字節都依賴于其前一個字節的密文,而不是實際的值。對于任一個單個的字符的這種變換來說,隱藏了加密數據的有效的真正的長度。
如果確實不理解如何來產生一個隨機數序列,就考慮fibbonacci數列,使用2個雙字(64位)的數作為產生隨機數的種子,再加上第三個雙字來做xor操作。這個算法產生了一系列的隨機數。算法如下:
unsignedlongdw1,dw2,dw3,dwmask;
inti1;
unsignedlongarandom[256];
dw1={seed#1};
dw2={seed#2};
dwmask={seed#3};
//thisgivesyou332-bit"seeds",or96bitstotal
for(i1=0;i1<256;i1++)
{
dw3=(dw1+dw2)^dwmask;
arandom[i1]=dw3;
dw1=dw2;
dw2=dw3;
}
如果想產生一系列的隨機數字,比如說,在0和列表中所有的隨機數之間的一些數,就可以使用下面的方法:
int__cdeclmysortproc(void*p1,void*p2)
{
unsignedlong**pp1=(unsignedlong**)p1;
unsignedlong**pp2=(unsignedlong**)p2;
if(**pp1<**pp2)
return(-1);
elseif(**pp1>*pp2)
return(1);
return(0);
}
...
inti1;
unsignedlong*aprandom[256];
unsignedlongarandom[256];//samearrayasbefore,inthiscase
intaresult[256];//resultsgohere
for(i1=0;i1<256;i1++)
{
aprandom[i1]=arandom+i1;
}
//nowsortit
qsort(aprandom,256,sizeof(*aprandom),mysortproc);
//finalstep-offsetsforpointersareplacedintooutputarray
for(i1=0;i1<256;i1++)
{
aresult[i1]=(int)(aprandom[i1]-arandom);
}
...
變量''''aresult''''中的值應該是一個排過序的唯一的一系列的整數的數組,整數的值的范圍均在0到255之間。這樣一個數組是非常有用的,例如:對一個字節對字節的轉換表,就可以很容易并且非常可靠的來產生一個短的密鑰(經常作為一些隨機數的種子)。這樣一個表還有其他的用處,比如說:來產生一個隨機的字符,計算機游戲中一個物體的隨機的位置等等。上面的例子就其本身而言并沒有構成一個加密算法,只是加密算法一個組成部分。
作為一個測試,開發了一個應用程序來測試上面所描述的加密算法。程序本身都經過了幾次的優化和修改,來提高隨機數的真正的隨機性和防止會產生一些短的可重復的用于加密的隨機數。用這個程序來加密一個文件,破解這個文件可能會需要非常巨大的時間以至于在現實上是不可能的。
四.結論:
由于在現實生活中,我們要確保一些敏感的數據只能被有相應權限的人看到,要確保信息在傳輸的過程中不會被篡改,截取,這就需要很多的安全系統大量的應用于政府、大公司以及個人系統。數據加密是肯定可以被破解的,但我們所想要的是一個特定時期的安全,也就是說,密文的破解應該是足夠的困難,在現實上是不可能的,尤其是短時間內。
參考文獻:
1.pgp!/
cyberknights(newlink)/cyberkt/
(oldlink:/~merlin/knights/)
2.cryptochamberjyu.fi/~paasivir/crypt/
3.sshcryptographa-z(includesinfoonsslandhttps)ssh.fi/tech/crypto/
4.funet''''cryptologyftp(yetanotherfinlandresource)ftp://ftp.funet.fi/pub/crypt/
agreatenigmaarticle,howthecodewasbrokenbypolishscientists
/nbrass/1enigma.htm
5.ftpsiteinukftp://sable.ox.ac.uk/pub/crypto/
6.australianftpsiteftp://ftp.psy.uq.oz.au/pub/
7.replayassociatesftparchiveftp://utopia.hacktic.nl/pub/replay/pub/crypto/
8.rsadatasecurity(whynotincludethemtoo!)/
1.1硬件方面的安全問題
(1)芯片陷阱。在計算機中所利用到的芯片,通常具備秘密功能,而且這些秘密功能很難讓人察覺。在國外,對于我國所使用的CPU集成了病毒指令及陷阱指令。他們能夠通過對無線代碼的利用,從而使CPU等內部指令得到有效激活,進一步導致內部信息發生外泄,最終導致計算機癱瘓而無法正常運行。
(2)電磁泄漏。計算機在運行過程中,會輻射出巨大的電磁脈沖,惡意破壞者則通過對計算機輻射的電磁波進行接收,進一步通過復原獲取計算機中的信息數據。
(3)硬件故障。在計算機存儲器硬件遭遇損壞的情況下,便會導致所存儲的數據無法有效讀取出來。
1.2軟件方面的安全問題
(1)竊聽。主要指的是資料數據在進行網絡傳輸過程當中,被第三方非法獲取,從而造成資料數據的流失。對于企業而言,遭遇竊聽則會泄漏公司機密,從而使企業造成不可估量的經濟損失。
(2)病毒入侵。主要指的是電腦病毒,對于電腦病毒來說,能夠進行自行復制,從而對應用軟件進行更換,并且還可以更改資料或刪除文檔。
(3)網絡釣魚。通過或者仿冒網絡商店的構建,從而獲取網民的信息資料,進一步造成網民個人信息泄露或直接的經濟損失。
(4)偽裝及篡改。在“偽裝”方面,主要指的是攻擊者偽裝成合法的使用者,從而輕而易舉地獲取使用權限。在“篡改”方面主要指的是資料被篡改,比如儲存或者處于傳輸過程中的資料被篡改,那么這些資料的完整性便遭遇損壞,同時這些資料的安全性也失去了可靠性及安全性。
二、計算機安全常見問題的防御對策探究
1、加固技術
使用加固技術可以使計算機硬件的安全性得到有效提升。涵蓋了防腐加固、溫度環境加固、密封加固及防震加固等。對于加固技術中的防輻射加固來說,是將計算機各方面的硬件,比如電源、硬盤、芯片等均進行屏蔽,從而使電磁波輻射現象的發生實現有效避免。當然,對于計算機硬件方面的工作,除了加固技術外,還需具體情況具體分析,比如為了使數據存儲的安全性得到有效提升,便可以使用數據備份的方面,把有用的數據進行定期復制,并進一步加以保存。
2、加密技術
為了使信息竊取實現有效避免,便可以采取加密技術。該項技術主要分為兩類,一類為對稱加密技術,另一類為非對稱加密技術。其中,對于對稱加密技術來說,主要是指信息的發送方與接收方使用同一各密鑰進行加密及解密數據。非對稱加密技術即為公鑰加密,通過一對密鑰的利用,以分別的方式進行加密與解密數據。
3、認證技術
對于認證技術來說,主要是指通過電子手段的加以利用,以此證明發送者與接受者身份的一種技術,同時該項技術還能夠辨識文件的完整性。也就是說,能夠辨識出數據在傳輸過程中是否被篡改或非法存儲等。認證技術分為兩類,一類為數字簽名,另一類為數字證書。其中,數字簽名又稱之為電子簽名,主要是將數字簽名當作報文發送給接收者。對于用戶來說,可以通過安全可靠的方法向相關部門提交資金的公鑰,從而獲取證書,進一步用戶便具備公開此項證書的合法權益。對于需要用戶公鑰的人,均能夠獲取此項證書,并且通過相關合法協議的簽訂,從而使公鑰的有效性得到證實。對于數字證書來說,將交易各方的身份信息逐一標識出來,進一步提供出驗證各身份的方法,如此一來用戶便能夠使用這些方法對對方的身份進行有效識別。
三、結語
了對于藍牙加密算法所存在的問題的解決方案。
關鍵字藍牙流加密分組加密DESAES
1引言
隨著計算機網絡技術的迅速發展,網絡中的信息安全問題越來越受到廣泛關注。信息安全主要涉及到用戶身份驗證、訪問控制、數據完整性、數據加密等問題。網絡安全產品大量涌現。雖然各種網絡安全產品的功能多種多樣,但它們無一例外地要使用加密技術。一個好的加密算法首先表現在它的安全性上,一個不安全的算法會使使用它的網絡變得更加脆弱;其次要考慮它在軟硬件方面實現的難易度,不易實現的加密算法是不現實的;第三要看使用此加密算法會不會降低數據傳輸速率。
藍牙技術是一種新興的無線網絡標準,它基于芯片提供短距離范圍的無線跳頻通信。它注定會成為一項通用的低成本無線技術,可適用于一系列范圍廣泛的數據通信應用。藍牙標準定義了一系列安全機制,從而為近距離無線通信提供了基本的保護。它要求每個藍牙設備都要實現密鑰管理、認證以及加密等功能。此外藍牙技術所采用的跳頻數據通信方式本身也是一個防止竊聽的有效安全手段。藍牙加密過程中所用到的加密算法是E0流密碼。但是這種算法存在有一些缺點,128位密鑰長度的E0流加密在某些情況下可通過0(2^64)方式破解。所以對于大多數需要將保密放在首位來考慮的應用來說,僅僅采用藍牙提供的數據安全性是不夠的。
2藍牙標準中的安全措施
藍牙技術中,物理層數據的安全性主要是采用了跳頻擴展頻譜,由于藍牙技術采用了跳頻技術從而使得竊聽變得極困難。藍牙射頻工作在2.4Hz頻段。在北美和歐洲的大部分國家,藍牙設備工作與從2.402到2.480Hz的頻帶,整個頻帶被分為79個1MHz帶寬的子信道。FHSS依靠頻率的變化來對抗干擾。如果射頻單元在某個頻率遇到干擾,則會在下一步跳到另一頻率點時重傳受到干擾的信號,因此總的干擾可變得很低。
為了得到完整的傳輸數據,藍牙技術使用以下三種糾錯方案:1/3比例前向糾錯碼(FEC),2/3比例前向糾錯碼(FEC),數據的自動重發請求(ARQ)方案。
藍牙技術產品的認證和加密服務一般由鏈路層提供,認證采用口令-應答方式進行。在連接過程中往往需要一兩次認證。為了確保通信安全,對藍牙技術產品進行認證是十分必要的,通過認證之后,可以允許用戶自行增添可信任的藍牙技術設備,例如,用戶自己的筆記本電腦經過認證之后,能夠確保只有用戶自己的這臺筆記本電腦,才可以借助用戶自己的移動電話手機進行通信。
若對于通信有更高的安全要求,那么通信中的藍牙技術產品就不必局限于采用物理層的提供,還可以采用更高級別的傳輸層和應用層安全機制,以確保基于藍牙技術產品的通信更加安全可靠。
3藍牙技術中的加密算法
在鏈路層中,藍牙系統提供了認證、加密和密鑰管理等功能,每一個用戶都有一個標識碼(PIN),藍牙設備中所用的PIN碼的長度可以在1到16個字節之間變化。通常4個字節的PIN碼已經可以滿足一般應用,但是更高安全級別的應用將需要更長的碼字。PIN碼可以是藍牙設備提供的一個固定碼,也可以由用戶任意指定,標識碼(PIN)會被一個128位鏈路密鑰來進行單雙向認證。一旦認證完畢,鏈路層會以不同長度的密鑰來加密。如圖1。
PINPIN
認證
鏈路密鑰
鏈路密鑰
加密
加密密鑰Kc
加密密鑰Kc
申請者校驗者
圖1:藍牙中鏈路層的加密過程
藍牙技術在加密過程中所采用的加密算法如下表1。
表1:藍牙加密過程中所用的加密算法
3.1認證算法
在認證過程中,用于藍牙認證的E1認證函數來計算出一個安全認證碼或被稱為MAC(媒體訪問控制地址)。E1所采用的算法是SAFER+,SAFER+算法是參與1997年美國國家標準技術研究所(NIST)征集AES(AdvancedEncryptionStandard)的候選算法之一。SAFER+是基于現有的64位分組密碼的SAFER-SK128,因此它的安全性可以說是經過了時間的考驗。
E1函數的輸入是linkkey,AU_RAND及BD_ADDR,它的定義如下:
E1:
在藍牙技術中,認證采用口令-應答方式。驗證方要求申請者鑒別隨機數AU_RAND并返回計算結果SRES,若雙方的計算結果相等則認證成功,并保留ACO(AuthenticatedCipheringOffset)值。若某次認證失敗,則必須等待一定的時間間隔才能進行再次認證
3.2加密算法
在藍牙技術中,用戶信息可采用分組有效載荷的加密進行保護,但識別碼和分組頭不加密。有效載荷的加密采用E0流密碼來實現。E0將對每一有效載荷重新同步。流密碼系統E0由三部分組成。第一部分執行初始化(生成有效載荷字),第二部分生成密鑰流,第三部分完成加密和解密,如圖2。
有效載荷字明碼文本/密碼文本
Kc
地址
時鐘Z密碼文本/明碼文本
RAND
圖2藍牙的E0流加密
有效載荷字發生器非常簡單,它僅僅以適當序列對輸入的位進行組合,然后將它們轉移到用于密鑰流發生器的四位LFSR中。加密機采用了四個線性反饋移位寄存器(LFSR),依次為LFSR1、LFSR2、LFSR3、LFSR4,其長度分別為25,31,33,39比特。LFSR的性質:加密機把四個LFSR的輸出結果輸入到一個有限狀態機中,經有限狀態機的組合運算輸出密鑰流序列,若在初始化階段則輸出一個隨機的初始化值。加密算法使用Kc、BD_ADDR、主時鐘CLK26-1及RAND這些參數。時鐘CLK26-1按時隙遞增,在任兩次發送中,CLK26-1至少有一位是不同的,因此在每次初始化后都將產生新的密鑰流。對占用多個時隙的分組來說,CLK26-1為分組所占的第一個時隙的時鐘值。
第二部分是該密碼系統的主要部分,并也將用于初始化過程中。密鑰流取自于Massey和Rueppel流密碼發生器的方法來生成。
最后就是流加密算法的加密過程。將數據流與密碼算法生成二進制流比特進行異或運算。對于加密規則,流密碼算法用于將加密位按位模2并加到數據流上,然后通過無線接口進行傳輸。對每一分組的有效載荷的加密是單獨進行的,它發生在CRC校驗之后,FEC編碼之前。由于加密是對稱的,解密使用完全和加密相同的密鑰和相同的方法實現。
4藍牙標準中加密算法存在的問題
藍牙所采用的E0流密碼算法的本身就有一些弱點。流密碼算法主要的缺點在于若一個偽隨機序列發生錯誤便會使整個密文發生錯誤,致使在解密過程中無法還原回明文。流加密算法系統的安全完全依靠密鑰流發生器的內部機制。如果它的輸出是無窮無盡的0序列,那么密文就是明文,這樣整個系統就一文不值;如果它的輸出是一個周期性的16-位模式,那么該算法僅是一個可忽略安全性的異或運算;如果輸出的是一系列無盡的隨機序列(是真正的隨機,非偽隨機),那么就有一次一密亂碼本和非常完美的安全。實際的流密碼算法的安全性依賴于簡單的異或運算和一次一密亂碼本。密鑰流發生器產生的看似隨機的密鑰流實際上是確定的,在解密的時候能很好的將其再現。密鑰流發生器輸出的密鑰越接近于隨機,對密碼分析者來說就越困難。然而,這種隨機的密鑰流卻不容易得到。
在藍牙E0流加密中用到的LFSR易受到相關攻擊和分割解決攻擊,且用軟件實現效率非常低。在實現過程中要避免稀疏的反饋多項式,因為它們易遭到相關攻擊,但稠密的反饋多項式效率也很低。事實上LFSR算法用軟件實現并不比DES快。
以上的這些問題會讓人認為藍牙的安全體系是高度不可靠的,然而一個不可忽略的事實是:通過藍牙連接傳輸的數據一般來說并不是非常重要的。目前藍牙標準考慮到的安全技術只適用于規模較小的網絡,如果網絡結點較多,拓撲復雜(如AdHoc網絡),現有的基于點對點的密鑰分配和認證機制不能滿足需求。藍牙所提供的數據安全性措施對小型應用來說看起來已足夠了,但任何敏感數據或會產生問題的數據都不應直接通過藍牙傳輸。為了使藍牙技術應用得更廣泛,我們可采用另外更強勁的加密算法,如DES算法。
5DES解決方案
5.1DES簡介
1977年1月,美國政府采納了由IBM研制的作為非絕密信息的正式標準乘積密碼。這激勵了一大批生產廠家實現這個在保密產業中成為數據加密標準DES(dataencrytionstandard)的加密算法。此算法有一個64比特的密鑰作為參數。明文按64比特分組加密,生成64比特的密文。
由于DES是一種塊加密方法,這意味著加密過程是針對一個數據塊一個數據塊地進行的。在DES算法中,原始信息被分成64位的固定長度數據塊,然后利用56位的加密密鑰通過置換和組合方法生成64位的加密信息。解密用的密鑰與加密密鑰相同,只是解密步驟正好相反。DES傳送數據的一般形式是以代入法密碼格式按塊傳送數據。DES采用的加密方法,一次加密一位或一個字節,形成密碼流。密碼流具有自同步的特點,被傳送的密碼文本中發生錯誤和數據丟失,將只影響最終的明碼文本的一小段(64位),這稱為密碼反饋。
與藍牙流密碼算法不同,數學上可以證明分組加密算法是完全安全的。DES塊密碼是高度隨機的、非線性的,生成的加密密文與明文和密鑰的每一位都相關。DES的可用加密密鑰數量多達72x1015個。應用于每一明文信息的密鑰都是從這一巨大數量的密鑰中隨機產生的。DES算法已被廣泛采用并被認為是非常可靠的。
5.2藍牙中用DES取代E0流密碼
如圖1,在兩個藍牙設備經過認證并已生成了加密密鑰Kc后就可進行加密了。因為Kc可在8~128比特變化,而DES加密算法使用長度為56比特的密鑰加密長度為64比特的明文從而獲得64比特的密文,所以這里可取Kc的長度為56比特。用DES加密藍牙數據分組的過程如下:
a)將來自藍牙分組分割成64比特的明文段。其中的一段記為x=DIN[63:0],先通過一個固定的初始置換IP,將x的比特置換為x0。即:x0=IP(x)=L0R0,這里L0是x0的前32比特,R0是x0的后32比特。
b)進行16輪完全相同的運算,在這里是數據與密鑰相結合,例計算LiRi,。
Li=Ri-1
Ri=Lif(Ri-1,Ki)
其中Ki是來自密鑰Kc=Key[63:0]的比特的一個置換結果。而f函數是實現代替、置換及密鑰異或的函數。
c)對R16L16進行初始置換IP的逆置換IP,獲得密文y=DOUT[63:0],即y=IP(R16L16)。最后一次迭代后,左邊和右邊未交換,將R16L16作為IP的輸入,目的是使算法可同時用于加密和解密。
無論是硬件還是軟件,此DES加密方案都易實現。其中DES的硬件實現如圖3。此硬件加密方案采用低成本的可編程邏輯器件和現成可用的用于高級加密處理的智力產權(IP)產品實現。目前,大批量時只用10美元即可購買到10萬系統門的可編程邏輯器件。這些器件還允許在設計中增加其它功能,如高級錯誤糾正。因此可編程邏輯器件可大幅度降低系統級的成本。
用軟件(這里選用C語言)來實現該加密算法。為了算法實現的方便,這里刪去了初始置換和末置換。
將此加密算法嵌入藍牙協議中的基帶部分以取代E0流密碼算法,可允許藍牙技術安全地應用到范圍廣泛的安全性具有最重要地位的應用中去。這些應用包括:金融電子交易:ATM、智能卡,安全電子商務交易,安全辦公通信,安全視頻監視系統,數字機頂盒,高清晰度電視(HDTV),其它消費電子設備等領域。
另外,對藍牙加密這個過程中,可發現DES加密算法在近距離無線局域網的特定環境下存在一些問題。進而優化算法,最終可為應用于各種近距離無線網絡通信的加密算法的選擇提供有實際意義的參考依據。
6結束語
藍牙是一項將會改變我們通信方式的令人激動的新技術。然而,藍牙技術在標準化過程中都未曾完整地考慮安全問題。作為以無線信道為傳輸媒體的通信網絡,藍牙網絡相對于固定網絡更容易受到攻擊。對于數據安全性處于首要地位的應用來說,實現高水平的數據安全性是必須的。目前藍牙標準所采用的E0流密碼算法存在著很多弊端,而DES和RSA算法相對來說更安全,而且較易實現。
參考文獻
[1]金純許光辰等編著《藍牙技術》[M](北京)電子工業出版社2001年3月
[2]于躍韓永飛藍牙技術的安全性[J]《電信技術》2001年第9期
[3]Andrew《ComputerNetwork》[M]S.TanenbaunPrenticeHall1998
[4]VainioJ.,BluetoothSecurity,05-25-2000
[5]Bluetooth,TheBluetoothSpecification,v.1.0B
/developer/specification/specification.asp
由于互聯網的開放性和通用性,網上的所有信息對所有人都是公開的,所以網絡上的信息安全問題也日益突出。近年來,因特網上的安全事故屢有發生。連入因特網的用戶面臨諸多的安全風險:拒絕服務、信息泄密、信息篡改、資源盜用、聲譽損害等等。這些安全風險的存在阻礙了計算機網絡的應用與發展。在網絡化、信息化的進程不可逆轉的形勢下,建立安全可靠的網絡信息系統是一種必然選擇。
數據加密技術是對信息進行重新編碼,從而達到隱藏信息內容,非法用戶無法獲得信息真實內容的一種技術手段。網絡中的數據加密則是通過對網絡中傳輸的信息進行數據加密,滿足網絡安全中數據加密、數據完整性等要求,而基于數據加密技術的數字簽名技術則可滿足審計追蹤等安全要求。可見,數據加密技術是實現網絡安全的關鍵技術。
二、數據加密相關信息
2.1數據加密的方法
加密技術通常分為兩大類:對稱式和非對稱式
對稱式加密,被廣泛采用,它的特點是文件加密和解密使用相同的密鑰,即加密密鑰也可以用作解密密鑰,這種方法在密碼學中叫做對稱加密算法,對稱加密算法使用起來簡單快捷,密鑰較短,且破譯困難。對稱加密的優點是具有很高的保密強度,可以達到經受較高級破譯力量的分析和攻擊,但它的密鑰必須通過安全可靠的途徑傳遞,密鑰管理成為影響系統安全的關鍵性因素,使它難以滿足系統的開放性要求。對稱密碼加密算法中最著名的是DES(Data Encryption Standard)加密算法,它是由IBM公司開發的數據加密算法,它的核心是乘積變換。如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫非對稱加密算法。非對稱密碼的主要優點是可以適應開放性的使用環境,密鑰管理問題相對簡單,可以方便、安全地實現數字簽名和驗證, 但加密和解密花費時間長、速度慢。非對稱加密算法中最著名的是由美國MIT的Rivset、Shemir、Adleman于1977年實現的RSA算法。
2.2 數據加密的標準
最早、最著名的保密密鑰或對稱密鑰加密算法DES(Data Encryption Standard)是由IBM公司在70年展起來的,并經政府的加密標準篩選后,于1976年11月被美國政府采用,DES隨后被美國國家標準局和美國國家標準協會(American National Standard Institute,ANSI)承認。 DES使用56位密鑰對64位的數據塊進行加密,并對64位的數據塊進行16輪編碼。與每輪編碼時,一個48位的”每輪”密鑰值由56位的完整密鑰得出來。DES用軟件進行解碼需用很長時間,而用硬件解碼速度非常快。幸運的是,當時大多數黑客并沒有足夠的設備制造出這種硬件設備。在1977年,人們估計要耗資兩千萬美元才能建成一個專門計算機用于DES的解密,而且需要12個小時的破解才能得到結果。當時DES被認為是一種十分強大的加密方法。另一種非常著名的加密算法就是RSA了,RSA算法是基于大數不可能被質因數分解假設的公鑰體系。簡單地說就是找兩個很大的質數。一個對外公開的為“公鑰”(Prblic key) ,另一個不告訴任何人,稱為“私鑰”(Private key)。這兩個密鑰是互補的,也就是說用公鑰加密的密文可以用私鑰解密,反過來也一樣。
三、數據加密傳輸系統
3.1 系統的整體結構
系統的整體結構分為以下幾個模塊,首先是發送端的明文經過數據加密系統加密后,文件傳輸系統將加密后的密文傳送給接收端,接收端接收到密文以后,用已知的密鑰進行解密,得到明文。
3.2 模塊設計
3.2.1 加解密模塊
(1)DES加解密模塊。DES加解密模塊的設計,分為兩個部分:DES加密文件部分和DES加密演示部分。DES加密文件部分可以實現對文件的瀏覽,選中文件后對文件進行加密,加密后的文件存放在新的文檔;DES加密演示部分輸入數據后可以直接加密。(2)RSA加解密模塊。RSA加解密系統,主界面有三個模塊,分別為加密、解密和退出;加密模塊對明文和密鑰的輸入又設置了直接輸入和從文件讀取;解密模塊可以直接實現對文件的解密。
3.2.2 文件傳輸模塊
(1)文件瀏覽:用戶手動點擊瀏覽按鈕,根據用戶的需要,按照目錄選擇要傳輸的文件,選中文件。(2)文件傳輸:當用戶點擊發送文件時,文件就可通過軟件傳給客戶端。點擊客戶端按鈕,軟件會彈出客戶端的窗體,它包含輸入框(輸入對方IP地址)和按鈕(接收和退出),通過輸入IP地址,就可實現一臺電腦上的文件傳輸。
四、數據加密在商務中的應用
在電子商務發展過程中,采用數字簽名技術能保證發送方對所發信息的不可抵賴性。在法律上,數字簽名與傳統簽名同樣具有有效性。數字簽名技術在電子商務中所起的作用相當于親筆簽名或印章在傳統商務中所起的作用。
數據簽名技術的工作原理: 1.把要傳輸的信息用雜湊函數(Hash Function)轉換成一個固定長度的輸出,這個輸出稱為信息摘要(Message Digest,簡稱MD)。雜湊函數是一個單向的不可逆的函數,它的作用是能對一個輸入產生一個固定長度的輸出。 2.發送者用自己的私鑰(SK)對信息摘要進行加密運算,從而形成數字簽名。 3.把數字簽名和原始信息(明文)一同通過Internet發送給接收方。 4.接收方用發送方的公鑰(PK)對數字簽名進行解密,從而得到信息摘要。 5.接收方用相同的雜湊函數對接收到的原始信息進行變換,得到信息摘要,與⑷中得到的信息摘要進行比較,若相同,則表明在傳輸過程中傳輸信息沒有被篡改。同時也能保證信息的不可抵賴性。若發送方否認發送過此信息,則接收方可將其收到的數字簽名和原始信息傳送至第三方,而第三方用發送方的公鑰很容易證實發送方是否向接收方發送過此信息。
然而,僅采用上述技術在Internet上傳輸敏感信息是不安全的,主要有兩方面的原因。 1.沒有考慮原始信息即明文本身的安全; 2.任何知道發送方公鑰的人都可以獲取敏感信息,而發送方的公鑰是公開的。 解決1可以采用對稱密鑰加密技術或非對稱密鑰加密技術,同時考慮到整個加密過程的速度,一般采用對稱密鑰加密技術。而解決2需要介紹數字加密算法的又一應用即數字信封。
五、 結論
上述內容主要介紹了數據傳輸過程中的加密處理,數據加密是一個主動的防御策略,從根本上保證數據的安全性。和其他電子商務安全技術相結合,可以一同構筑安全可靠的電子商務環境,使得網上通訊,數據傳輸更加安全、可信。
參 考 文 獻
[1]黃河明.數據加密技術及其在網絡安全傳輸中的應用.碩士論文,2008年
[2]孟揚.網絡信息加密技術分析[J].信息網絡安全,2009年4期
[3]戴華秀,鄭強.淺談數據加密技術在網絡安全中的應用[J].華章,2011年7期
論文摘要:本文在闡述計算機網絡的基礎上分析了當前計算機系統安全及網絡安全等問題,提出了一些相應的防范措施,提出了計算機網絡信息安全應注重研究的幾個問題。
隨著國際互聯網的迅猛發展,世界各國遭受計算機病毒感染和黑客攻擊的事件屢屢發生,嚴重地干擾了正常的人類社會生活。因此,加強網絡的安全顯得越來越重要,防范計算機病毒將越來越受到世界各國的高度重視。
一、計算機病毒
計算機病毒就是指編制或在計算機程序中插入的破壞計算機功能或者破壞數據,影響計算機使用,并能自我復制的一組計算機指令或程序代碼。計算機病毒的特性表現為傳染性、隱蔽性、潛伏性和破壞性。計算機病毒的檢測方法主要有人工方法、自動檢測(用反病毒軟件)和防病毒卡。
二、計算機系統安全
計算機信息系統的安全保護包括計算機的物理組成部分、信息和功能的安全保護。
1、實體安全
計算機主機及外設的電磁干擾輻射必須符合國家標準或軍隊標準的要求。系統軟件應具備以下安全措施:操作系統應有較完善的存取控制功能,以防止用戶越權存取信息;應有良好的存貯保護功能,以防止用戶作業在指定范圍以外的存貯區域進行讀寫;還應有較完善的管理能力,以記錄系統的運行情況,監測對數據文件的存取。
2、輸入輸出控制
數據處理部門的輸出控制應有專人負責,數據輸出文件在發到用戶之前,應由數據處理部門進行審核,輸出文件的發放應有完備手續,計算機識別用戶的最常用的方法是口令,所以須對口令的產生、登記、更換期限實行嚴格管理。系統應能跟蹤各種非法請求并記錄某些文件的使用情況,識別非法用戶的終端。計算機系統必須有完整的日志記錄,每次成功地使用,都要記錄節點名、用戶名、口令、終端名、上下機時間、操作的數據或程序名、操作的類型、修改前后的數據值。
三、網絡安全
計算機網絡安全的目標是在安全性和通信方便性之間建立平衡。計算機的安全程度應當有一個從低、中到高的多層次的安全系統,分別對不同重要性的信息資料給與不同級別的保護。
1、計算機網絡安全現狀
計算機網絡安全具有三個特性:
⑴保密性:網絡資源只能由授權實體存取。⑵完整性:信息在存儲或傳輸時不被修改、信息包完整;不能被未授權的第二方修改。⑶可用性:包括對靜態信息的可操作性及對動態信息內容的可見性。
2、計算機網絡安全缺陷
⑴操作系統的漏洞:操作系統是一個復雜的軟件包,操作系統最大的漏洞是I/O處理——I/O命令通常駐留在用戶內存空間,任何用戶在I/O操作開始之后都可以改變命令的源地址或目的地址。⑵TCP/IP 協議的漏洞:TCP/IP協議由于采用明文傳輸,在傳輸過程中,攻擊者可以截取電子郵件進行攻擊,通過在網頁中輸入口令或填寫個人資料也很容易攻擊。⑶應用系統安全漏洞:WEB服務器和瀏覽器難以保障安全,很多人在編CGI 程序時不是新編程序,而是對程序加以適當的修改。這樣一來,很多CGI 程序就難免具有相同安全漏洞。⑷安全管理的漏洞:缺少網絡管理員,信息系統管理不規范,不能定期進行安全測試、檢查,缺少網絡安全監控等,對網絡安全都會產生威脅。
3、計算機網絡安全機制應具有的功能
網絡安全機制應具有身份識別、存取權限控制、數字簽名、審計追蹤、密鑰管理等功能。
4、計算機網絡安全常用的防治技術
⑴加密技術:加密在網絡上的作用就是防止重要信息在網絡上被攔截和竊取。加密技術是實現保密性的主要手段,采用這種技術可以把重要信息或數據從一種可理解的明文形式變換成一種雜亂的、不可理解的密文形式,并以密文形式將信息在線路上傳輸,到達目的端口后將密文還原成明文。常見的加密技術分單密鑰密碼技術和公開密鑰技術兩種。這兩種加密技術在不同方面各具優勢,通常將這兩種加密技術結合在一起使用。⑵防火墻技術:所謂“防火墻”,是指一種將內部網和公眾訪問網(如Internet)分開的方法,它實際上是一種隔離技術。防火墻是在兩個網絡通訊時執行的一種訪問控制尺度,它能允許你“同意”的人和數據進入你的網絡,同時將你“不同意”的人和數據拒之門外,阻止網絡中的黑客來訪問你的網絡,防止他們更改、拷貝、毀壞你的重要信息。實現防火墻的技術包括四大類——網絡級防火墻(也叫包過濾型防火墻)、應用級網關、電路級網關和規則檢查防火墻。防火墻的作用是防止外部用戶非法使用內部網絡資源,并且保護內部網絡的設備不受破壞,防止內部網絡的主要數據被竊取。一個防火墻系統通常由屏蔽路由器和服務器組成。屏蔽路由器是一個多端口的IP路由器,它通過對每一個到來的IP包依據一組規則進行檢查,來判斷是否對之進行轉發。屏蔽路由器從包頭取得信息,例如協議號、收發報文的IP地址和端口號、連接標志以至另外一些IP選項,對IP包進行過濾。
四、結論
計算機病毒在形式上越來越難以辨別,造成的危害也日益嚴重,這就要求網絡防毒產品在技術上更先進、功能上更全面。而計算機網絡安全是計算機技術快速發展過程中日益突出的問題,目前中國的科研機構正廣泛開展這一方面研究,主要是反病毒研究、反黑客問題研究、計算機網絡防火墻技術、加密技術、安全機制。到時,計算網絡就會得到更安全的保障。
參考文獻
1、陳立新:《計算機:病毒防治百事通》[M],北京:清華大學出版社,2001