在加密安全領(lǐng)域中,如果不需要保證消息可以被完整的讀取出來,只需要驗(yàn)證消息本身,則有消息摘要這類算法。摘要算法多用于信息的比對和驗(yàn)證,使得在不暴露原始信息" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 電子商務(wù) > 移動商務(wù)智能安全(下篇):消息摘要與密碼破解防范

移動商務(wù)智能安全(下篇):消息摘要與密碼破解防范

時(shí)間:2023-03-22 02:56:01 | 來源:電子商務(wù)

時(shí)間:2023-03-22 02:56:01 來源:電子商務(wù)

點(diǎn)擊鏈接閱讀:移動商務(wù)智能安全(上篇):加密算法之對稱與非對稱

在加密安全領(lǐng)域中,如果不需要保證消息可以被完整的讀取出來,只需要驗(yàn)證消息本身,則有消息摘要這類算法。摘要算法多用于信息的比對和驗(yàn)證,使得在不暴露原始信息,以及縮小比對量的情況下保證結(jié)果的正確性,這里涉及的算法包括:MAC、MD5、SHA1、SHA256等。

消息摘要算法

散列函數(shù) Hash Function 又可稱為散列算法、哈希函數(shù),是一種從任何一種數(shù)據(jù)中創(chuàng)建小的數(shù)字“指紋”的方法。散列函數(shù)具有一個(gè)基本特性:如果兩個(gè)散列值是不相同的,那么這兩個(gè)散列值的原始輸入也是不相同的。這個(gè)特性是散列函數(shù)具有確定性的結(jié)果,而相應(yīng)的散列函數(shù)即被稱為單向散列函數(shù)。但是如果散列值相同,兩個(gè)輸入值可能相同也可能不同,這種情況成為散列碰撞。

密碼散列函數(shù) Cryptographic Hash Function 又可稱為加密散列函數(shù)、密碼散列函數(shù),屬于散列函數(shù)的一種,是一種單向函數(shù),它將一個(gè)不定長的輸入數(shù)據(jù)轉(zhuǎn)換成固定大小的結(jié)果,并且以這個(gè)結(jié)果很難回推輸入的數(shù)據(jù)。這種散列函數(shù)的輸入數(shù)據(jù),通常被稱為消息Message,而輸出的結(jié)果,經(jīng)常被稱為消息摘要Message Digest或摘要Digest??偟膩碚f,密碼散列函數(shù)具有如下的重要特征:

除了被用作傳統(tǒng)的哈希函數(shù),而在數(shù)據(jù)索引、指紋等方面應(yīng)用外,密碼散列函數(shù)在信息安全方面有很多的應(yīng)用,包括數(shù)字簽名、消息認(rèn)證碼、以及各種形式的認(rèn)證。

MD5

消息摘要算法 MD5 Message Digest Algorithm 是一種密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位,即16字節(jié)的散列值,用于確保信息的完整性。MD5由MD4、MD3、MD2改進(jìn)而來,主要是增強(qiáng)了算法的復(fù)雜度和不可逆性。MD5目前已被證實(shí)無法防止碰撞攻擊,所以不適用于安全性認(rèn)證,即不可用于SSL公開密鑰認(rèn)證、數(shù)字簽名等方面。但是MD5具有簡單、穩(wěn)定、快速的特征,所以在一些普通數(shù)據(jù)的錯(cuò)誤檢查應(yīng)用中依然被廣泛應(yīng)用,比如文件下載的MD5校驗(yàn)和。

MD5以512位分組處理輸入的信息,每一組又被劃分為16個(gè)32位子分組,經(jīng)過特定的程序流程,生成四個(gè)32位分組數(shù)據(jù),最終這四組數(shù)據(jù)結(jié)合成128位的散列值作為最終的結(jié)果。

SHA

安全散列算法 SHA Secure Hash Algorithms 包括一個(gè)密碼散列函數(shù)家族,是FIPS所認(rèn)證的安全散列算法。

SHA-0:1993年發(fā)布,160位散列函數(shù),存著嚴(yán)重缺陷被很快撤回,為SHA-1的前身。

SHA-1:1995年發(fā)布,160位散列函數(shù),類似于MD5的算法,在很多安全協(xié)議中廣為使用,比如TLS、SSL、SSH等,被視為MD5的后繼者,2015年被Google正式宣布攻破。

