亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

區(qū)塊鏈學(xué)習(xí)之密碼學(xué)安全技術(shù)(五)

aboutU / 2165人閱讀

摘要:非對(duì)稱(chēng)加密算法的安全性往往需要基于數(shù)學(xué)問(wèn)題來(lái)保障,目前主要有基于大數(shù)質(zhì)因子分解離散對(duì)數(shù)橢圓曲線等經(jīng)典數(shù)學(xué)難題進(jìn)行保護(hù)。消息認(rèn)證碼基于對(duì)稱(chēng)加密,可以用于對(duì)消息完整性進(jìn)行保護(hù)。

Hash 算法與數(shù)字摘要

Hash (哈?;蛏⒘校┧惴ㄋ軐⑷我忾L(zhǎng)度的二進(jìn)制明文串映射為較短的(通常是固定長(zhǎng)度的)二進(jìn)制串(Hash值),并且不同的明文很難映射為相同的Hash值。

Hash 定義

Hash (哈?;蛏⒘校?能將任意長(zhǎng)度的二進(jìn)制明文串映射為較短的(通常是固定長(zhǎng)度的)二進(jìn)制串(Hash值),并且不同的明文很難映射為相同的 Hash 值。
Hash 值在應(yīng)用中又常被稱(chēng)為指紋或摘要(digest)。Hash 算法的核心思想也經(jīng)常被應(yīng)用到基于內(nèi)容的編址或命名算法中

一個(gè)優(yōu)秀的Hash算法將能實(shí)現(xiàn)如下功能:

正想快速: 給定明文和 Hash 算法,在有限時(shí)間和有限資源內(nèi)能計(jì)算得到Hash值

逆向困難: 給定(若干)Hash值,在有限時(shí)間內(nèi)很難(基本不可能)逆推出明文

輸入敏感: 原始輸入信息發(fā)生任何改變,新產(chǎn)生的 Hash 值都應(yīng)該出現(xiàn)很大不同

沖突避免: 很難找到兩端內(nèi)容不同的明文,使得它們的 Hash 值一致(發(fā)生碰撞)、

沖突避免:有時(shí)候又稱(chēng)為“抗碰撞性”,分為:

弱抗碰撞性: 如果給定明文前提下,無(wú)法找到與之碰撞的其他明文,則算法具有“弱碰撞性”

強(qiáng)抗碰撞性: 如果無(wú)法找到任意兩個(gè)發(fā)生 Hash 碰撞的明文,則算法具有“強(qiáng)抗碰撞性”

常見(jiàn)算法

目前常見(jiàn)的 Hash 算法包括 MD5 和 SHA系列算法,MD5算法和SHA1已經(jīng)被破解,一般推薦使用SHA2-256或更安全的算法

性能

Hash算法分為:

計(jì)算敏感型(一般都是): 意味著計(jì)算資源是瓶頸,主頻越高的 CPU 運(yùn)行Hash 算法的速度也越快。因此可以通過(guò)硬件加速來(lái)提升Hash計(jì)算的吞吐量。

非計(jì)算敏感型: 例如 scrypt 算法,計(jì)算過(guò)程需要大量的內(nèi)存資源,節(jié)點(diǎn)不能通過(guò)簡(jiǎn)單地增加更多的 CPU 來(lái)獲得 Hash 性能的提升。這樣的Hash算法經(jīng)常用于在 避免算力攻擊的場(chǎng)景

數(shù)字摘要

數(shù)字摘要:對(duì)數(shù)字內(nèi)容進(jìn)行Hash運(yùn)算,獲取唯一的摘要值來(lái)指代原始完整的數(shù)字內(nèi)容。數(shù)字摘要是 Hash算法最重要的一個(gè)用途。利用Hash函數(shù)的抗碰撞性特點(diǎn),數(shù)字摘要可以解決確保內(nèi)容未被篡改過(guò)的問(wèn)題。

Hash攻擊與防護(hù)

Hash 算法并不是一種加密算法,不能用于對(duì)信息的保護(hù)。但Hash算法常用于對(duì)口令的保存上。例如用戶(hù)登錄網(wǎng)站,網(wǎng)站后臺(tái)保存口令的Hash值,每次登錄進(jìn)行比對(duì)即可,即便數(shù)據(jù)庫(kù)泄露,也無(wú)法從 Hash值還原口令,只能進(jìn)行窮舉。

Hash攻擊: 由于有時(shí)用戶(hù)設(shè)置口令的強(qiáng)度不夠,只是一些常見(jiàn)的簡(jiǎn)單字符串,如password,123456等。有人專(zhuān)門(mén)搜集了這些常見(jiàn)口令,計(jì)算對(duì)應(yīng)的Hash值,制作成字典。這樣通過(guò)Hash值可以快速反查到原始口令。這一類(lèi)以空間換時(shí)間的攻擊方法包括字典攻擊彩虹表攻擊(只保存一條Hash鏈的首尾值,相對(duì)字典攻擊可以節(jié)省存儲(chǔ)空間)等。

Hash攻擊防范方法:為了防范這一類(lèi)攻擊,一般采用加鹽(salt)的方法。保存的不是口令明文的 Hash值,而是口令明文再加上一段隨機(jī)字符串(即“鹽”)之后的Hash值。Hash結(jié)果和“鹽”分別存放在不同的地方,這樣只要不是兩者同時(shí)泄露,攻擊者就很難破解了。

加解密算法

加解密算法是密碼學(xué)的核心技術(shù),可分為兩大基本類(lèi)型:

加解密系統(tǒng)基本組成

現(xiàn)代加解密系統(tǒng)的典型組件一般包括: 加解密算法、加密密鑰、解密密鑰。其中,加解密算法自身是固定不變的,并且一般是公開(kāi)可見(jiàn)的。密鑰則是關(guān)鍵的信息,需要安全地保存起來(lái),甚至通過(guò)特殊硬件進(jìn)行保護(hù)。對(duì)同一種算法,密鑰需要按照特定算法每次加密前隨機(jī)生成,長(zhǎng)度越長(zhǎng),則加密強(qiáng)度越大。加解密基本過(guò)程如下:

根據(jù)加解密過(guò)程中使用的密鑰是否相同,算法可以分為對(duì)稱(chēng)加密非對(duì)稱(chēng)加密,兩種模式適用于不同的需求,恰好形成互補(bǔ),某些時(shí)候可以組合使用,形成混合加密機(jī)制。

密碼學(xué)實(shí)現(xiàn)的安全往往是通過(guò)算法所依賴(lài)的數(shù)學(xué)問(wèn)題來(lái)提供,而并非通過(guò)對(duì)算法的實(shí)現(xiàn)過(guò)程進(jìn)行保密。

對(duì)稱(chēng)加密算法

對(duì)稱(chēng)加密算法,加密和解密過(guò)程的密鑰是相同的。

優(yōu)點(diǎn):加解密效率(速度快,空間占用小)和加密強(qiáng)度都很高。

缺點(diǎn):參與方都需要提前持有密鑰,一旦有人泄露則安全性被破壞,另外如何在不安全通道中提前分發(fā)密鑰也是個(gè)問(wèn)題,需要借助Diffie-Hellman協(xié)議或非對(duì)稱(chēng)加密方式來(lái)實(shí)現(xiàn)。

對(duì)稱(chēng)密碼從實(shí)現(xiàn)原理上可以分為兩種:

分組密碼: 將明文切分為定長(zhǎng)數(shù)據(jù)塊作為基本加密單位,應(yīng)用最為廣泛。分組對(duì)稱(chēng)加密代表算法包括 DES、3DES、AES、IDEA等

序列密碼: 每次只對(duì)一個(gè)字節(jié)或字符進(jìn)行加密處理,且密碼不斷變化,只用在一些特定領(lǐng)域,如:數(shù)字媒介的加密等。序列密碼,又稱(chēng)流密碼,每次通過(guò)偽隨機(jī)數(shù)生成器來(lái)生成偽隨機(jī)密鑰串。

對(duì)稱(chēng)加密算法適用于大量數(shù)據(jù)的加解密過(guò)程;不能用于簽名場(chǎng)景;并且往往需要提前分發(fā)好密鑰;

非對(duì)稱(chēng)加密算法

非對(duì)稱(chēng)加密可以很好的解決對(duì)稱(chēng)加密中提前分發(fā)密鑰的問(wèn)題。非對(duì)稱(chēng)加密中,私鑰一般需要通過(guò)隨機(jī)數(shù)算法生成,公鑰可以根據(jù)私鑰生成。公鑰一般公開(kāi),他人可獲取的;私鑰一般是個(gè)人持有,他人不能獲取

非對(duì)稱(chēng)加密算法:

優(yōu)點(diǎn): 是公私鑰分開(kāi),不安全通道也可使用。

缺點(diǎn):是處理速度(特別是生成密鑰和解密過(guò)程)往往比較慢,一般比對(duì)稱(chēng)加解密算法慢2~3個(gè)數(shù)量級(jí);同時(shí)加密強(qiáng)度也往往不如對(duì)稱(chēng)加密算法。

非對(duì)稱(chēng)加密算法的安全性往往需要基于數(shù)學(xué)問(wèn)題來(lái)保障,目前主要有基于大數(shù)質(zhì)因子分解、離散對(duì)數(shù)、橢圓曲線等經(jīng)典數(shù)學(xué)難題進(jìn)行保護(hù)。代表算法包括: RSA、ElGamal、橢圓曲線(ECC)、SM2等系列算法。目前普遍認(rèn)為RSA類(lèi)算法可能在不遠(yuǎn)的將來(lái)被破解,一般推薦可采用安全強(qiáng)度更高的橢圓曲線系列算法。

選擇明文攻擊

在非對(duì)稱(chēng)加密中,由于公鑰是公開(kāi)可以獲取的,因此任何人都可以給定明文,獲取對(duì)應(yīng)的密文,這就帶來(lái)選擇明文攻擊的風(fēng)險(xiǎn)。 在已知明文攻擊、已知密文攻擊、選擇明文攻擊中,最有威脅的為選擇明文攻擊。

已知明文攻擊: 得到了一些給定的明文和對(duì)應(yīng)的密文

已知密文攻擊: 只知道密文,只能通過(guò)統(tǒng)計(jì)特性分析其中有什么規(guī)律了

選擇明文攻擊:通過(guò)公鑰加密一些常用語(yǔ),截取發(fā)送方的密文和公鑰加密后的密文對(duì)比獲取信息。

為了規(guī)避選擇明文攻擊這種風(fēng)險(xiǎn),現(xiàn)有的非對(duì)稱(chēng)加密算法都引入了一定的保護(hù)機(jī)制。對(duì)同樣的明文使用同樣密鑰進(jìn)行多次加密,得到的結(jié)果完全不同,這就避免了選擇明文攻擊的破壞。實(shí)現(xiàn)上有多種思路:

對(duì)明文先進(jìn)行變形,添加隨機(jī)的字符串或標(biāo)記,再對(duì)添加后結(jié)果進(jìn)行處理。

先用隨機(jī)生成的臨時(shí)密鑰對(duì)明文進(jìn)行對(duì)稱(chēng)加密,然后再對(duì)對(duì)稱(chēng)密鑰進(jìn)行加密,即混合利用多種加密機(jī)制。

混合加密機(jī)制

混合加密機(jī)制同時(shí)結(jié)合了對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密的優(yōu)點(diǎn)。先用計(jì)算復(fù)雜度高的非對(duì)稱(chēng)加密協(xié)商出一個(gè)臨時(shí)的對(duì)稱(chēng)加密密鑰(也稱(chēng)為會(huì)話密鑰)然后雙方通過(guò)對(duì)稱(chēng)加密算法傳遞的大量數(shù)據(jù)進(jìn)行快速的加解密處理。

HTTPS 在傳統(tǒng)的HTTP層和TCP層之間通過(guò)引入 Transport Layer Security/Secure Socket Layer(TLS/SSL)加密層來(lái)實(shí)現(xiàn)可靠的傳輸
HTTPS 為典型應(yīng)用案例:

該過(guò)程的主要功能:在防止中間人竊聽(tīng)和篡改的前提下完成會(huì)話密鑰的協(xié)商。

離散對(duì)數(shù)與Diffie-Hellman 密鑰交換協(xié)議

Diffie-Hellman(DH)密鑰交換協(xié)議是一個(gè)經(jīng)典協(xié)議,使用該協(xié)議可以在不安全信道完成對(duì)稱(chēng)密鑰的協(xié)商,以便后續(xù)通信采用對(duì)稱(chēng)加密。

DH的缺點(diǎn):

阻塞性攻擊:沒(méi)有提供雙方身份的任何信息. 它是計(jì)算密集性的,因此容易遭受阻塞性攻擊,即對(duì)手請(qǐng)求大量的密鑰.受攻擊者花費(fèi)了相對(duì)多的計(jì)算資源來(lái)求解無(wú)用的冪系數(shù)而不是在做真正的工作.

容易遭受中間人的攻擊

消息認(rèn)證與數(shù)字簽名

消息認(rèn)證碼和數(shù)字簽名技術(shù)通過(guò)對(duì)消息的摘要進(jìn)行加密,可用于消息放篡改和身份證明問(wèn)題。

消息認(rèn)證碼

消息認(rèn)證碼: 全稱(chēng)是“基于Hash的消息認(rèn)證碼”。消息認(rèn)證碼基于對(duì)稱(chēng)加密,可以用于對(duì)消息完整性進(jìn)行保護(hù)。

基本過(guò)程: 對(duì)某個(gè)消息利用提前共享的對(duì)稱(chēng)密鑰和Hash算法進(jìn)行加密處理,得到HMAC值。該HMAC值持有方可以證明自己擁有共享的對(duì)稱(chēng)密鑰,并且也可以利用HMAC確保消息內(nèi)容未被篡改。

消息認(rèn)證碼一般用于證明身份的場(chǎng)景, 主要問(wèn)題是需要共享密鑰

數(shù)字簽名

數(shù)字簽名基于非對(duì)稱(chēng)加密,既可以用于證實(shí)某數(shù)字內(nèi)容的完整性,又同時(shí)可以確認(rèn)來(lái)源。

典型的場(chǎng)景: A通過(guò)信道發(fā)給B一個(gè)文件(一份信息),B如何獲知收到的文件即為A發(fā)出的原始版本?A可以先對(duì)文件內(nèi)容進(jìn)行摘要,然后用自己的私鑰對(duì)摘要進(jìn)行加密(簽名),之后同時(shí)將文件和簽名發(fā)給B。B收到文件和簽名后,用A的公鑰來(lái)解密簽名,得到數(shù)字摘要,與收到文件進(jìn)行摘要后的結(jié)果進(jìn)行比對(duì)。如果一致,說(shuō)明該文件確實(shí)是A發(fā)的(別人無(wú)法擁有A的私鑰),并且文件內(nèi)容沒(méi)有被修改過(guò)(摘要結(jié)果一致)

知名的數(shù)字簽名算法包括DSA 和 安全強(qiáng)度更高的ECSDA等。
除普通的數(shù)字簽名應(yīng)用場(chǎng)景外,針對(duì)一些特定的安全需求,產(chǎn)生了一些特殊數(shù)字簽名技術(shù):

盲簽名: 簽名者需要在無(wú)法看到原始內(nèi)容的前提下對(duì)信息進(jìn)行簽名。盲簽名可以實(shí)現(xiàn)對(duì)所簽名內(nèi)容的保護(hù),防止簽名者看到原始內(nèi)容。另一方面,盲簽名還可以實(shí)現(xiàn)防止追蹤,簽名者無(wú)法將簽名內(nèi)容和簽名結(jié)果進(jìn)行對(duì)應(yīng)。

多重簽名:即n個(gè)簽名者中,收集到至少m個(gè)(n>=m>=1)的簽名,即認(rèn)為合法。其中,n是提供的公鑰高數(shù),m是需要匹配公鑰的最少的簽名個(gè)數(shù)

群簽名:即某個(gè)群組內(nèi)一個(gè)成員可以代表群組進(jìn)行匿名簽名。簽名可以驗(yàn)證來(lái)自于該群組,卻無(wú)法準(zhǔn)確追蹤到簽名的是哪個(gè)成員

環(huán)簽名: 環(huán)簽名是一種簡(jiǎn)化的群簽名。簽名者首先選定一個(gè)臨時(shí)的簽名者集合,集合中包括簽名者自身。然后簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨(dú)立地產(chǎn)生簽名,而無(wú)需他人的幫助。簽名者集合中的其他成員可能并不知道自己被包含在最終的簽名中 。環(huán)簽名在保護(hù)匿名性方面有很多的用途。

安全性

數(shù)字簽名算法自身的安全性由數(shù)學(xué)問(wèn)題進(jìn)行保障,但在使用上,系統(tǒng)的安全性也十分關(guān)鍵。目前常見(jiàn)的數(shù)字簽名算法往往需要選取合適的隨機(jī)數(shù)作為配置參數(shù),配置參數(shù)不合理的使用或泄露都會(huì)造成安全漏洞,需要進(jìn)行安全保護(hù)。

數(shù)字證書(shū)

對(duì)于非對(duì)稱(chēng)加密算法和數(shù)字簽名來(lái)說(shuō),很重要的一點(diǎn)就是公鑰的分發(fā)。但在傳輸過(guò)程中,公鑰有沒(méi)有可能是偽造的呢?傳輸過(guò)程中有沒(méi)有可能被篡改?一旦公鑰出了問(wèn)題,則整個(gè)建立在其上的安全體系的安全性將不復(fù)存在。

數(shù)字證書(shū)機(jī)制: 可以證明所記錄信息的合法性,比如證明某個(gè)公鑰是某個(gè)實(shí)體(如組織或個(gè)人)的,并且確保一旦內(nèi)容被篡改能被探測(cè)出來(lái),從而實(shí)現(xiàn)對(duì)用戶(hù)公鑰的安全分發(fā)。

根據(jù)保護(hù)公鑰的用途,可以分為:

加密數(shù)字證書(shū):用于保護(hù)用于加密信息的公鑰

簽名驗(yàn)證數(shù)字證書(shū):用于保護(hù)用于進(jìn)行解密簽名進(jìn)行身份驗(yàn)證的公鑰

一般情況下,證書(shū)需要由證書(shū)認(rèn)證機(jī)構(gòu)來(lái)進(jìn)行簽發(fā)和背書(shū)

證書(shū)規(guī)范

一般來(lái)說(shuō),一個(gè)數(shù)字證書(shū)內(nèi)容可能包括基本數(shù)據(jù)(版本、序列號(hào))、所簽名對(duì)象信息(簽名算法類(lèi)型、簽發(fā)者信息、有效期、被簽發(fā)人、簽發(fā)的公開(kāi)密鑰)、CA的數(shù)字簽名,等等。目前使用最廣泛的標(biāo)準(zhǔn)為ITU和ISO聯(lián)合制定的X.509的 v3 版本規(guī)范
證書(shū)的頒發(fā)者還需要對(duì)證書(shū)內(nèi)容利用自己的私鑰添加簽名,以防止別人對(duì)證書(shū)內(nèi)容進(jìn)行篡改。

證書(shū)格式

X.509規(guī)范中一般推薦使用PEM格式來(lái)存儲(chǔ)證書(shū)相關(guān)的文件。證書(shū)文件的文件名后綴一般為.crt或.cer,對(duì)應(yīng)私鑰文件的文件名后綴一般為.key,證書(shū)請(qǐng)求文件的文件名后綴為.csr。有的時(shí)候也統(tǒng)一用.pem作為文件名后綴。此外還有DER格式,是采用二進(jìn)制對(duì)證書(shū)進(jìn)行保存,可以與PEM格式互相轉(zhuǎn)換。

證書(shū)信任鏈

證書(shū)中記錄了大量信息,其中最重要的包括“簽發(fā)的公開(kāi)密鑰”和“CA數(shù)字簽名”兩個(gè)信息。因此,只要使用CA的公鑰再次對(duì)著個(gè)證書(shū)進(jìn)行簽名比對(duì),就能證明某個(gè)實(shí)體的公鑰是否是合法的。

那么怎么證明用來(lái)驗(yàn)證對(duì)實(shí)體證書(shū)進(jìn)行簽名的CA公鑰自身是否合法呢?

可以通過(guò)上層的CA頒發(fā)的證書(shū)來(lái)進(jìn)行認(rèn)證

某些根CA可以通過(guò)預(yù)先分發(fā)證書(shū)來(lái)實(shí)現(xiàn)信任基礎(chǔ)

證書(shū)作為公鑰信任的基礎(chǔ),對(duì)其生命周期進(jìn)行安全管理十分關(guān)鍵。

PKI 體系

在非對(duì)稱(chēng)加密中,公鑰可以通過(guò)證書(shū)機(jī)制來(lái)進(jìn)行保護(hù),但證書(shū)的生成、分發(fā)、撤銷(xiāo)等過(guò)程并沒(méi)有在X.509規(guī)范中進(jìn)行定義。安全地管理和分發(fā)證書(shū)可以遵循PKI(Public Key Infrastructure)體系來(lái)完成。PKI體系核心解決的是證書(shū)生命周期相關(guān)的認(rèn)證和管理問(wèn)題。PKI是建立在公私鑰基礎(chǔ)上實(shí)現(xiàn)安全可靠傳遞消息和身份確認(rèn)的一個(gè)通用框架,并不代表某個(gè)特定的密碼學(xué)技術(shù)和流程。

PKI 基本組件

PKI至少包括如下核心組件:

CA(Certification Authority): 負(fù)責(zé)證書(shū)的頒發(fā)和作廢,接收來(lái)自RA的請(qǐng)求,是最核心的部分。(主要完成對(duì)證書(shū)信息的維護(hù))

RA(Registration Authority): 對(duì)用戶(hù)身份進(jìn)行驗(yàn)證,校驗(yàn)數(shù)據(jù)合法性,負(fù)責(zé)登記,審核過(guò)了就發(fā)給CA

證書(shū)數(shù)據(jù)庫(kù): 存放證書(shū),多采用X.500系列標(biāo)準(zhǔn)格式??梢耘浜螸DAP目錄服務(wù)管理用戶(hù)信息

操作流程: 用戶(hù)通過(guò)RA登記申請(qǐng)證書(shū),提供身份和認(rèn)證信息等;CA審核后完成證書(shū)的制造,頒發(fā)給用戶(hù)。用戶(hù)如果需要撤銷(xiāo)證書(shū)則需要再次向CA發(fā)出申請(qǐng)。

證書(shū)的簽發(fā)

CA對(duì)用戶(hù)簽發(fā)證書(shū)實(shí)際上是對(duì)某個(gè)用戶(hù)公鑰,使用CA的私鑰對(duì)其進(jìn)行簽名。這樣任何人都可以用CA的公鑰對(duì)該證書(shū)進(jìn)行合法性驗(yàn)證。驗(yàn)證成功則認(rèn)可該證書(shū)中所提供的用戶(hù)公鑰內(nèi)容,實(shí)現(xiàn)用戶(hù)公鑰的安全分發(fā)。

用戶(hù)證書(shū)的簽發(fā)可以有兩種方式:

由CA直接來(lái)生成證書(shū)(內(nèi)含公鑰)和對(duì)應(yīng)的私鑰發(fā)給用戶(hù)

由用戶(hù)自己生成公鑰和私鑰,然后由CA來(lái)對(duì)公鑰內(nèi)容進(jìn)行簽名(這種方式整個(gè)過(guò)程中,用戶(hù)可以保持私鑰信息的私密性,不會(huì)被其他方獲知包括CA方)

證書(shū)的撤銷(xiāo)

證書(shū)超過(guò)有效期后會(huì)作廢,用戶(hù)也可以主動(dòng)向CA申請(qǐng)撤銷(xiāo)某證書(shū)文件。

CA 無(wú)法強(qiáng)制收回已經(jīng)頒發(fā)出去的數(shù)字證書(shū),因此為了實(shí)現(xiàn)證書(shū)的作廢,往往還需要維護(hù)一個(gè)撤銷(xiāo)證書(shū)列表,用于記錄已經(jīng)撤銷(xiāo)的證書(shū)序號(hào)。(所以第三方驗(yàn)證某個(gè)證書(shū)時(shí),第一步就是檢查該證書(shū)是否在撤銷(xiāo)列表中,如果存在則無(wú)法驗(yàn)證通過(guò)。如果不在則繼續(xù)后續(xù)驗(yàn)證)

Merkle 樹(shù)結(jié)構(gòu)

Merkle(默克爾)樹(shù):又叫哈希樹(shù),是一種典型的二叉樹(shù)結(jié)構(gòu),由一個(gè)根節(jié)點(diǎn)、一組中間節(jié)點(diǎn)和一組葉節(jié)點(diǎn)組成。區(qū)塊鏈出現(xiàn)之前,廣泛用于文件系統(tǒng)和P2P系統(tǒng)中。

主要特點(diǎn):

最下面的葉節(jié)點(diǎn)包含存儲(chǔ)數(shù)據(jù)或其哈希值

非葉子幾點(diǎn)(包括中間節(jié)點(diǎn)和根節(jié)點(diǎn))都是它的兩個(gè)孩子節(jié)點(diǎn)內(nèi)容的哈希值

默克爾樹(shù)逐層記錄哈希值的特點(diǎn),讓它具有了一些獨(dú)特的性質(zhì)。例如,底層數(shù)據(jù)的任何變動(dòng),都會(huì)傳遞到其父節(jié)點(diǎn),一層層沿著路徑一直到樹(shù)根。這意味著樹(shù)根的值實(shí)際上代表了對(duì)底層所有數(shù)據(jù)的“數(shù)字摘要”

默克爾樹(shù)的應(yīng)用場(chǎng)景有如下:

快速比較大量數(shù)據(jù):對(duì)每組數(shù)據(jù)排序后構(gòu)建默克爾樹(shù)結(jié)構(gòu)。當(dāng)兩個(gè)默克爾樹(shù)根相同時(shí),則意味著兩組數(shù)據(jù)必然相同。否則,必然存在不同。(由于Hash計(jì)算的過(guò)程可以十分迅速,預(yù)處理可以在短時(shí)間內(nèi)完成。利用默克爾樹(shù)結(jié)構(gòu)能帶來(lái)巨大的比較性能優(yōu)勢(shì))

快速定位修改: 一旦發(fā)現(xiàn)某個(gè)節(jié)點(diǎn)如Root的數(shù)值發(fā)生變化,沿著Root->N4->N1,即可快速定位到實(shí)際發(fā)生改變的數(shù)據(jù)塊D1

零知識(shí)證明: 如何向他人證明擁有某組數(shù)據(jù)(D0...D3)中包括給定某個(gè)內(nèi)容D0而不暴露其他任何內(nèi)容。方法:通過(guò)構(gòu)造如上圖所示的一個(gè)默克爾樹(shù),公布N1、N5、Root。D0擁有者通過(guò)驗(yàn)證生成的Root是否跟提供的值一致,即可很容易檢測(cè)D0包括D1、D2、D3的存在。整個(gè)過(guò)程無(wú)法獲知其他內(nèi)容。

布隆過(guò)濾器

布隆過(guò)濾器: 是一種基于Hash的高效查找結(jié)構(gòu),能夠快速(常數(shù)時(shí)間內(nèi))回答“某個(gè)原始是否在一個(gè)集合內(nèi)”的問(wèn)題。

應(yīng)用場(chǎng)景:布隆過(guò)濾器因?yàn)槠涓咝源罅繎?yīng)用于網(wǎng)絡(luò)和安全領(lǐng)域,例如信息檢索、垃圾郵件規(guī)則、注冊(cè)管理等

