項(xiàng)目開發(fā)與實(shí)戰(zhàn)第2天-java安全技術(shù)研究_第1頁
項(xiàng)目開發(fā)與實(shí)戰(zhàn)第2天-java安全技術(shù)研究_第2頁
項(xiàng)目開發(fā)與實(shí)戰(zhàn)第2天-java安全技術(shù)研究_第3頁
項(xiàng)目開發(fā)與實(shí)戰(zhàn)第2天-java安全技術(shù)研究_第4頁
項(xiàng)目開發(fā)與實(shí)戰(zhàn)第2天-java安全技術(shù)研究_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

系統(tǒng)安全—請(qǐng)結(jié)合demo閱讀哈姆雷特—莎士比亞筆下四大悲劇之一哈姆雷特故事簡介悲劇怎么產(chǎn)生的呢?情仇錄小故事中途發(fā)生變故悲劇發(fā)生了嗎小哈偷看了信件內(nèi)容小哈修改了信件內(nèi)容結(jié)論:小哈是個(gè)黑客由此引發(fā)對(duì)下面一系列技術(shù)的思考本文不討論java代碼的安全,主要關(guān)注數(shù)據(jù)交互過程中涉及的安全問題介紹相關(guān)技術(shù)概念加密(對(duì)稱加密,非對(duì)稱加密)消息摘要數(shù)字簽名JAVA證書體系(證書生成,證書使用)SSL實(shí)現(xiàn)加密加密是以某種特殊的算法改變?cè)械男畔?shù)據(jù),使得未授權(quán)的用戶即使獲得了已加密的信息,但因不知解密的方法,仍然無法了解信息的內(nèi)容。分類:對(duì)稱加密,非對(duì)稱加密,單向加密明文加密算法密鑰密文對(duì)稱加密加密、解密使用同一個(gè)密鑰優(yōu)點(diǎn):運(yùn)算速度快,用于加密大容量數(shù)據(jù)缺點(diǎn):難于管理,密鑰分發(fā)困難不具有不可否認(rèn)性著名算法包括:AES、

DES、IDEA、RC2、RC4、RC5等簡單應(yīng)用舉例明文:goodgoodstudy,daydayup.

密鑰:google

DMP替換加密算法:將明文中的所有的字母“d”替換成密鑰。

密文:“googooglegoogooglestugoogley,

googleaygoogleayup.”密文:googooglegoogooglestugoogley,

googleaygoogleayup.

密鑰:google

DMP替換解密算法:將密文中所有與密鑰相同的字符串替換成“d”。

