一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對(duì)稱加密與非對(duì)稱加密

程序員cxuan ? 來(lái)源:程序員cxuan ? 2023-09-13 15:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

計(jì)算機(jī)網(wǎng)絡(luò)在給我們帶來(lái)便利的同時(shí),也存在很多安全隱患,比如信息偽造,病毒入侵,端點(diǎn)監(jiān)聽(tīng),SQL 注入等,給我們?nèi)粘I钤斐珊車?yán)重的影響。

那么這篇文章我就跟大家聊聊常見(jiàn)的網(wǎng)絡(luò)安全隱患,只作為科普,不能作為網(wǎng)安系列文章。

網(wǎng)絡(luò)安全性威脅的種類

網(wǎng)絡(luò)通信中可能會(huì)受到各種各樣的潛在的安全性威脅,這些威脅總的來(lái)講可以大致分為下面幾類:

  • 截獲(interception):攻擊者從網(wǎng)絡(luò)上竊聽(tīng)他人的通信內(nèi)容。

  • 中斷(interruption):攻擊者會(huì)強(qiáng)制中斷其他人在網(wǎng)絡(luò)上的通信。

  • 篡改(modification):攻擊者會(huì)修改他人在網(wǎng)絡(luò)上發(fā)出的報(bào)文。

  • 偽造(fabrication):攻擊者會(huì)在網(wǎng)絡(luò)上發(fā)出偽造信息產(chǎn)生誤導(dǎo)。

在上面四種網(wǎng)絡(luò)安全類型中,截獲是屬于被動(dòng)攻擊的,因?yàn)榻孬@主要為了竊聽(tīng)信息,它并沒(méi)有攻擊行為;而中斷、篡改和偽造都是主動(dòng)攻擊,他們會(huì)產(chǎn)生攻擊行為。

這里先來(lái)認(rèn)識(shí)一個(gè)新的概念叫 PDU ,PDU 的官方解釋是協(xié)議數(shù)據(jù)單元,但是它其實(shí)指的就是計(jì)算機(jī)網(wǎng)絡(luò)這幾層模型里面所描述的數(shù)據(jù)單元,比如應(yīng)用層交換的就是應(yīng)用數(shù)據(jù),TCP 層的 PDU 交換的就是段。

在被動(dòng)攻擊中,攻擊者只是觀察和分析 PDU ,并沒(méi)有對(duì)通信內(nèi)容造成干擾。通過(guò)觀察和分析 PDU,進(jìn)而了解通信雙方的通信類型,通信雙方的地址和身份,這種被動(dòng)攻擊又叫做流量分析(traffic analysis)

主動(dòng)攻擊是指攻擊者對(duì)通信內(nèi)容中的 PDU 進(jìn)行各種處理。比如有選擇的更改、替換 PDU 中的記錄,甚至還可以偽造 PDU ,記錄之前截獲的 PDU ,在其他連接中釋放此 PDU ,造成通信干擾和破壞。

主動(dòng)攻擊還可以細(xì)分為下面三種類型:

  • 更改報(bào)文信息:這個(gè)就是我上面說(shuō)到的替換修改甚至偽造報(bào)文信息,對(duì) PDU 的真實(shí)性和完整性進(jìn)行攻擊。

  • 拒絕服務(wù):攻擊者會(huì)在網(wǎng)絡(luò)上發(fā)送大量的分組,使得目標(biāo)服務(wù)無(wú)法處理大量的分組信息,使得目標(biāo)服務(wù)器無(wú)法提供正常有效的服務(wù),這種攻擊又叫做拒絕服務(wù) Dos(Denial of Service),還有一種由成千上萬(wàn)個(gè)分布式節(jié)點(diǎn)一起對(duì)目標(biāo)服務(wù)器發(fā)起攻擊的方式,叫做分布式拒絕服務(wù) DDos(Distributed Denial of Service)。

  • 連接偽造:攻擊者試圖使用之前記錄下來(lái)的信息和身份進(jìn)行偽造發(fā)起連接請(qǐng)求。

