加密認(rèn)證功能-創(chuàng)新互聯(lián)

加密解密的技術(shù):

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的向陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

對(duì)稱加密

加密方和解密方使用是同一個(gè)密鑰,加密解密的速度都很快,先將數(shù)據(jù)明文

分成數(shù)據(jù)塊兒,一般來(lái)講是大小相同的,如果到最后剩下的不能與其他數(shù)據(jù)塊兒的

大小相同,那么就給它添加一些填充物,然后對(duì)每個(gè)數(shù)據(jù)塊兒逐個(gè)加密,

然后把加密后的數(shù)據(jù)塊兒發(fā)給對(duì)方,每一次管理一塊兒,

但是,加密后的塊兒怎么處理,因?yàn)槊恳粋€(gè)塊兒都是單獨(dú)處理,對(duì)方在破解數(shù)據(jù)時(shí)

每一塊兒獨(dú)立破解,也就是說(shuō)這樣的加密過(guò)程對(duì)反破解并沒(méi)有任何幫助,

對(duì)于加密以后的數(shù)據(jù)塊兒的處理有以下兩種方法

ECB:每一塊兒?jiǎn)为?dú)加密,加密一個(gè)傳遞一個(gè),

CBC:加密或密文塊兒鏈,通過(guò)抑或運(yùn)算實(shí)現(xiàn),每一個(gè)數(shù)據(jù)塊兒,在發(fā)送給對(duì)方

之前會(huì)實(shí)現(xiàn)將此數(shù)據(jù)塊兒與此前的數(shù)據(jù)塊兒做一次抑或運(yùn)算,并把結(jié)果發(fā)送給對(duì)方

所以得不到第一個(gè)塊兒,得到其他也就沒(méi)有用,即使是第一塊,也會(huì)和一個(gè)隨機(jī)數(shù)

進(jìn)行抑或運(yùn)算

其大好處在于,做兩次抑或運(yùn)算后可以將數(shù)據(jù)還原

算法:DES:數(shù)據(jù)加密標(biāo)準(zhǔn),使用56位的密鑰長(zhǎng)度

AES:高級(jí)加密標(biāo)準(zhǔn),可以使用128、192、256三種長(zhǎng)度的密鑰

3DES:對(duì)原有加密3次,

Blowfish

Twofish

RC6

IDEA

CAST5

缺陷:1、一個(gè)人跟眾多對(duì)象通信的時(shí)候需要記的密碼過(guò)多

2、密鑰分發(fā)困難,是大的難題,沒(méi)有一種可靠的手段將密鑰送給一個(gè)

沒(méi)有見(jiàn)過(guò)面的對(duì)象

非對(duì)稱加密

公鑰加密算法:DSA,RSA,EIGamal

加密方和解密方使用不同的密鑰

功能:加密解密

用戶的身份認(rèn)證,RSA兩者都可以實(shí)現(xiàn),而DSA只能加密數(shù)據(jù)

公鑰,私鑰

公鑰是從私鑰中抽出的一段特征,公鑰隱含在私鑰中

現(xiàn)在主流的密鑰長(zhǎng)度是2048

缺陷:1、加密速度慢,比對(duì)稱加密慢3個(gè)數(shù)量級(jí) 1000倍,一個(gè)數(shù)量級(jí)10倍

2、公鑰加密一般不用于加密數(shù)據(jù),主要用于實(shí)現(xiàn)用戶認(rèn)證,數(shù)據(jù)加密

主要是通過(guò)對(duì)稱加密實(shí)現(xiàn)的

如何實(shí)現(xiàn)用戶認(rèn)證:

現(xiàn)在假設(shè),有兩個(gè)通信的對(duì)象,一個(gè)較小黑,一個(gè)較小白,現(xiàn)在小黑給小白發(fā)了

一封電子郵件,但是,小白在接受郵件的時(shí)候不希望自己的郵件的內(nèi)容被篡改,