明文:“goodgoodstudy,daydayup.”。非對(duì)稱加密產(chǎn)生一對(duì)數(shù)學(xué)相關(guān)的密鑰,公鑰與私鑰用私鑰加密的數(shù)據(jù)只能由公鑰解密,反之亦然優(yōu)點(diǎn):便于管理,密鑰分發(fā)簡單,公開密鑰可以廣泛傳遞實(shí)現(xiàn)數(shù)字簽名,可以實(shí)現(xiàn)不可抵賴性缺點(diǎn):運(yùn)算速度慢,不適合加密大容量數(shù)據(jù)著名算法包括:RSA、DSA、橢圓曲線密碼算法、DiffeHellman等單向加密只有加密無法解密MD5(信息摘要算法),SHA(安全散列算法),HMAC(散列消息鑒別碼)等消息摘要消息摘要(MessageDigest)它是一個(gè)唯一對(duì)應(yīng)一個(gè)消息或文本的固定長度的值,它由一個(gè)單向Hash加密函數(shù)對(duì)消息進(jìn)行作用而產(chǎn)生數(shù)字簽名數(shù)字簽名(又稱公鑰數(shù)字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實(shí)現(xiàn),用于鑒別數(shù)字信息的方法特性:防篡改(只有你有私鑰)防抵賴(具有法律效力)SSLSSL(securesocketlayer)是用于對(duì)TCP/IP數(shù)據(jù)流進(jìn)行加密的協(xié)議,同時(shí)還包括了身份認(rèn)證和數(shù)據(jù)完整性校驗(yàn)等內(nèi)容講故事大胖子:無業(yè)游民,專發(fā)AV小瘦子:無業(yè)游民,??碅V黑客老婆:小瘦子的老婆.牛B黑客,專截AV人物介紹我是大胖子我是小瘦子我是黑客場景一:對(duì)稱加密瘦子收AV啦,winrar加密了哈密碼電話告訴我胖子聲音大,老娘聽到密碼啦小瘦子悲劇了!!!還記得對(duì)稱加密的缺點(diǎn)嗎?場景一:非對(duì)稱加密瘦子收AV啦,用你的公鑰加密了哈我收,我插,我解截到AV,密碼啥啊?還記得非對(duì)稱加密的特點(diǎn)嗎?場景一:非對(duì)稱加密—圈套還記得數(shù)字簽名的特點(diǎn)嗎?瘦子收AV啦,用你的公鑰加密了哈我變身我收,我插,我解AV畫面:怎么是她!!!哈哈!!!數(shù)字簽名小瘦子,收AV啦丫這回是不是圈套呢小瘦子建了個(gè)txt文檔,內(nèi)容123,用大胖子的公鑰加密后,將文件傳給了大胖子123哈哈!!AV傳送開始……AV版數(shù)字簽名的應(yīng)用場景就這樣滴!!數(shù)字簽名商業(yè)中的應(yīng)用寫個(gè)借據(jù)來吧小瘦子,借我100大洋,大哥沒錢買AV了大胖子建了個(gè)文本內(nèi)容:向小瘦子借100大洋.然后用自己的私鑰簽名,發(fā)給小瘦子小瘦子用大胖子的公鑰解密文件,看到內(nèi)容:向小瘦子借100大洋.OK,網(wǎng)銀轉(zhuǎn)帳給你!!加密的基礎(chǔ)算法--

(見Coder)BASE64:Base64內(nèi)容傳送編碼被設(shè)計(jì)用來把任意序列的8位字節(jié)描述為一種不易被人直接識(shí)別的形式.主要就是BASE64Encoder、BASE64Decoder兩個(gè)類,我們只需要知道使用對(duì)應(yīng)的方法即可。另,BASE加密后產(chǎn)生的字節(jié)位數(shù)是8的倍數(shù),如果不夠位數(shù)以=符號(hào)填充MD5、SHA、HMAC這些加密算法,是非可逆加密,就是不可解密的加密方法。我們通常只把他們作為加密的基礎(chǔ)。對(duì)稱加密—見demo(des)DES-DataEncryptionStandard,即數(shù)據(jù)加密算法。是IBM公司于1975年研究成功并公開發(fā)表的。DES算法的入口參數(shù)有三個(gè):Key、Data、Mode。其中Key為8個(gè)字節(jié)共64位,是DES算法的工作密鑰;Data也為8個(gè)字節(jié)64位,是要被加密或被解密的數(shù)據(jù);Mode為DES的工作方式,有兩種:加密或解密。DES算法把64位的明文輸入塊變?yōu)?4位的密文輸出塊,它所使用的密鑰也是64位非對(duì)稱加密—見demo(RSA)RSA:典型的非對(duì)稱加密算法,這種算法1978年就出現(xiàn)了,它是第一個(gè)既能用于數(shù)據(jù)加密也能用于數(shù)字簽名的算法。下面是其密鑰管理及兩種應(yīng)用場景密鑰生成發(fā)公布數(shù)字簽名(見RSA簽名部分代碼)非對(duì)稱解密(見RSA加解密部分代碼)DSADSA數(shù)字簽名,非對(duì)稱加密的另一種實(shí)現(xiàn)密鑰管理及應(yīng)用與RSA類似詳細(xì)見代碼部分(這部分代碼包括了密鑰生成方法)消息摘要—見demo(mydigest)一、什么是消息摘要