那么我們?cè)撊绾沃烙?jì)算機(jī)被攻擊了呢?

對(duì)于被動(dòng)攻擊,通常是無(wú)法檢測(cè)出來(lái)的,對(duì)于主動(dòng)攻擊,我們通常會(huì)以下面這幾個(gè)大前提進(jìn)行防范:

  • 防止析出報(bào)文內(nèi)容

  • 防止流量分析

  • 檢測(cè)更改報(bào)文內(nèi)容

  • 檢測(cè) DDos

  • 檢測(cè)偽造初始化連接

對(duì)于被動(dòng)攻擊,可以采用各種數(shù)據(jù)的加密技術(shù);對(duì)于主動(dòng)攻擊,可以采用防范措施與加密技術(shù)結(jié)合防范。

還有一種威脅比較大的是惡意程序,會(huì)對(duì)互聯(lián)網(wǎng)造成比較大的影響,據(jù)史料記載,互聯(lián)網(wǎng)編年體到現(xiàn)在出現(xiàn)比較大規(guī)模影響的病毒有:計(jì)算機(jī)病毒、計(jì)算機(jī)蠕蟲(chóng)、特洛伊木馬、邏輯炸彈、勒索軟件等。

數(shù)據(jù)加密的模型

由于通信存在不安全性,所以出現(xiàn)了加密技術(shù),使用加密技術(shù)對(duì)報(bào)文進(jìn)行加密后,再傳到目標(biāo)服務(wù)器后再進(jìn)行解密,一般的加密和解密模型如下圖所示:

cb1ed08a-51c9-11ee-a25d-92fbcf53809c.png

上圖所示的加密密鑰和解密密鑰所使用的密鑰 K 通常是一串字符串,一般來(lái)說(shuō)會(huì)有下面這種公式

Y = Ek(X)

通過(guò)加密算法使用加密密鑰對(duì)明文 X 進(jìn)行加密。

解密算法是加密算法的逆運(yùn)算,再進(jìn)行解密時(shí)如果不使用事先約定好的密鑰 K 就無(wú)法完成解密工作。

Dk(Y) = Dk(Ek(x)) = X

這里我們假設(shè)了加密密鑰和解密密鑰是相同的,但真實(shí)情況未必一定是相同的,只不過(guò)加密密鑰和解密密鑰存在著某種關(guān)聯(lián)性,這個(gè)密鑰通常由密鑰中心提供。當(dāng)密鑰進(jìn)行傳輸時(shí),一定要經(jīng)過(guò)安全信道,否則會(huì)有安全風(fēng)險(xiǎn)。

這里延伸出來(lái)了兩個(gè)新的概念,密碼編碼學(xué)(cryptography)密碼分析學(xué)(cryptanalysis)。密碼編碼學(xué)著重對(duì)密碼進(jìn)行設(shè)計(jì)的學(xué)科,密碼分析學(xué)著重對(duì)報(bào)文進(jìn)行分析,提煉出加密所使用明文或者密鑰的學(xué)科。這兩個(gè)學(xué)科合起來(lái)就是密碼學(xué)。其實(shí)密碼學(xué)歸根結(jié)底就是做好加密和解密的這個(gè)過(guò)程。

對(duì)稱加密和非對(duì)稱加密

從很早以前人類就有了對(duì)通話內(nèi)容進(jìn)行加密的思想,進(jìn)入 20 世紀(jì)以來(lái),隨著電子信息、線性代數(shù)以及計(jì)算復(fù)雜性理論等學(xué)科的研究深入,密碼學(xué)進(jìn)入了一個(gè)新的發(fā)展階段,一共出現(xiàn)了兩種密碼機(jī)制:對(duì)稱加密和非對(duì)稱加密。

對(duì)稱加密

所謂的對(duì)稱加密,起歸根結(jié)底在于加密和解密的密鑰是相同的。

數(shù)據(jù)加密標(biāo)準(zhǔn)DES(Data Encryption Standard)就是一種對(duì)稱加密的標(biāo)準(zhǔn),DES 可以說(shuō)是用途最廣泛的對(duì)稱加密算法。