基于Hash的查找

基于Hash的快速查找算法: Hash可以將任意內(nèi)容映射到一個(gè)固定長(zhǎng)度的字符串,而且不同內(nèi)容映射到相同串的概率很小。因此,可構(gòu)成以個(gè)很好的“內(nèi)容——》索引”的生成關(guān)系。(內(nèi)容Hash后為索引通過(guò)索引可在數(shù)組中快速的查找當(dāng)前內(nèi)容)

基于Hash的快速查找算法的缺點(diǎn):當(dāng)映射后的值限制在一定范圍(如總數(shù)組的大?。﹥?nèi)時(shí),會(huì)發(fā)現(xiàn) Hash 沖突的概率會(huì)變高,而且范 圍越小,沖突概率越大。很多時(shí)候,存儲(chǔ)系統(tǒng)的大小又不能無(wú)限擴(kuò)展,這就造成算法效率的下降。為了提高空間利用率,后來(lái)人們基于Hash算法思想設(shè)計(jì)出了布隆過(guò)濾器結(jié)構(gòu)。

更高效的布隆過(guò)濾器

布隆過(guò)濾器: 采用多個(gè)Hash函數(shù)來(lái)提高空間利用率。對(duì)于同一個(gè)給定輸入來(lái)說(shuō),多個(gè)Hash函數(shù)計(jì)算出多個(gè)地址,分別在位串的這些地址上標(biāo)記為1。進(jìn)行查找時(shí),進(jìn)行同樣的計(jì)算過(guò)程,并查看對(duì)應(yīng)原始,如果都為1,則說(shuō)明較大概率是存在該輸入。