一個(gè)消息摘要就是一個(gè)數(shù)據(jù)塊的數(shù)字指紋。即對(duì)一個(gè)任意長度的一個(gè)數(shù)據(jù)塊進(jìn)行計(jì)算,產(chǎn)生一個(gè)唯

一指?。▽?duì)于SHA1是產(chǎn)生一個(gè)20字節(jié)的二進(jìn)制數(shù)組)。二、消息摘要有兩個(gè)基本屬性:1、兩個(gè)不同的報(bào)文難以生成相同的摘要;

2、絕不能從消息摘要生成原數(shù)據(jù)三、消息摘要的應(yīng)用

1、消息摘要主要用于驗(yàn)證數(shù)據(jù)的完整性,我們經(jīng)常聽到的校驗(yàn)和就是消息摘要的一個(gè)特例。2、MAC:消息認(rèn)證碼,使用秘密密鑰和消息摘要算法來創(chuàng)建消息摘要。似曾相識(shí)的應(yīng)用我們可能經(jīng)常會(huì)疑問,我們有了消息摘要為什么還要認(rèn)證碼呢消息摘要的算法可以確保消息摘要和具體的消息之間的一一對(duì)應(yīng),也就是只要你有相同的消息,采用相同的算法肯定能產(chǎn)生相同的消息摘要,但有時(shí)為了特殊的目的我們需要只有特定的人才能生成這個(gè)摘要,這時(shí)候我們可以通過在生成消息摘要的過程中加入相應(yīng)的密鑰,從而使生成的消息摘要在沒有密鑰的情況下難以生成。鑒于消息摘要的一一對(duì)應(yīng),經(jīng)常在一些保護(hù)用戶密碼的地方我們采用了這種算法。例如,在銀行系統(tǒng),為了不讓管理數(shù)據(jù)庫的員工把你的密碼看到,系統(tǒng)本身在你的密碼存入庫中之前就做了消息摘要的提取,這樣庫中別人看到的是一串奇怪的串,他也沒法逆向獲得你的明文密碼。當(dāng)然,如果銀行的安全系統(tǒng)被控制,那什么事情都可以做。消息摘要的計(jì)算java.security.MessageDigest類staticgetInstance(Stringalgorithm)

返回一個(gè)MessageDigest對(duì)象,它實(shí)現(xiàn)指定的算法,參數(shù):算法名,如SHA-1或MD5voidupdate(byteinput)voidupdate(byte[]input)voidupdate(byte[]input,intoffset,intlen)

添加要進(jìn)行計(jì)算摘要的信息byte[]digest()

完成計(jì)算,返回計(jì)算得到的摘要(對(duì)于MD5是16位,SHA是20位)voidreset()

復(fù)位staticbooleanisEqual(byte[]digesta,byte[]digestb)

比效兩個(gè)摘要是否相同數(shù)字簽名應(yīng)用的技術(shù):消息摘要,非對(duì)稱加密數(shù)字證書:CA證書授權(quán)(CertificateAuthority)中心發(fā)行的,能提供在Internet上進(jìn)行身份驗(yàn)證的一種權(quán)威性電子文檔(相當(dāng)?shù)匚覀兊纳矸葑C)白話數(shù)字簽名(這部分可跳過,聽前面的故事即可)原文:何謂加密?加密是一種“把數(shù)據(jù)搞亂掉”的技術(shù)。加密技術(shù)涉及到4種東東:

明文:可以被人或程序識(shí)別的數(shù)據(jù)。例如一個(gè)文本文件、一段歌詞、一個(gè)Word文檔、一首MP3、一個(gè)圖片文件、一段視頻等等。

加密算法:將數(shù)據(jù)搞亂掉的方法。

密鑰(密碼):一個(gè)你在進(jìn)行加密操作時(shí)給出的字符串,讓加密算法不但把明文“搞亂掉”,而且要亂得“與眾不同”。這樣即使別人搞到了解密算法,如果沒有當(dāng)初加密時(shí)所使用的密碼,一樣無法進(jìn)行解密操作。