這時(shí)小黑就將郵件內(nèi)容加密且說(shuō)自己是小黑,并產(chǎn)生一個(gè)公鑰和一個(gè)私鑰,

私鑰小黑會(huì)隨身攜帶

而且不能外泄,公鑰則連同郵件一起發(fā)給小白,這是小白拿著小黑的公鑰如果能夠

解密,則說(shuō)明小黑就是小黑...這就實(shí)現(xiàn)了認(rèn)證,但是如果小黑加密的數(shù)據(jù)很大,再加上

公鑰加密要用很久時(shí)間,等加密好,小黑也無(wú)語(yǔ)了,所以小黑加密的不是數(shù)據(jù)

而是這段數(shù)據(jù)的特征值,說(shuō)到特征值,下面就說(shuō)一下單向加密》》》

單向加密

雪崩效應(yīng):輸入的數(shù)據(jù)有一點(diǎn)點(diǎn)不同,結(jié)果會(huì)有巨大不同,主要目的在防暴力破解

單向加密就是去計(jì)算一段數(shù)據(jù)的特征值,加密過(guò)程是不可逆的,是去計(jì)算一段數(shù)據(jù)的特征碼,是獨(dú)一無(wú)二的,用于對(duì)

數(shù)據(jù)完整性的校驗(yàn)

無(wú)論你輸入的數(shù)據(jù)是多長(zhǎng),輸出的結(jié)果都是一樣長(zhǎng)度

MD5:message digest,輸出結(jié)果固定長(zhǎng)度128bit

SHA1:secure hash algorithm安全的哈希算法,輸出結(jié)果固定長(zhǎng)度160bit

身份認(rèn)證:

單向加密在實(shí)現(xiàn)用戶身份認(rèn)證的時(shí)候不會(huì)去加密整段數(shù)據(jù),而是先去計(jì)算這段數(shù)據(jù)的特征值,

把它的特征值用私鑰加密,加密以后附著在數(shù)據(jù)后面,一起發(fā)給對(duì)方,在對(duì)方收到以后,對(duì)方

可以驗(yàn)證兩方面的內(nèi)容,第一用戶的身份,第二數(shù)據(jù)的完整性,接收方先用發(fā)送方的公鑰對(duì)其解密

如果能解密就驗(yàn)證了對(duì)方了身份,此時(shí)接收方會(huì)獲得這段數(shù)據(jù)的特征值,然后接收方也用相同的

算法進(jìn)行運(yùn)算,得到一個(gè)數(shù)據(jù)的特征值,如果這兩個(gè)特征值相同,則說(shuō)明數(shù)據(jù)在發(fā)送過(guò)程完好無(wú)損

如果不相同,則說(shuō)明數(shù)據(jù)有改動(dòng)

假設(shè)還是小黑和小白通信,雙方都希望在數(shù)據(jù)的發(fā)送過(guò)程中,既能實(shí)現(xiàn)用戶身份驗(yàn)證,

又能實(shí)現(xiàn)數(shù)據(jù)加密,還能實(shí)現(xiàn)數(shù)據(jù)的完整性,那該怎么辦呢?

現(xiàn)在小黑在發(fā)送數(shù)據(jù)前,先將數(shù)據(jù)用單向加密,計(jì)算出特征值,然后再用私鑰解密將特征值加密

接下來(lái)會(huì)再用產(chǎn)生一個(gè)一次性的密碼,用小白的公鑰將這個(gè)密碼加密然后放在數(shù)據(jù)后,最后再用對(duì)稱加密

將全部加密,這時(shí)就是密文了,到了小白那里以后,小白先用自己的私鑰拿到那個(gè)密碼,然后再用那個(gè)

密碼解密,獲得數(shù)據(jù)的特征值,然后再用單向解密計(jì)算出一個(gè)特征值,如果這兩個(gè)值相同,則說(shuō)明

數(shù)據(jù)完好,以上過(guò)程就實(shí)現(xiàn)了三重驗(yàn)證