優(yōu)點(diǎn):大大提高了空間利用率,可以使用較少的空間來(lái)表示較大集合的存在關(guān)系。

總結(jié): 無(wú)論是Hash算法,還是布隆過(guò)濾器,基本思想都是基于內(nèi)容的編址。Hash函數(shù)存在沖突,布隆過(guò)濾器也存在沖突。這就造成了兩種方法都存在誤報(bào)的情況,但絕對(duì)不會(huì)漏報(bào)。

同態(tài)加密 同態(tài)加密

同態(tài)加密: 是一種特殊的加密方法,允許對(duì)密文進(jìn)行處理得到任然是加密的結(jié)果。即對(duì)密文直接進(jìn)行處理,跟對(duì)明文進(jìn)行處理后再對(duì)處理結(jié)果加密,得到的結(jié)果相同。
優(yōu)點(diǎn):同態(tài)加密可以保證實(shí)現(xiàn)處理者無(wú)法訪問(wèn)到數(shù)據(jù)自身的信息

問(wèn)題與挑戰(zhàn)

同態(tài)加密的兩個(gè)應(yīng)用場(chǎng)景:

同態(tài)加密在云計(jì)算和大數(shù)據(jù)時(shí)代意義十分重大。從安全角度講,用戶(hù)還不敢將敏感信息直接放到第三方云上進(jìn)行處理。如果有了比較實(shí)用的同態(tài)加密技術(shù),則可以放心實(shí)用各種云服務(wù),同時(shí)各種數(shù)據(jù)分析過(guò)程也不會(huì)泄露用戶(hù)隱私

