一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲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)不再提示

區(qū)塊鏈如何進(jìn)行加密和簽名

Wildesbeast ? 來(lái)源:今日頭條 ? 作者:精通數(shù)據(jù)科學(xué) ? 2020-02-18 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

場(chǎng)景一

轉(zhuǎn)賬交易:

假設(shè)我要做個(gè)轉(zhuǎn)賬的app叫支付寶,要完成轉(zhuǎn)賬的功能,轉(zhuǎn)賬時(shí),需要輸入對(duì)方支付寶賬號(hào)和姓名,然后點(diǎn)擊轉(zhuǎn)賬,輸入支付密碼,就可以完成轉(zhuǎn)賬的功能。

實(shí)現(xiàn)方式,客戶端通過(guò)http協(xié)議發(fā)送轉(zhuǎn)賬報(bào)文給服務(wù)端

報(bào)文無(wú)加密和簽名機(jī)制

現(xiàn)在用戶甲要轉(zhuǎn)賬給用戶乙。

安全隱患

網(wǎng)絡(luò)傳輸不安全,如果有人截取客戶端請(qǐng)求報(bào)文,進(jìn)行篡改,比如篡改收款方的支付寶賬號(hào)和真實(shí)姓名,那么服務(wù)端就會(huì)把錢(qián)轉(zhuǎn)到別的地方去。

結(jié)論:需要防止報(bào)文被篡改

場(chǎng)景二

商城A要接支付寶移動(dòng)支付,大致流程:

客戶端app調(diào)用支付寶的sdk發(fā)送支付報(bào)文

客戶端接收支付寶服務(wù)端的處理響應(yīng)

商戶服務(wù)端接收支付寶服務(wù)端的交易成功通知

客戶端發(fā)送請(qǐng)求的安全隱患同場(chǎng)景一

服務(wù)端接收通知時(shí),存在如下隱患,黑客甲,去商城A

人為模擬支付寶的通知報(bào)文,將訂單變成成功。

這是一個(gè)通知報(bào)文要做簽名的案例

需要注意的是,步驟2和3同樣需要做簽名驗(yàn)證

結(jié)論:需要確認(rèn)報(bào)文來(lái)自真實(shí)合法的服務(wù)端(其實(shí)在商戶對(duì)商戶的通信過(guò)程中,也需要確認(rèn)報(bào)文來(lái)自真實(shí)合法的客戶端)

場(chǎng)景一和場(chǎng)景二的最終結(jié)論

安全網(wǎng)絡(luò)通信過(guò)程中,需要防止報(bào)文被篡改

安全網(wǎng)絡(luò)通信過(guò)程中,需要客戶端和服務(wù)端雙方確認(rèn)對(duì)方的身份,即交易完成后,不可抵賴

方案一 對(duì)稱(chēng)加密簽名機(jī)制

具體方案:用一種對(duì)稱(chēng)加密算法將報(bào)文加密,并得出一個(gè)簽名串

舉例:MD5加密簽名,簽名串=md5(原文&密鑰)(其他對(duì)稱(chēng)加密算法簽名道理是一樣的,不做詳述)

假設(shè)最終的報(bào)文是:最終報(bào)文=原文&簽名串

此方案達(dá)到的效果:

如果黑客截取報(bào)文,并篡改原文,那么服務(wù)端進(jìn)行驗(yàn)簽的時(shí)候,將不會(huì)通過(guò)。

因?yàn)樵淖兓?,算出的簽名串?huì)改變,那么黑客需要重新計(jì)算出簽名串

要算出簽名串,需要知道如下要素

簽名算法(包含加密算法),原文,密鑰

前2個(gè)肯定是會(huì)暴露的,無(wú)法保密,而客戶端是app,密鑰也是暴露的,所以簽名串會(huì)被重新計(jì)算出來(lái),因此黑客將成功篡改轉(zhuǎn)賬報(bào)文。

方案二 對(duì)稱(chēng)加密簽名,動(dòng)態(tài)密鑰

從方案一我們得出一個(gè)結(jié)論:

簽名算法(包含加密算法),原文,密鑰三者只要保證其中一個(gè)不被黑客截取,將無(wú)法算出簽名串,也就無(wú)法篡改報(bào)文。

那么我們可以動(dòng)態(tài)生成簽名的密鑰,并用rsa公鑰對(duì)其進(jìn)行加密(此處rsa私鑰在服務(wù)端,不會(huì)泄密,因?yàn)楹灻荑€不會(huì)被解密),然后傳至服務(wù)端