SHA-2:2001年發(fā)布,擁有兩組散列函數(shù),包括32位字的SHA-256以及64位字的SHA-512,它還包括各種變種SHA-224、SHA-384、SHA-512/224、SHA-512/256(后綴數(shù)字即散列位數(shù)),尚未被有效攻破,但算法與SHA-1類似。

SHA-3:2005年發(fā)布,支持SHA-2的相同散列長度,但內(nèi)部結(jié)構(gòu)得到很大的更新,作為一個(gè)未來可替換的加密散列算法存在。

目前主流使用SHA-2,比如SHA-256,其算法過程與MD5類似:

與MD5類似,簡單地說,SHA256算法的核心就是用512位的信息塊來改變256位鏈接變量的狀態(tài),最終的狀態(tài)即是256輸出散列值。

MAC

消息認(rèn)證碼 MAC Message Authentication Code,又稱為消息鑒別碼、文件消息認(rèn)證碼、訊息鑒別碼、信息認(rèn)證碼等,是指經(jīng)過特定算法后產(chǎn)生的一小段信息,通過驗(yàn)證消息傳遞過程中是否遭到更改以檢查某段消息的完整性,以及作為消息來源的身份驗(yàn)證的一種方式,確認(rèn)消息的來源。

MAC不會對信息保密,若要同時(shí)實(shí)現(xiàn)保密認(rèn)證,需要同時(shí)對信息進(jìn)行加密。在實(shí)際應(yīng)用中,通常會使用帶密鑰的散列函數(shù)HMAC,或者塊密碼的帶認(rèn)證工作模式CBC-MAC。

HMAC

密鑰散列消息認(rèn)證碼 HMAC Keyed Hash Message Authentication Code 使用密碼散列函數(shù),結(jié)合一個(gè)加密密鑰,計(jì)算生成消息認(rèn)證碼。HMAC既可以用來保證數(shù)據(jù)的完整性,也可以用作某個(gè)消息的身份驗(yàn)證。

MD5、SHA都可以作為HMAC的散列算法被使用,相應(yīng)的HMAC算法就可以被稱為 HMAC-MD5, HMAC-SHA。

編碼

Base64

Base64 是一種基于64個(gè)可打印字符來表示二進(jìn)制數(shù)據(jù)的表示方法,2的6次方為64,即以6個(gè)比特為一個(gè)單元,對應(yīng)某個(gè)可打印字符。三個(gè)字節(jié)有24個(gè)比特,對應(yīng)于4個(gè)Base64單元,即三個(gè)字節(jié)可表示4個(gè)可打印字符。

Base64嚴(yán)格意義不能算是一種加密方式,只是將文本變得不那么可以直接看出來而已。

在Base64中可打印字符包括A-Z、a-z、0-9,總計(jì)62,再加上可能因系統(tǒng)而不同的兩個(gè)可打印字符。Base64常用于處理文本數(shù)據(jù)的場合,處理一些二進(jìn)制數(shù)據(jù),比如MIME的email、在XML中存儲數(shù)據(jù)等。

MIME

在MIME格式的電子郵件中,Base64可以將二進(jìn)制的字節(jié)序列數(shù)據(jù)編碼成ASCII字符序列構(gòu)成的文本,使用時(shí)除了字母和數(shù)字外,加上加號"+"和斜杠"/",共計(jì)64個(gè)字符,等號"="用作后綴。另外,在電子郵件中,每76個(gè)字符后需要加一個(gè)回車換行,另外使用"="補(bǔ)足尾部不足3字節(jié)的部分。

破解防范

密碼只要存在一天,就會有被攻擊破解的可能,而我們之前介紹了不同的加密算法,也需要根據(jù)不同的使用環(huán)境進(jìn)行選擇。下面舉一些例子已經(jīng)防范的措施:

暴力破解防范

暴力破解法 Brute-force attack 又可稱為窮舉法,即攻擊者會系統(tǒng)性的嘗試所有可能的密碼,直到找到真正的密碼為止。

破解防范:暴力破解的有效性取決于密碼的長度、復(fù)雜度等,如果暴力破解的耗時(shí)過長,就會導(dǎo)致破解沒有意義。與此相對應(yīng),為避免受到暴力破解的攻擊,我們可以添加一些防護(hù)手段,比如:增加密碼的長度與復(fù)雜度、在系統(tǒng)中限制密碼試錯(cuò)的次數(shù)、定時(shí)修改密碼等。