密文:明文被加密算法和密鑰加密后的結(jié)果。它看上去就是一堆亂碼,沒有人或程序能知道它到底表示什么信息。

作為加密的一個(gè)實(shí)例,我將使用由我杜撰的“景氏替換加密算法”演示一下加密過程。

明文:goodgoodstudy,daydayup.

密鑰:google

景氏替換加密算法:將明文中的所有的字母“d”替換成密鑰。

密文:將“goodgoodstudy,daydayup.”中的所有字母“d”替換成“google”,就得到密文“googooglegoogooglestugoogley,

googleaygoogleayup.”。這個(gè)密文亂得還可以吧?一般人看了肯定不知道它是什么意思。

那么什么是解密呢?解密就是把密文再變回明文的過程。

例如“景氏替換解密算法”就是:將密文中所有與密鑰相同的字符串替換成“d”。

密文:googooglegoogooglestugoogley,

googleaygoogleayup.

密鑰:google

景氏替換解密算法:將密文中所有與密鑰相同的字符串替換成“d”。

明文:將“googooglegoogooglestugoogley,

googleaygoogleayup.”中的所有“google”替換成“d”,就得到了明文“goodgoodstudy,daydayup.”。

您肯定已經(jīng)注意到了,我們?cè)谶M(jìn)行加密和解密時(shí)使用的密鑰必須是相同的,例如在上例中,加密和解密都必須使用相同的密鑰“google”。所以像“景氏替換加密算法”這種就被稱為對(duì)稱加密算法。目前最為流行的對(duì)稱加密算法是DES和AES,此外,對(duì)稱加密算法還有IDEA、FEAL、LOKI、Lucifer、RC2、RC4、RC5、Blowfish、GOST、CAST、SAFER、SEAL等。WinRAR的文件加密功能就是使用的AES加密算法。非對(duì)稱加密

非對(duì)稱加密算法是一類與眾不同的加密算法,它的密鑰不是1個(gè),而是2個(gè)(一對(duì)),我們先姑且稱它們?yōu)槊荑€K1和密鑰K2。非對(duì)稱加密算法的特點(diǎn)是,如果用密鑰K1進(jìn)行加密,則有且僅有密鑰K2能進(jìn)行解密;反之,如果使用密鑰K2進(jìn)行了加密,則有且僅有密鑰K1能進(jìn)行解密。注意“有且僅有”的意思——如果用密鑰K1進(jìn)行了加密,是不能用密鑰K1進(jìn)行解密的;同樣,如果用密鑰K2進(jìn)行了加密,也無法用密鑰K2進(jìn)行解密。這是一個(gè)非常重要的特性,至于如何在實(shí)際中運(yùn)用這個(gè)特性,請(qǐng)看下文。

我想給Clark傳送一個(gè)AV小電影,又怕被他的老婆發(fā)現(xiàn)......

話說俺得了一個(gè)很不錯(cuò)的AV小電影,想通過網(wǎng)絡(luò)傳送給Clark,可是又怕被他的老婆發(fā)現(xiàn)(因?yàn)镃lark的老婆是一個(gè)超級(jí)黑客,她可以使用sniffer技術(shù)截獲任何通過網(wǎng)線傳送給Clark的數(shù)據(jù)。別跟我說用VPN,它超出了本文討論的范圍),怎么辦呢?對(duì)了,我們需要一個(gè)“將數(shù)據(jù)搞亂掉”的技術(shù)——加密技術(shù)。我先使用WinRAR對(duì)小電影進(jìn)行壓縮,然后加上密碼“TswcbyyqjsjhfL”(還記得么?WinRAR的文件加密功能使用的是叫作AES的對(duì)稱加密算法)。接著,將這個(gè)加密后的文件通過QQ傳送給Clark。然后,興沖沖地?fù)艽駽lark的手機(jī):