這三項(xiàng)結(jié)合起來(lái)是現(xiàn)在電子商務(wù)的基礎(chǔ)。

可以實(shí)現(xiàn)這整個(gè)過(guò)的工具:

opssh

gpg

但是這兩個(gè)過(guò)程還存在問(wèn)題,小白怎樣去獲得小黑的公鑰呢?在傳輸公鑰的時(shí)候也有可能

出現(xiàn)欺騙,這怎么解決了?

IKE:互聯(lián)網(wǎng)密鑰交換,實(shí)現(xiàn)雙方使眼色交換密鑰,和密鑰本身不在互聯(lián)網(wǎng)上

傳播

PKI:公鑰基礎(chǔ)設(shè)施,或公鑰基礎(chǔ)架構(gòu),CA證書(shū)頒發(fā)機(jī)構(gòu),證書(shū)內(nèi)放的就是通信人的公鑰信息

怎樣基于證書(shū)通信:

雙方在通信時(shí)都出示證件,這個(gè)證件由某個(gè)權(quán)威機(jī)構(gòu)發(fā)放,只要驗(yàn)證證件內(nèi)的有效信息

就可以驗(yàn)證對(duì)方的身份,但是在發(fā)證的時(shí)候怎樣防止中間出現(xiàn)欺騙呢?

這又是一個(gè)雞生蛋,蛋生雞的問(wèn)題,想想該如何解決呢?

所以一些操作系統(tǒng)在安裝時(shí)就已經(jīng)將一些權(quán)威的發(fā)證機(jī)構(gòu)的證書(shū)放在你的電腦里了,這樣在一定程度

上可以解決一些問(wèn)題

證書(shū)的格式:X509,PKCS

證書(shū)廢棄列表:CRL

最常見(jiàn)的***“man in the middle”主要是雙方身份無(wú)法驗(yàn)證

會(huì)話劫持,

數(shù)據(jù)插入,

數(shù)據(jù)篡改,

這些都是常見(jiàn)的威脅

加密解密用于:

1、用戶密碼/數(shù)據(jù)嗅探 password/data sniffing

2、數(shù)據(jù)操縱,data manipulation

3、authentication manipulation 認(rèn)證

4、equivalent to mailing on postcards

這幾個(gè)方面

加密算法的基本法則:kerckhoff's principle

1、一般來(lái)講加密本身并不靠算法,算法固然很關(guān)鍵能將明文變成密文

但是一項(xiàng)真正的加密過(guò)程,你的數(shù)據(jù)是否會(huì)被破解,主要不能過(guò)強(qiáng)依賴于算法本身,

而要依賴于密碼,算法的研究周期很長(zhǎng),更改一個(gè)密碼很簡(jiǎn)單,但是更換一個(gè)算法就麻煩了

算法需要耗費(fèi)很多精力,只要算法不公開(kāi),就無(wú)從下手破解

2、電子商務(wù)的過(guò)程中不僅要保證數(shù)據(jù)加密,還要保證不被別人看見(jiàn)

算法:

1、隨機(jī)數(shù)來(lái)源靠得住

########openssl#########l

用C語(yǔ)言實(shí)現(xiàn)了很多種常見(jiàn)的加密算法:

三個(gè)組件:

1、libcrypto 庫(kù)文件 專門實(shí)現(xiàn)加密解密的庫(kù)文件,

2、libssl 庫(kù)文件,主要是實(shí)現(xiàn)https這樣協(xié)議

3、openssl 多用途加密工具,還可以制作一個(gè)CA出來(lái)

一般來(lái)講openssl都會(huì)裝上,使用一個(gè)openssl加一個(gè)錯(cuò)誤的選項(xiàng)就能看見(jiàn)它的使用

選項(xiàng)

單項(xiàng)加密時(shí)的用法:

openssl enc -des3 -salt -a -in inittab -out inittab.des3

實(shí)現(xiàn)對(duì)于一個(gè)文件加密 enc是加密 -des3是加密算法 -salt 加入雜質(zhì)