字典攻擊防范

比暴力破解優(yōu)化點(diǎn)的一種方式叫做字典攻擊Dictionary Attack,這種方法就是給密碼鎖定某個(gè)范圍,比如英文單詞、生日的數(shù)字組合等,所有的英文單詞大約10萬個(gè)左右,這樣就可以大大縮小密碼的查找范圍,相比暴力破解可以縮短破譯時(shí)間。

破解防范:字典攻擊是根據(jù)現(xiàn)有或常用的組合測試破解密碼,這就要求我們在設(shè)置相應(yīng)的密碼時(shí)要避免使用固定的單詞和組合,應(yīng)盡量使用無意思的字母數(shù)字符號組合在設(shè)置密碼。

中間人攻擊防范

中間人攻擊 MITM Middle in the Middle Attack 是指攻擊者秘密地傳遞并可能改變兩方的通信,而通信雙方仍然相信他們是直接通信的。

破解防范:為了抵御在不安全的通道的通信需求,我們需要一些抵御中間人攻擊的一些認(rèn)證技術(shù)方案:公鑰基礎(chǔ)建設(shè)PKI使用公認(rèn)的數(shù)字證書認(rèn)證機(jī)構(gòu)CA認(rèn)證通信端;延遲測試的預(yù)估時(shí)間的超出等。

碰撞攻擊防范

碰撞攻擊 Collision Attack 是指找出兩個(gè)不同的輸入值卻導(dǎo)致同樣的散列值的一種方式,目前已經(jīng)可以有效地攻擊MD5和SHA-1。

有效地利用碰撞,可以使得所有數(shù)據(jù)全部碰撞,人為的將哈希表變成一個(gè)退化的單鏈表,使得各種操作的時(shí)間均提升了一個(gè)數(shù)量級,因此大量消耗CPU資源,導(dǎo)致系統(tǒng)無法快速響應(yīng)請求,從而達(dá)到拒絕服務(wù)供給Dos的目的。

破解防范:避免使用已被證明可以被有效攻擊的算法,使用更高安全性的散列算法,比如SHA-2。

彩虹表防范

彩虹表 Rainbow Table 是一個(gè)用于加密散列函數(shù)逆運(yùn)算的預(yù)先計(jì)算好的表,常用于破解加密過的密碼散列。這種方式常用于包含有限字符固定長度純文本密碼的加密,是一種典型的以空間換時(shí)間的方式,相比暴力破解使用較少的計(jì)算能力而更多的存儲空間。它可以針對各種散列算法,已被確認(rèn)有效的包括MD5和SHA-1,一般主流的彩虹表都在100G以上。

破解防范:彩虹表是針對特定的算法,尤其是不對稱算法,比如MD5,進(jìn)行有效破解的一種方法。所以同樣的,避免使用已被證明可以被有效攻擊的算法,使用更高安全性的散列算法,比如SHA-2。

重放攻擊防范

重放攻擊 Replay Attack 是一種通過欺騙性的重復(fù)發(fā)送或者延遲有效消息的網(wǎng)絡(luò)攻擊手段。

破解防范:防止重放攻擊的一個(gè)手段是在加密信息片段上附上會話ID和編號,使用這種唯一且隨機(jī)的標(biāo)簽,使得攻擊者不能簡單的重放信息。其他的方法包括一次性密碼、時(shí)間戳等。

數(shù)據(jù)來源:

Wikipedia MD5: https://en.wikipedia.org/wiki/MD5

Wikipedia SHA-2: https://en.wikipedia.org/wiki/SHA-2

Wikipedia MAC: https://en.wikipedia.org/wiki/Message_authentication_code

Wikipedia HMAC: https://en.wikipedia.org/wiki/Hash-based_message_authentication_code

Wikipedia Base64: https://en.wikipedia.org/wiki/Base64

我們會每周推送商業(yè)智能、數(shù)據(jù)分析資訊、技術(shù)干貨和程序員日常生活,歡迎關(guān)注我們的本站公眾號“微策略中國”或微信公眾號“微策略 商業(yè)智能"。

關(guān)鍵詞:密碼,防范,商務(wù),安全,移動

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