“喂?Clark么?好久不見,呵呵......我給你發(fā)了個(gè)好東東呦,在QQ上,收到?jīng)]?......密碼是TswcbyyqjsjhfL,對(duì),就是天生我才必有用,千金散盡還復(fù)來的首字母,第一個(gè)和最后一個(gè)字母要大寫呦......”

可是,Clark,我是真的不知道你的老婆大人剛剛就在你的身邊呀!而且你也知道,我打電話從來都是喜歡很大聲的......嗚嗚嗚......

在Clark跪了一夜的搓衣板之后,我們都明白:如果是已經(jīng)保存在自己硬盤上的文件,使用對(duì)稱加密技術(shù)進(jìn)行加密是沒有問題的;如果是兩個(gè)人通過網(wǎng)絡(luò)傳輸文件,使用對(duì)稱加密就很危險(xiǎn)——因?yàn)樵趥魉兔芪牡耐瑫r(shí),還必須傳送解密密鑰。我們需要一個(gè)與眾不同的加密算法,一個(gè)不需要傳遞解密密鑰的加密算法。非對(duì)稱加密正好可以滿足我們的需要?;舅悸肥沁@樣的:首先,生成一對(duì)滿足非對(duì)稱加密要求的密鑰對(duì)(密鑰K1和密鑰K2)。然后,將密鑰K1公布在網(wǎng)上,任何人都可以下載它,我們稱這個(gè)已經(jīng)公開的密鑰K1為公鑰;密鑰K2自己留著,不讓任何人知道,我們稱這個(gè)只有自己知道的密鑰K2為私鑰。當(dāng)我想給Clark傳送小電影時(shí),我可以用Clark的公鑰對(duì)小電影進(jìn)行加密,之后這個(gè)密文就連我也無法解密了。這個(gè)世界上只有一個(gè)人能將密文解密,這個(gè)人就是擁有私鑰的Clark。

后來......

后來,Clark痛定思痛,決定申請(qǐng)一個(gè)數(shù)字證書。流程是這樣的:首先,登錄當(dāng)?shù)氐臄?shù)字證書認(rèn)證中心網(wǎng)站,填表->出示個(gè)人有效證件原件和復(fù)印件->繳費(fèi)->等待數(shù)字證書認(rèn)證中心制作數(shù)字證書->領(lǐng)取數(shù)字證書。如果您的公司需要申請(qǐng)大量的數(shù)字證書,還可以與認(rèn)證中心的銷售人員商量,先領(lǐng)取免費(fèi)的試用版的數(shù)字證書供技術(shù)人員試用。

后來的后來,我又得到了一本電子版的不良漫畫,當(dāng)然,我又想到了Clark。我先在數(shù)字證書認(rèn)證中心下載了Clark的公鑰證書(就是一個(gè)含有公鑰信息的文件),使用非對(duì)稱加密算法對(duì)不良漫畫進(jìn)行加密,再將密文通過QQ傳送給Clark。然后,我興沖沖地?fù)艽駽lark的手機(jī):

“喂?Clark么?好久不見,呵呵......我給你發(fā)了個(gè)好東東呦,在QQ上,收到?jīng)]?......已經(jīng)用你的公鑰加密了。用你的私鑰解密就行了^_^”

Clark興沖沖地插入他的私鑰(忘了說了,私鑰并不是一個(gè)文件,而是一個(gè)USB設(shè)備,外形就跟U盤一樣,至于為什么要這樣,下一篇再說),解密,然后開始看漫畫,完全沒察覺他的老婆大人就在身后......

Clark,俺這個(gè)月手頭有點(diǎn)緊......

唉,這個(gè)月買了太多的書,到月底揭不開鍋了。正巧在QQ上遇到了Clark:

1-2-3:“Clark,我需要200兩紋銀,能否借給我?”

Clark:“沒問題。我這就給你轉(zhuǎn)賬。請(qǐng)給我一張借條?!?/p>

1-2-3:“太謝謝了,我這就用Word寫一個(gè)借條給你。”

然后,我新建一個(gè)Word文檔,寫好借條,存盤。然后,然后怎么辦呢?我不能直接把借條發(fā)送給Clark,原因有:

1.我無法保證Clark不會(huì)在收到借條后將“紋銀200兩”改為“紋銀2000兩”。

2.如果我賴賬,Clark無法證明這個(gè)借條就是我寫的。

3.普通的Word文檔不能作為打官司的證據(jù)。

好在我早就申請(qǐng)了數(shù)字證書。我先用我的私鑰對(duì)借條進(jìn)行加密,然后將加密后的密文用QQ發(fā)送給Clark。Clark收到了借條的密文后,在數(shù)字證書認(rèn)證中心的網(wǎng)站上下載我的公鑰,然后使用我的公鑰將密文解密,發(fā)現(xiàn)確實(shí)寫的是“借紋銀200兩”,Clark就可以把銀子放心的借給我了,我也不會(huì)擔(dān)心Clark會(huì)篡改我的借條,原因是:

1.由于我發(fā)給Clark的是密文,Clark無法進(jìn)行修改。Clark倒是可以修改解密后的借條,但是Clark沒有我的私鑰,沒法模仿我對(duì)借條進(jìn)行加密。這就叫防篡改。

2.由于用我的私鑰進(jìn)行加密的借條,有且只有我的公鑰可以解密。反過來講,能用我的公鑰解密的借條,一定是使用我的私鑰加密的,而只有我才擁有我的私鑰,這樣Clark就可以證明這個(gè)借條就是我寫的。這就叫防抵賴。

3.如果我一直賴著不還錢,Clark把我告上了法庭,這個(gè)用我的私鑰加密過的Word文檔就可以當(dāng)作程堂證供。因?yàn)槲覈呀?jīng)出臺(tái)了《中華人民共和國電子簽名法》,使數(shù)字簽名具有了法律效力。

您一定已經(jīng)注意到了,這個(gè)使用我的私鑰進(jìn)行了加密的借條,具有了防篡改、防抵賴的特性,并且可以作為程堂證供,就跟我對(duì)這個(gè)借條進(jìn)行了“簽名”的效果是一樣的。對(duì)了,“使用我的私鑰對(duì)借條進(jìn)行加密”的過程就叫做數(shù)字簽名。(由于數(shù)字簽名算法的速度比較慢,所以在實(shí)際對(duì)文件簽名的過程比上面提到的方法稍稍復(fù)雜一些,這個(gè)在下一篇再講)。我是1-2-3,我真的是1-2-3,我是真的1-2-3

正如您已經(jīng)知道的,Clark的老婆是一名超級(jí)黑客——就是傳說中能用計(jì)算機(jī)作任何事的人。這不,不久前她就輕松入侵了QQ數(shù)據(jù)庫,下載了Clark的所有好友的ID和密碼以及聊天記錄。然后,時(shí)不時(shí)地偽裝成Clark的好友跟Clark聊天,搞得Clark最近總是神經(jīng)兮兮、疑神疑鬼的。這不,昨天我在QQ上遇到了Clark:

1-2-3:“Clark,最近還好吧?我又搞到一個(gè)好東東呦,要不要?”

Clark:“48475bbt556”

Clark并不是瘋掉了,那個(gè)“48475bbt556”也不是我跟Clark之間的什么通關(guān)暗語。這個(gè)“48475bbt556”就是Clark在鍵盤上胡亂敲上去的,不過,我卻知道Clark是什么意思。我立刻把“48475bbt556”粘貼到Word里,然后用我的私鑰對(duì)這個(gè)Word文檔加密,再將這個(gè)Word文檔發(fā)送給Clark。Clark在那邊用我的公鑰將Word文檔解密,打開,發(fā)現(xiàn)里面寫的就是“48475bbt556”,就知道QQ這邊的確就是真正的我本人了。因?yàn)閾碛形业乃借€的人在這個(gè)世界上就只有我一人而已,Clark的老婆大人就是再神通廣大也模仿不了,這就是數(shù)字簽名的驗(yàn)證功能。