-in后面跟文件名 -out加密后放在哪個(gè)文件里

openssl enc -d -des3 -salt -a -in inittab.des3 -out inittab

-d表示解密

openssl dgst -sha inittab 表示計(jì)算inittab文件的特征值

用戶認(rèn)證時(shí)passwd的用法,怎么去幫你生成一個(gè)類似于保存在/etc/shadow文件里的密碼一樣

openssl passwd -1 -1表示使用MD5算法

[root@server46 ~]# openssl passwd -1

Password:

Verifying - Password:

$1$7HW0kv8y$IntkyNppqtTQ2fHAJ1FMk1

openssl passwd -1 -salt 雜質(zhì) 這樣計(jì)算結(jié)果就一樣了

[root@server46 ~]# openssl passwd -1

Password:

Verifying - Password:

$1$7HW0kv8y$IntkyNppqtTQ2fHAJ1FMk1

[root@server46 ~]# openssl passwd -1 -salt 7HW0kv8y

Password:

$1$7HW0kv8y$IntkyNppqtTQ2fHAJ1FMk1

man sslpasswd可以查看用法

非對(duì)稱加密:

openssl怎樣發(fā)證:

切換目錄到/etc/pki/tls/certs

make *.key就可以產(chǎn)生一個(gè)密鑰

make *.cert可以生成一個(gè)證書(shū),主要是看文件后綴生成文件,是redhat提供的便捷方式

make my.key就可以生成一個(gè)密鑰

(umask 66;openssl genrsa 1024 > my.key)

生成私鑰文件

這是在一個(gè)子shell里進(jìn)行,umask只對(duì)后面的這一個(gè)命令有效,umask執(zhí)行完以后就恢復(fù)到原來(lái)

提取公鑰:

openssl rsa -in my.key -pubout -out myr.pubkey

[root@server46 certs]# (umask 66; openssl genrsa 1024 > my.key)

Generating RSA private key, 1024 bit long modulus

...++++++

........++++++

e is 65537 (0x10001)

[root@server46 certs]# cat my.key

-----BEGIN RSA PRIVATE KEY-----

MIICXQIBAAKBgQDRSlvZZ7p7sRbczdGhcw/8z5mzEKIjDZw63ffsxCDC9XWKO0vE

FaxbPrgwZYF+iu8QHUKVzuJoqO8MmfY7p9aGz2WT2GQ/wUTnjsbL8mNbSclV/2m8

K0XZqSLsKzuhaBOFC+sylQvnZiXP23slNWZIuV0EVh9k2ULSV4f8B5QtywIDAQAB

AoGATNkA4NM1pjVgL7NjReT5+dpAlX+GCVj2BKd8YXOik/ONNTSQnW9X2ikteJfM

9KoPHdugl2FfwQ5GuFnQEBeQrUV5SnR09k2OZTsdOMVNXqamf4V/rXidOs+L3RVK

Q4X6vpasS1CJ1/q/fCcsi1Nl0nLcV9stLXbmEzYqE6+hwAECQQDqxrbF5W9j5vVM

ZkKmvx1ViojwTJovlkOtl6RSkqHMR3msnHhizbc+iGrGiP/vH9H+AvDK7AJPNVng

kHAa5YGbAkEA5DXX0dIajPoAdLvmNG1kNY1fp6IJjfR8UJRWeOwjhVjul1yp47hP

bM/f55OmowdsQamfNVwk4P5iYIcZ8uwfkQJBAJoXToLYsaF6Rumb/IcAzLoGMRa2

0EQHdegLrVhc0UEIcH2wPPtsVab/VkV0SbaixerX9z7YZDOkqpbPdiTRGZ0CQBWv

2DakVMmY6HovcQ0CaEd+i9yOVYIb/cRalG0hY67EaMgRkkOFvGaGyqxjJ67Ogccr

q2mSvB51jjvGGv0u20ECQQCHvgJkF3xHkQnahqCTTgym0CNocHhVfyo6KveIfBAk