DES 是一種分組密碼,在加密前首先先對(duì)整個(gè)報(bào)文進(jìn)行分組,每一組都是 64 位的二進(jìn)制數(shù)據(jù)。然后對(duì)每一個(gè) 64 位的二進(jìn)制數(shù)據(jù)進(jìn)行加密,產(chǎn)生一組 64 位的密文數(shù)據(jù),最后將各組密文串起來(lái),就是整個(gè)加密密文。使用的密鑰是 64 位(實(shí)際使用 56 位,最后 8 位于奇偶校驗(yàn))。

cb5ae4d0-51c9-11ee-a25d-92fbcf53809c.png

在 DES 分組加密機(jī)制中,進(jìn)行保密的只是加密密鑰,而加密算法是公開(kāi)的。

不過(guò) DES 的這種加密機(jī)制是存在弊端的:由于 DES 會(huì)把報(bào)文拆開(kāi)成為一組一組的 64 位數(shù)據(jù),64 位二進(jìn)制數(shù)據(jù)有 56 位可用,所以數(shù)據(jù)總量是 2 ^ 56 次方,它的密碼生命周期非常段,這個(gè)數(shù)據(jù)總量在現(xiàn)在的計(jì)算機(jī)世界非常容易被破解!在 1999 年當(dāng)時(shí)價(jià)值 100 萬(wàn)和 1000 萬(wàn)美元的超級(jí)計(jì)算機(jī)暴力破解 DES 的密碼分別用了 3.5 小時(shí)和 21 分鐘。

在 DES 之后出現(xiàn)了IDEA(International Data Encryption Algorithm)算法,IDEA 使用的是 128 位密鑰進(jìn)行加密,這個(gè)長(zhǎng)度很難被破解了。

非對(duì)稱加密

非對(duì)稱加密其實(shí)還有一個(gè)叫法是公鑰密碼加密,非對(duì)稱加密使用的是不同的加密密鑰和解密密鑰。

非對(duì)稱加密出現(xiàn)的原因大概是基于兩個(gè)方面:一是由于對(duì)稱加密的密鑰分配問(wèn)題,二是由于對(duì)數(shù)字簽名的要求。在對(duì)稱加密中,加密解密雙方用的是同一種密鑰,這是如何做到的呢?一種是事先約定,另外一種是使用互聯(lián)網(wǎng)信使來(lái)傳送。在大規(guī)?;ヂ?lián)網(wǎng)中,用信使來(lái)傳輸密鑰顯然是不太合適的,但是如果采用事先約定的方式,那么對(duì)于后續(xù)的更新和迭代來(lái)說(shuō)又比較困難。還有一種方式是使用安全系數(shù)比較高的密鑰分配中心(Key Distribution Center),也會(huì)使網(wǎng)絡(luò)的成本增加。

同時(shí),一些需要對(duì)信息內(nèi)容進(jìn)行保密的機(jī)構(gòu)越來(lái)越需要數(shù)字簽名,根據(jù)數(shù)字簽名,對(duì)方才知道某項(xiàng)內(nèi)容是由特定的人或者公司產(chǎn)生的。根據(jù)這兩項(xiàng)原因?qū)е铝朔菍?duì)稱加密的出現(xiàn)。

非對(duì)稱加密主要的算法有三種:RSA、DSA、ECDSA,目前使用最廣泛、最普遍的非對(duì)稱加密算法就是 RSA。RSA 采用的是數(shù)論中的大數(shù)分解方式。

非對(duì)稱加密的特點(diǎn)是這樣的:

某些能夠生產(chǎn)公鑰和私鑰的密鑰生成器會(huì)生產(chǎn)出一對(duì)公鑰和私鑰給接受者 B :即加密密鑰 PKB 和 解密密鑰 SKB。發(fā)送者所使用的加密密鑰也是 PKB,這個(gè)密鑰是公開(kāi)的,而接受者的解密密鑰 SKB 是非公開(kāi)的,接受者 B 特有的。