次方案用于場(chǎng)景一,可以解決報(bào)文被篡改的問(wèn)題。

但是服務(wù)端就無(wú)法確認(rèn)客戶端是否合法,尤其在機(jī)構(gòu)與機(jī)構(gòu)通信的時(shí)候,這個(gè)方案就更不可取。

且次方案不適合于方案2,支付寶服務(wù)端發(fā)通知的時(shí)候,總不能動(dòng)態(tài)產(chǎn)生密鑰,這樣你就無(wú)法判定報(bào)文是否是支付寶服務(wù)端發(fā)送來(lái)的。

方案三 報(bào)文加密(對(duì)稱(chēng)加非對(duì)稱(chēng))

從方案一我們得出一個(gè)結(jié)論:

簽名算法(包含加密算法),原文,密鑰三者只要保證其中一個(gè)不被黑客截取,將無(wú)法算出簽名串,也就無(wú)法篡改報(bào)文。

那么我們就采取對(duì)報(bào)文加密,可用方式是對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密

1.對(duì)稱(chēng)加密:3des

簽名串=md5(原文&密鑰1)

最終報(bào)文=3des密鑰2&簽名串

傳輸過(guò)程中,報(bào)文是加密的,無(wú)法篡改(因?yàn)闊o(wú)法拿到用戶關(guān)鍵信息,如session,tokenId等認(rèn)證信息),看似沒(méi)有問(wèn)題,但是密鑰1和密鑰2都可能泄密,而且3des會(huì)被解密掉,所以又回到方案一的結(jié)果。

2.非對(duì)稱(chēng)加密+對(duì)稱(chēng)加密:3des+rsa+md5

那么我們可以從方案二吸取經(jīng)驗(yàn),用rsa密鑰加密對(duì)稱(chēng)加密密鑰

簽名串=md5(原文&密鑰1)

最終報(bào)文=3des密鑰2|簽名串|rsarsa公鑰

此方案仍然有方案二的缺陷,只能解決場(chǎng)景1,不能解決場(chǎng)景2

原因在于簽名的密鑰,服務(wù)端和客戶端是一樣的,無(wú)法產(chǎn)生唯一性身份

我們需要用rsa來(lái)簽名

方案四 rsa簽名+https

報(bào)文加密是必須的,那么我們用https加密,其原理同非對(duì)稱(chēng)加密+對(duì)稱(chēng)加密

場(chǎng)景一方案:

客戶端產(chǎn)生一對(duì)公私鑰 pubKey_c,priKey_c

服務(wù)端產(chǎn)生一對(duì)公私鑰 pubkey_s,priKey_s

客戶端與服務(wù)端置換公鑰

最終持有情況如下:

客戶端:pubkey_s,priKey_c

服務(wù)端:pubKey_c,priKey_s

客戶端發(fā)送報(bào)文:

簽名串=rsapriKey_c

最終報(bào)文=https(報(bào)文原文+簽名串);

場(chǎng)景二,相對(duì)于場(chǎng)景二

服務(wù)端用pubKey_c做驗(yàn)簽,

產(chǎn)生效果:客戶端私鑰priKey_c沒(méi)有被盜取時(shí),可以防止報(bào)文被篡改,且服務(wù)端可以確認(rèn)信息來(lái)自合法的客戶端,在機(jī)構(gòu)與機(jī)構(gòu)通信時(shí),次種假設(shè)是成立的。

客戶端是app, 客戶端私鑰priKey_c會(huì)被盜取,不能保證客戶端的合法性(即客戶端可以不是官方提供的),但仍然可以防止報(bào)文被篡改。

服務(wù)端響應(yīng)報(bào)文時(shí):

簽名串=rsapriKey_s

最終報(bào)文=https(報(bào)文原文+簽名串);

產(chǎn)生效果:因?yàn)榉?wù)端的私鑰priKey_s在理論上是不會(huì)泄密的,所以可以保證響應(yīng)報(bào)文不會(huì)被篡改,且來(lái)自真實(shí)合法的服務(wù)端

場(chǎng)景二方案:

支付寶服務(wù)端發(fā)送報(bào)文:

簽名串=rsapriKey_s

最終報(bào)文=https(報(bào)文原文+簽名串);

客戶端用pubkey_s來(lái)驗(yàn)簽即可,可保證,報(bào)文不會(huì)被篡改,且來(lái)自真實(shí)合法的服務(wù)端