Vz69+zsGK2kKBOseSbgRKqVmM21Iqu0aZatjEevHwZIo

-----END RSA PRIVATE KEY-----

[root@server46 certs]# openssl rsa -in my.key -pubout -out my.pubkey

writing RSA key

[root@server46 certs]# cat my.pubkey

-----BEGIN PUBLIC KEY-----

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDRSlvZZ7p7sRbczdGhcw/8z5mz

EKIjDZw63ffsxCDC9XWKO0vEFaxbPrgwZYF+iu8QHUKVzuJoqO8MmfY7p9aGz2WT

2GQ/wUTnjsbL8mNbSclV/2m8K0XZqSLsKzuhaBOFC+sylQvnZiXP23slNWZIuV0E

Vh9k2ULSV4f8B5QtywIDAQAB

-----END PUBLIC KEY-----

發(fā)證步驟:

1、首先生成一對(duì)密鑰(S/P密鑰)

2、然后把公鑰放在一個(gè)叫證書(shū)頒發(fā)請(qǐng)求里(里面包括你的公鑰,姓名,地址,等一些列描述信息)

發(fā)送到證書(shū)頒發(fā)機(jī)構(gòu)

3、CRT證書(shū)就生成了

自己成為CA:

1、cd /etc/pki/CA

有一個(gè) private 文件,里面專門放CA的私鑰文件

2、給自己生成一個(gè)密鑰

(umask 66; openssl genrsa 2048 > private/cakey.pem[這里只能叫cakey.pem])

ll private

給自己發(fā)證書(shū):

openssl req -new -x509 -key private/cake.pem -out cacert.pem

openssl req -new -x509 -key private/cake.pem -out cacert.pem

接下來(lái)會(huì)提示你輸入一些信息

寫(xiě)完之后就是一個(gè)自簽的證書(shū)

接下來(lái)就可以給別人發(fā)證了

view plaincopy to clipboardprint?

openssl req -new -x509 -key private/cake.pem -out cacert.pem -days3655

openssl req -new -x509 -key private/cake.pem -out cacert.pem -days3655

3、編輯cA的配置文件

view plaincopy to clipboardprint?

vim /etc/pki/tls/openssl.cnf這里定義了

vim /etc/pki/tls/openssl.cnf這里定義了

找到【 CA_default 】字段

修改 dir 改為絕對(duì)路徑

這里有些目錄沒(méi)有需要我們手動(dòng)建立,在這個(gè)配置文件內(nèi)我們都能找到

然后還可以修改默認(rèn)信息

到這里才 算是一個(gè)完整的CA

4、接下來(lái)給web服務(wù)器做一個(gè)證書(shū):

view plaincopy to clipboardprint?

cd /etc/httpd

mkdir ssl

cd ssl

(umask 66;openssl genrsa 2048 > web.key)

cd /etc/pki/CA

mkdir certs crl newcerts

touch index.txt serial

echo 01 > serial

openssl req -new -key wed.key -out wed.csr 這是一個(gè)證書(shū)頒發(fā)請(qǐng)求

opssl ca -in wed.csr -out web.crt 頒發(fā)證書(shū)

cd /etc/httpd

mkdir ssl

cd ssl

(umask 66;openssl genrsa 2048 > web.key)

cd /etc/pki/CA

mkdir certs crl newcerts

touch index.txt serial

echo 01 > serial

openssl req -new -key wed.key -out wed.csr 這是一個(gè)證書(shū)頒發(fā)請(qǐng)求

opssl ca -in wed.csr -out web.crt 頒發(fā)證書(shū)

然后敲兩次回車 就ok了

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章名稱:加密認(rèn)證功能-創(chuàng)新互聯(lián)
分享地址:http://bm7419.com/article42/ddppec.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航網(wǎng)站收錄、做網(wǎng)站品牌網(wǎng)站制作、定制開(kāi)發(fā)、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)