對(duì)于區(qū)塊鏈技術(shù),實(shí)用同態(tài)加密技術(shù),運(yùn)行在區(qū)塊鏈上的只能合約可以處理密文,而無(wú)法獲知真實(shí)數(shù)據(jù),極大地提高了隱私安全性。

目前全同態(tài)的加密方案主要包括“基于理想個(gè)的方案”、“基于整數(shù)上近似GCD問(wèn)題的方案”、“基于帶擾動(dòng)學(xué)習(xí)問(wèn)題的方案”。已知的同態(tài)加密技術(shù)往往需要較高的計(jì)算時(shí)間或存儲(chǔ)成本,相比傳統(tǒng)加密算法的性能和強(qiáng)度還有差距。

函數(shù)加密

同態(tài)加密保護(hù)的是數(shù)據(jù)本身,而函數(shù)加密保護(hù)的是處理函數(shù)本身,即讓第三方看不到處理過(guò)程的前提下,對(duì)數(shù)據(jù)進(jìn)行處理。

其他問(wèn)題 零知識(shí)證明

零知識(shí)證明: 證明者在不想驗(yàn)證者提供任何額外信息的前提下,使驗(yàn)證者相信某個(gè)論斷是正確的。

零知識(shí)證明至少要滿足三個(gè)條件:

完整性: 真實(shí)的證明可以讓驗(yàn)證者成功驗(yàn)證

可靠性: 虛假的證明無(wú)法讓驗(yàn)證者保證通過(guò)驗(yàn)證,但允許存在小概率例外

零知識(shí): 如果得到證明,無(wú)法從證明過(guò)程中獲知除了所證明信息之外的任何信息

量子密碼學(xué)

量子密碼學(xué):隨著量子計(jì)算和量子通信的研究而受到越來(lái)越多的關(guān)注,將會(huì)對(duì)已有的密碼學(xué)安全機(jī)制產(chǎn)生較大的影響。

社交工程學(xué)

即便存在理論上完美的技術(shù),也不存在完美的系統(tǒng)!
個(gè)人理解:系統(tǒng)中有人的組成部分并不是堅(jiān)不可破的,因?yàn)槿藥в猩鐣?huì)屬性,通過(guò)社會(huì)學(xué)攻擊可以輕易的攻破理論上完美的系統(tǒng)。

總結(jié)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/24127.html

相關(guān)文章

  • 區(qū)塊鏈學(xué)習(xí)之區(qū)塊鏈思想的誕生(一)

    摘要:區(qū)塊鏈最早出現(xiàn)在比特幣開(kāi)元項(xiàng)目中。了不起的社會(huì)學(xué)實(shí)驗(yàn)比特幣的誕生年化名中本聰?shù)娜税l(fā)布比特幣白皮書(shū),并在年公開(kāi)了實(shí)現(xiàn)代碼比特幣的意義和價(jià)值比特幣首次真正從實(shí)踐意義上實(shí)現(xiàn)了安全可靠的去中心化數(shù)字貨幣機(jī)制。 區(qū)塊鏈最早出現(xiàn)在比特幣開(kāi)元項(xiàng)目中。比特幣在誕生和發(fā)展過(guò)程中,借鑒了來(lái)自數(shù)字貨幣、密碼學(xué)、博弈論、分布式系統(tǒng)、控制論等多個(gè)領(lǐng)域的技術(shù)成果,作為核心支撐結(jié)構(gòu)的區(qū)塊鏈技術(shù)大放異彩。 從實(shí)體貨幣...

    rozbo 評(píng)論0 收藏0
  • 區(qū)塊鏈學(xué)習(xí)之核心技術(shù)概覽(二)

    摘要:關(guān)鍵步驟完成對(duì)一批交易的共識(shí)新區(qū)塊添加到區(qū)塊鏈結(jié)構(gòu)上,被大家認(rèn)可,確保未來(lái)無(wú)法被篡改比特幣的這種基于算力尋找串的共識(shí)機(jī)制稱(chēng)為工作量證明。 定義與原理 定義 維基上給出定義: 一種分布式數(shù)據(jù)庫(kù)技術(shù),通過(guò)維護(hù)數(shù)據(jù)塊的鏈?zhǔn)浇Y(jié)構(gòu),可以維持增長(zhǎng)的、不可篡改的數(shù)據(jù)記錄 基本原理 區(qū)塊鏈包括三個(gè)概念: 交易: 一次對(duì)賬本的操作,導(dǎo)致賬本狀態(tài)的一次改變,如添加一條轉(zhuǎn)賬記錄 區(qū)塊: 記錄一段時(shí)間內(nèi)發(fā)生...

    zhangwang 評(píng)論0 收藏0
  • 區(qū)塊鏈學(xué)習(xí)之比特幣(六)

    摘要:側(cè)鏈側(cè)鏈協(xié)議允許資產(chǎn)在比特幣區(qū)塊鏈和其他區(qū)塊鏈之間互轉(zhuǎn)。實(shí)現(xiàn)了比特幣區(qū)塊鏈的擴(kuò)展證明在比特幣系統(tǒng)中驗(yàn)證交易時(shí),涉及交易合法性檢查雙重花費(fèi)檢查腳本檢查等。 比特幣項(xiàng)目簡(jiǎn)介 比特幣是基于區(qū)塊鏈技術(shù)的一種數(shù)字貨幣實(shí)現(xiàn),比特幣網(wǎng)絡(luò)是歷史上首個(gè)經(jīng)過(guò)大規(guī)模、長(zhǎng)時(shí)間檢查的數(shù)字貨幣系統(tǒng) 比特幣網(wǎng)絡(luò)在功能上具有如下特點(diǎn): 去中心化: 意味著沒(méi)有任何獨(dú)立個(gè)體可以對(duì)網(wǎng)絡(luò)中的交易進(jìn)行破壞,任何交易請(qǐng)求都需要...

    xingpingz 評(píng)論0 收藏0
  • 區(qū)塊鏈學(xué)習(xí)之以太坊(七)

    摘要:基于以太坊項(xiàng)目,以太坊團(tuán)隊(duì)目前運(yùn)營(yíng)了一個(gè)公開(kāi)的區(qū)塊鏈平臺(tái)以太坊網(wǎng)絡(luò)。主要特點(diǎn)以太坊區(qū)塊鏈底層也是一個(gè)類(lèi)似比特幣網(wǎng)絡(luò)的網(wǎng)絡(luò)平臺(tái),智能合約運(yùn)行在網(wǎng)絡(luò)中的以太坊虛擬機(jī)里。以太坊采用交易作為執(zhí)行操作的最小單位。 以太坊將比特幣針對(duì)數(shù)字交易的功能進(jìn)一步進(jìn)行了拓展,面向更為復(fù)雜和靈活的應(yīng)用場(chǎng)景,支持了智能合約這一重要特性。 以太坊項(xiàng)目簡(jiǎn)介 以太坊:項(xiàng)目最初的目標(biāo)是打造以個(gè)智能合約的平臺(tái),該平臺(tái)支持...

    xiongzenghui 評(píng)論0 收藏0
  • 區(qū)塊鏈學(xué)習(xí)之分布式系統(tǒng)核心問(wèn)題(四)

    摘要:區(qū)塊鏈系統(tǒng)首先是一個(gè)分布式系統(tǒng),分布式系統(tǒng)的核心問(wèn)題包括一致性共識(shí)一致性問(wèn)題一致性問(wèn)題是分布式領(lǐng)域最為基礎(chǔ)也是最重要的問(wèn)題。算法與算法問(wèn)題是指分布式系統(tǒng)中存在故障,但不存在惡意節(jié)點(diǎn)的場(chǎng)景即可能消息丟失或重復(fù),但無(wú)錯(cuò)誤消息下的共識(shí)達(dá)成問(wèn)題。 區(qū)塊鏈系統(tǒng)首先是一個(gè)分布式系統(tǒng),分布式系統(tǒng)的核心問(wèn)題包括一致性、共識(shí) 一致性問(wèn)題 一致性問(wèn)題是分布式領(lǐng)域最為基礎(chǔ)也是最重要的問(wèn)題。如果分布式系統(tǒng)能實(shí)...

    Heier 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<