聲明:本文內(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)投訴
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1586

    瀏覽量

    74218
  • 支付寶
    +關(guān)注

    關(guān)注

    2

    文章

    461

    瀏覽量

    25366
  • 區(qū)塊鏈
    +關(guān)注

    關(guān)注

    112

    文章

    15565

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    DLP4710EVM-LC如何進(jìn)行燒錄?

    DLP4710EVM-LC: 如何進(jìn)行燒錄
    發(fā)表于 02-20 08:07

    YOGO ROBO智能機(jī)器人助力區(qū)塊行業(yè)發(fā)展

    日前,上海靜安區(qū)成功舉辦了全國(guó)首個(gè)區(qū)塊主題的場(chǎng)景集市——“數(shù)通谷”區(qū)塊+醫(yī)療場(chǎng)景集市。本次活動(dòng)匯聚了來(lái)自
    的頭像 發(fā)表于 11-22 11:33 ?725次閱讀

    SoC的數(shù)字簽名加解密過(guò)程

    SoC的數(shù)字簽名驗(yàn)證是指在系統(tǒng)啟動(dòng)或固件更新等關(guān)鍵時(shí)刻,對(duì)加載的固件或軟件進(jìn)行數(shù)字簽名的驗(yàn)證過(guò)程。通過(guò)驗(yàn)證數(shù)字簽名,系統(tǒng)可以確保所加載的固件或軟件是經(jīng)過(guò)授權(quán)和信任的,從而防止惡意代碼的執(zhí)行和系統(tǒng)啟動(dòng)過(guò)程的篡改。
    的頭像 發(fā)表于 10-21 14:52 ?848次閱讀

    何進(jìn)行電源供應(yīng)設(shè)計(jì) – 第 4 部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源供應(yīng)設(shè)計(jì) – 第 4 部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 10:34 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源供應(yīng)設(shè)計(jì) – 第 4 部分

    何進(jìn)行電源供應(yīng)設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源供應(yīng)設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-09 10:33 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源供應(yīng)設(shè)計(jì)

    何進(jìn)行電源設(shè)計(jì)–第5部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–第5部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:11 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源設(shè)計(jì)–第5部分

    何進(jìn)行電源設(shè)計(jì)-第1部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)-第1部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:10 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源設(shè)計(jì)-第1部分

    何進(jìn)行電源設(shè)計(jì)–第2部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–第2部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:09 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源設(shè)計(jì)–第2部分

    何進(jìn)行電源設(shè)計(jì)–第3部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–第3部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-07 11:08 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源設(shè)計(jì)–第3部分

    何進(jìn)行電源設(shè)計(jì)–第6部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–第6部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 15:05 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源設(shè)計(jì)–第6部分

    何進(jìn)行電源設(shè)計(jì)–第4部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源設(shè)計(jì)–第4部分.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 15:04 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源設(shè)計(jì)–第4部分

    何進(jìn)行電源供應(yīng)設(shè)計(jì)-第3部分

    電子發(fā)燒友網(wǎng)站提供《如何進(jìn)行電源供應(yīng)設(shè)計(jì)-第3部分.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 09:16 ?0次下載
    如<b class='flag-5'>何進(jìn)行</b>電源供應(yīng)設(shè)計(jì)-第3部分

    何進(jìn)行IP檢測(cè)

    排查網(wǎng)絡(luò)連接問(wèn)題,并及時(shí)的防范潛在的網(wǎng)絡(luò)攻擊。 那么,如何進(jìn)行 IP 地址檢測(cè)呢?接下來(lái)我將進(jìn)行圖示哦~ 使用操作系統(tǒng)自帶的工具 ① Windows 系統(tǒng)中,按win+R,輸入“ipconfig”命令。 ② Mac 系統(tǒng)中,則可以在“系統(tǒng)偏好設(shè)置”中的“網(wǎng)絡(luò)”
    的頭像 發(fā)表于 07-26 14:09 ?1286次閱讀
    如<b class='flag-5'>何進(jìn)行</b>IP檢測(cè)

    請(qǐng)問(wèn)IR615如何進(jìn)行端口映射?

    IR615 如何進(jìn)行端口映射
    發(fā)表于 07-24 07:53

    esp32c3安全啟動(dòng)文檔里的簽名,使用與計(jì)算的簽名和使用idf.py簽名有什么不同?

    esp32c3安全啟動(dòng)文檔里的簽名,使用與計(jì)算的簽名和使用idf.py簽名有什么不同?預(yù)簽名用的是--pub-key,普通的簽名用的是--k
    發(fā)表于 07-23 08:15