發(fā)送者利用接受者的密鑰 PKB 通過(guò)加密算法 E 對(duì)密鑰進(jìn)行加密,得出了密文 Y 再發(fā)送給接受者 B:

Y = E(PKB(X))

接受者 B 用自己的私鑰通過(guò)解密算法 D 對(duì)密文 Y 進(jìn)行解密,得出密文 X :

D(SKB(Y))= D(SKB)( E(PKB(X))) = X

下圖是這個(gè)加密解密過(guò)程:

cb97ddae-51c9-11ee-a25d-92fbcf53809c.png

這里需要注意一點(diǎn)的是,任何加密方法的安全性都取決于密鑰的長(zhǎng)度,以及攻破密文所需要的計(jì)算量,而不是簡(jiǎn)單的取決于加密本身。

數(shù)字簽名

我們?cè)谌粘?xiě)信、上交某些材料的時(shí)候都需要親筆簽名或者使用手印、印章的方式來(lái)驗(yàn)證真實(shí)性,那么在互聯(lián)網(wǎng)中如何驗(yàn)證其真實(shí)性呢?在網(wǎng)絡(luò)通信中,使用數(shù)字簽名的方式來(lái)驗(yàn)證,數(shù)字簽名必須實(shí)現(xiàn)下面三點(diǎn)功能:

  1. 接受者能夠核實(shí)發(fā)送者對(duì)報(bào)文的簽名,確定報(bào)文是由發(fā)送者發(fā)出的,別人無(wú)法進(jìn)行偽造,這叫做報(bào)文鑒別。

  2. 接受者確信所收到數(shù)據(jù)和發(fā)送者發(fā)送的數(shù)據(jù)是一致的,沒(méi)有被篡改過(guò),這叫做報(bào)文完整性。

  3. 發(fā)送者事后不能抵賴自己發(fā)送的報(bào)文,這叫做不可否認(rèn)。

下面來(lái)討論一下數(shù)字簽名的鑒別過(guò)程:

首先,發(fā)送者 A 用自己的私鑰 SKA 對(duì)報(bào)文 A 經(jīng)過(guò)算法 D 后得出密文 D(SKA(X)),算法 D 不是解密運(yùn)算,它只是一個(gè)能得到不可讀的密文的算法。A 把經(jīng)過(guò)算法 D 運(yùn)算后得出來(lái)的密文傳給 B,B 對(duì)其進(jìn)行驗(yàn)簽。B 會(huì)用 A 的公鑰進(jìn)行 E 運(yùn)算,還原出報(bào)文 X 。

這里需要注意一點(diǎn):任何人用 A 的公鑰 PKA 進(jìn)行 E 運(yùn)算后都會(huì)得出 A 發(fā)送的明文 X ,所以下圖中的 D 和 E 算法并不是加密解密算法。

cbce40ce-51c9-11ee-a25d-92fbcf53809c.png

除了 A 之外沒(méi)有人持有 A 的私鑰 SKA ,所以除 A 外沒(méi)有人能產(chǎn)生密文 D(SKA(X))。這樣,B 就相信報(bào)文 X 是簽名 A 發(fā)送的,這就叫做報(bào)文鑒別。如果其他人篡改過(guò)報(bào)文,但是卻無(wú)法使用私鑰 A 的簽名 SKA,那么 B 使用公鑰解密后就知道報(bào)文被篡改過(guò),這樣就保證了報(bào)文的完整性。如果 A 想要抵賴自己層發(fā)給過(guò)報(bào)文 B ,那么 B 就可以把 X 以及密文 D(SKA(X))拿給公證的第三者,很容易證明。這就是不可否認(rèn)。

但是上述過(guò)程僅僅對(duì)報(bào)文進(jìn)行了簽名,卻并沒(méi)有對(duì)報(bào)文本身進(jìn)行任何加密操作,如果傳輸?shù)倪^(guò)程中被攻擊者截獲到了 D(SKA(X))并且知道發(fā)送者身份的人,就可以通過(guò)查閱相關(guān)手冊(cè)知道 A 的公鑰,從而得知 A 的明文,這顯然是不安全的,如何解決呢?