順便提一句,不但人可以申請(qǐng)數(shù)字證書,設(shè)備(例如Web服務(wù)器)也可以申請(qǐng)數(shù)字證書(叫作設(shè)備證書)。利用數(shù)字簽名的驗(yàn)證功能,就可以驗(yàn)證服務(wù)器的身份了,這可是防釣魚的終極解決方案呦。

原理和特點(diǎn)每個(gè)人都有一對(duì)“鑰匙”(數(shù)字身份),其中一個(gè)只有她/他本人知道(密鑰),另一個(gè)公開的(公鑰)。簽名的時(shí)候用密鑰,驗(yàn)證簽名的時(shí)候用公鑰。又因?yàn)槿魏稳硕伎梢月淇钌攴Q她/他就是你,因此公鑰必須向接受者信任的人(身份認(rèn)證機(jī)構(gòu))來注冊(cè)。注冊(cè)后身份認(rèn)證機(jī)構(gòu)給你發(fā)一數(shù)字證書。對(duì)文件簽名后,你把此數(shù)字證書連同文件及簽名一起發(fā)給接受者,接受者向身份認(rèn)證機(jī)構(gòu)求證是否真地是用你的密鑰簽發(fā)的文件。

在通訊中使用數(shù)字簽名一般基于以下原因:

鑒權(quán)

公鑰加密系統(tǒng)允許任何人在發(fā)送信息時(shí)使用公鑰進(jìn)行加密,數(shù)字簽名能夠讓信息接收者確認(rèn)發(fā)送者的身份。當(dāng)然,接收者不可能百分之百確信發(fā)送者的真實(shí)身份,而只能在密碼系統(tǒng)未被破譯的情況下才有理由確信。

鑒權(quán)的重要性在財(cái)務(wù)數(shù)據(jù)上表現(xiàn)得尤為突出。舉個(gè)例子,假設(shè)一家銀行將指令由它的分行傳輸?shù)剿闹醒牍芾硐到y(tǒng),指令的格式是(a,b),其中a是賬戶的賬號(hào),而b是賬戶的現(xiàn)有金額。這時(shí)一位遠(yuǎn)程客戶可以先存入100元,觀察傳輸?shù)慕Y(jié)果,然后接二連三的發(fā)送格式為(a,b)的指令。這種方法被稱作重放攻擊。

完整性

傳輸數(shù)據(jù)的雙方都總希望確認(rèn)消息未在傳輸?shù)倪^程中被修改。加密使得第三方想要讀取數(shù)據(jù)十分困難,然而第三方仍然能采取可行的方法在傳輸?shù)倪^程中修改數(shù)據(jù)。一個(gè)通俗的例子就是同形攻擊:回想一下,還是上面的那家銀行從它的分行向它的中央管理系統(tǒng)發(fā)送格式為(a,b)的指令,其中a是賬號(hào),而b是賬戶中的金額。一個(gè)遠(yuǎn)程客戶可以先存100元,然后攔截傳輸結(jié)果,再傳輸(a,b3),這樣他就立刻變成百萬富翁了。

不可抵賴

在密文背景下,抵賴這個(gè)詞指的是不承認(rèn)與消息有關(guān)的舉動(dòng)(即聲稱消息來自第三方)。消息的接收方可以通過數(shù)字簽名來防止所有后續(xù)的抵賴行為,因?yàn)榻邮辗娇梢猿鍪竞灻o別人看來證明信息的來源。證書體系實(shí)現(xiàn)JDKkeytool生成證書微軟makecert生成證書JDKkeytool生成證書生成keyStroe文件生成證書生成keyStroe(密鑰庫)文件keytool在jdk1.6.0_10\bin下其中-genkey表示生成密鑰-validity指定證書有效期,這里是36000天-alias指定別名,這里是-keyalg指定算法,這里是RSA-keystore指定存儲(chǔ)位置,這里是d:zlex.keystore在這里使用的密碼為123456控制臺(tái)輸出這時(shí),在D盤下會(huì)生成一個(gè)zlex.keys

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論