需要使用上面的非對(duì)稱加密算法再對(duì)明文 X 進(jìn)行加密一波,示意圖如下。

cc1e4376-51c9-11ee-a25d-92fbcf53809c.png

示意圖畫(huà)出來(lái),估計(jì)大家也好理解,無(wú)非就是增加了一步用 B 的公鑰加密,在用 B 的私鑰解密的過(guò)程。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:對(duì)稱加密與非對(duì)稱加密

文章出處:【微信號(hào):cxuangoodjob,微信公眾號(hào):程序員cxuan】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    網(wǎng)絡(luò)高效安全數(shù)據(jù)傳輸方法設(shè)計(jì)

    現(xiàn)行的網(wǎng)絡(luò)安全傳輸方案中經(jīng)典的方法分為對(duì)稱加密非對(duì)稱加密2種。對(duì)稱加密運(yùn)算速度快但容易被攻擊和
    發(fā)表于 10-03 12:59 ?1681次閱讀
    網(wǎng)絡(luò)高效安全數(shù)據(jù)傳輸方法設(shè)計(jì)

    基于Dragonboard 410c的指紋鎖(四)

    用同一個(gè)密鑰,如何把密鑰安全的傳遞到解密者手上就成了必須要解決的安全的問(wèn)題。圖 對(duì)稱加密(來(lái)源于網(wǎng)絡(luò))2.非對(duì)稱加密非對(duì)稱
    發(fā)表于 09-26 18:14

    如何在安全OS端實(shí)現(xiàn)RSA私鑰的生成與存儲(chǔ)功能呢

    。GlobalPlatform APIOPTEE實(shí)現(xiàn)了《GPD_TEE_Internal_Core_API_Specification》這一套API,提供了對(duì)稱加密、非對(duì)稱加密、簽名、
    發(fā)表于 12-29 07:39

    關(guān)于應(yīng)用到游戲中的加密算法的用途及缺陷

    加密主要包含通信數(shù)據(jù)和存儲(chǔ)數(shù)據(jù)加密,目的都是為了保證其傳送和儲(chǔ)存的隱秘性,從而保證數(shù)據(jù)的安全。 目前常見(jiàn)的加密方式有對(duì)稱加密、
    發(fā)表于 09-25 11:15 ?0次下載

    什么是非對(duì)稱加密?非對(duì)稱加密概念

    對(duì)稱加密算法在加密和解密時(shí)使用的是同一個(gè)秘鑰;而非對(duì)稱加密算法需要兩個(gè)密鑰來(lái)進(jìn)行加密和解密,這兩
    發(fā)表于 12-10 10:38 ?2.2w次閱讀
    什么是<b class='flag-5'>非對(duì)稱</b><b class='flag-5'>加密</b>?<b class='flag-5'>非對(duì)稱</b><b class='flag-5'>加密</b>概念

    一種安全性和身份驗(yàn)證保護(hù)的加密軟件PGP介紹

    PGP是首個(gè)實(shí)現(xiàn)公鑰密碼學(xué)的大范圍應(yīng)用軟件之一。它使用了混合密碼系統(tǒng)架構(gòu),使用對(duì)稱加密非對(duì)稱加密來(lái)實(shí)現(xiàn)高級(jí)別的安全性。 在對(duì)內(nèi)容進(jìn)行加密
    發(fā)表于 05-09 10:30 ?3338次閱讀

    如何理解區(qū)塊鏈密碼學(xué)中的非對(duì)稱加密

    當(dāng)前密碼學(xué)中的加密解密方式主要能分成兩類,分別是對(duì)稱加密非對(duì)稱加密。這兩個(gè)加密體系的構(gòu)成都是一
    發(fā)表于 11-29 11:36 ?2502次閱讀

    HTTPS為什么是安全的

    在HTTPS出現(xiàn)之前,所有請(qǐng)求都是以明文方式送出的,那么如果有人在傳輸途中偷聽(tīng)或者抓包的話,你的所有通信內(nèi)容都會(huì)泄漏。比較安全的方法是將通信內(nèi)容加密在發(fā)送給對(duì)方。加密方法有兩種,對(duì)稱加密
    發(fā)表于 06-11 08:00 ?0次下載
    HTTPS為什么是安全的

    解析加密算法:可逆加密和不可逆加密

    加密算法我們整體可以分為:可逆加密和不可逆加密,可逆加密又可以分為:對(duì)稱加密
    發(fā)表于 08-08 10:11 ?1.9w次閱讀

    HTTPS的底層原理如何實(shí)現(xiàn)?

    大家可能都聽(tīng)說(shuō)過(guò) HTTPS 協(xié)議之所以是安全的是因?yàn)?HTTPS 協(xié)議會(huì)對(duì)傳輸?shù)臄?shù)據(jù)進(jìn)行加密,而加密過(guò)程是使用了非對(duì)稱加密實(shí)現(xiàn)。但其實(shí),HTTPS 在內(nèi)容傳輸?shù)?/div>
    發(fā)表于 01-30 10:44 ?752次閱讀

    常見(jiàn)加密算法分類

    在開(kāi)發(fā)過(guò)程中,為了保證程序能夠安全高效運(yùn)行,數(shù)據(jù)信息不被泄露,我們通常都會(huì)對(duì)要操作的數(shù)據(jù)進(jìn)行加解密,從而提高程序的安全性。常見(jiàn)加密算法分類見(jiàn)下圖,可分為對(duì)稱加密、非對(duì)稱
    的頭像 發(fā)表于 11-21 10:08 ?1866次閱讀
    常見(jiàn)<b class='flag-5'>加密</b>算法分類

    Android安全性:保護(hù)你的應(yīng)用和用戶數(shù)據(jù)

    HTTPS,以加密數(shù)據(jù)傳輸。此外,應(yīng)用開(kāi)發(fā)者還可以使用其他加密技術(shù),例如對(duì)稱加密非對(duì)稱加密,來(lái)
    的頭像 發(fā)表于 11-25 11:24 ?1915次閱讀

    云安全的關(guān)鍵技術(shù)有哪些

    、安全審計(jì)和合規(guī)性等。 數(shù)據(jù)加密 數(shù)據(jù)加密是保護(hù)數(shù)據(jù)安全的一種重要技術(shù)。在云計(jì)算環(huán)境中,數(shù)據(jù)加密可以確保數(shù)據(jù)在傳輸和存儲(chǔ)過(guò)程中的安全性。數(shù)據(jù)加密技術(shù)可以分為兩類:
    的頭像 發(fā)表于 07-02 09:20 ?1333次閱讀

    云安全主要考慮的關(guān)鍵技術(shù)有哪些

    、網(wǎng)絡(luò)安全、數(shù)據(jù)備份和恢復(fù)、安全審計(jì)和監(jiān)控等。 數(shù)據(jù)加密 數(shù)據(jù)加密是云安全的基礎(chǔ),它通過(guò)將數(shù)據(jù)轉(zhuǎn)換為不可讀的格式來(lái)保護(hù)數(shù)據(jù)的機(jī)密性。數(shù)據(jù)加密技術(shù)可以分為兩類:對(duì)稱
    的頭像 發(fā)表于 07-02 09:27 ?1285次閱讀

    凌科芯安LKT4304安全芯片在智能家居網(wǎng)關(guān)中的應(yīng)用

    采用對(duì)稱加密非對(duì)稱加密相結(jié)合的混合加密架構(gòu)。在智能家居網(wǎng)關(guān)與服務(wù)器通信過(guò)程中,非對(duì)稱
    的頭像 發(fā)表于 06-16 17:43 ?512次閱讀
    凌科芯安LKT4304安全芯片在智能家居網(wǎng)關(guān)中的應(yīng)用