• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型設(shè)計(jì)

      2023-06-08 23:29:47伍德倫饒?jiān)?/span>
      關(guān)鍵詞:溯源身份驗(yàn)證區(qū)塊鏈

      伍德倫 饒?jiān)?/p>

      摘要: 現(xiàn)有的果蔬溯源系統(tǒng)中,物聯(lián)網(wǎng)數(shù)據(jù)采集設(shè)備身份驗(yàn)證機(jī)制不完善,果蔬數(shù)據(jù)傳輸效率不高,且無法保證數(shù)據(jù)在存儲(chǔ)于區(qū)塊鏈前未被篡改。構(gòu)建了基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型,對(duì)模型進(jìn)行分析后,首先提出果蔬供應(yīng)鏈數(shù)據(jù)流動(dòng)模型,通過物聯(lián)網(wǎng)設(shè)備將采集的數(shù)據(jù)存儲(chǔ)于星際文件系統(tǒng)(Interplanetary file system,IPFS),環(huán)節(jié)數(shù)據(jù)存儲(chǔ)完成后,系統(tǒng)將IPFS返回的哈希值存入?yún)^(qū)塊鏈網(wǎng)絡(luò),提高了數(shù)據(jù)的安全性;其次設(shè)計(jì)了果蔬供應(yīng)鏈數(shù)據(jù)傳輸流程,提高了果蔬數(shù)據(jù)傳輸效率;最后利用Blake2改進(jìn)型Ed25519算法實(shí)現(xiàn)了物聯(lián)網(wǎng)設(shè)備的身份驗(yàn)證機(jī)制,提高了系統(tǒng)的安全性。在此基礎(chǔ)上設(shè)計(jì)了基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源系統(tǒng),并在某果蔬企業(yè)進(jìn)行了實(shí)際應(yīng)用,進(jìn)行相關(guān)測(cè)試后發(fā)現(xiàn),本系統(tǒng)的全供應(yīng)鏈數(shù)據(jù)存儲(chǔ)平均耗時(shí)4.738 s,數(shù)據(jù)查詢平均耗時(shí)0.452 s。測(cè)試結(jié)果表明,此系統(tǒng)可在保障數(shù)據(jù)安全的前提下,提高用戶的溯源速度,可為果蔬溯源系統(tǒng)的設(shè)計(jì)與研發(fā)提供參考。

      關(guān)鍵詞: 區(qū)塊鏈;果蔬;溯源;存儲(chǔ)優(yōu)化;身份驗(yàn)證

      中圖分類號(hào): TP309.2;TS207.7 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1000-4440(2023)02-0434-10

      Design of storage and traceability model of fruits and vegetables blockchain information based on authentication

      WU De-lun1,2, RAO Yuan1,2

      (1.School of Information and Computer, Anhui Agricultural University, Hefei 230036,China;2.Anhui Key Laboratory of Smart Agricultural Technology and Equipment, Hefei 230036,China)

      Abstract: In the existing traceability system for fruits and vegetables, the authentication mechanism of data collection equipment of the internet of things (IoT) is not perfect, the transmission efficiency of fruits and vegetables data is not high, and there is no guarantee that the data are not tampered before being stored in the blockchain. A storage and traceability model of blockchain information of fruits and vegetables based on authentication was constructed. Firstly, a data flow model of fruits and vegetables supply chain was proposed after the model was analyzed. The collected data were stored in interplanetary file system (IPFS) through the IoT devices in each link. After the link data were stored, the system stored the Hash value returned from IPFS into the blockchain network, which improved the security of the data. Secondly, the data transmission process of fruits and vegetables supply chain was designed, and the efficiency of data transmission was improved. Finally, the authentication mechanism of IoT devices was implemented by using Blake2 improved Ed25519 algorithm, which improved the security of the system. On the above basis, a blockchain information storage and traceability system for fruits and vegetables based on authentication was designed and applied in a fruits and vegetables enterprise. After relevant tests, it was found that the system took an average of 4.738 s for the whole supply chain data storage and 0.452 s for the data query. The test results revealed that, the system designed in the study can improve the traceability speed of users on the premise of ensuring data security, and can provide reference for the design and development of fruits and vegetables traceability system.

      Key words: blockchain;fruits and vegetables;traceability;storage optimization;authentication

      果蔬含有維生素等多種人體所需成分,具有較高的營養(yǎng)價(jià)值,消費(fèi)者對(duì)果蔬的質(zhì)量、安全等需求也在不斷提升[1]。但近幾年果蔬質(zhì)量安全問題頻發(fā),化學(xué)藥品濫用、微生物污染等嚴(yán)重影響消費(fèi)者對(duì)果蔬質(zhì)量的信任[2],迫切需要建立果蔬追溯體系,使消費(fèi)者能夠快速追溯果蔬的來源,搭建消費(fèi)者與果蔬之間的信任橋梁[3]。現(xiàn)有的溯源系統(tǒng)大多采用本地?cái)?shù)據(jù)庫存儲(chǔ)溯源信息,無法保證信息的安全性和可靠性。區(qū)塊鏈的去中心化存儲(chǔ)、數(shù)據(jù)不可篡改等特性可以很好地適用于溯源系統(tǒng)設(shè)計(jì)。近些年,學(xué)者們從不同角度探索區(qū)塊鏈技術(shù)在溯源系統(tǒng)中的應(yīng)用。楊信廷等[4]、弋偉國等[5]采用“數(shù)據(jù)庫+區(qū)塊鏈”的鏈上鏈下雙模存儲(chǔ)機(jī)制保證了數(shù)據(jù)的真實(shí)性,提高了用戶的溯源速度。張新等[6]、于華竟等[7]利用智能合約實(shí)現(xiàn)了數(shù)據(jù)的鏈前監(jiān)管與節(jié)點(diǎn)的鏈上管控。許繼平等[8]、于合龍等[9]采用數(shù)據(jù)加密算法保證了鏈上數(shù)據(jù)的安全性。然而,目前果蔬區(qū)塊鏈可信溯源系統(tǒng)還存在諸多不足[10-11]。在果蔬產(chǎn)品生產(chǎn)過程中,監(jiān)控設(shè)備、移動(dòng)端設(shè)備、溫濕度傳感器等設(shè)備采集到果蔬關(guān)鍵數(shù)據(jù)的時(shí)間點(diǎn)不同,考慮到數(shù)據(jù)區(qū)塊鏈存儲(chǔ)成本等因素,現(xiàn)有的追溯模型往往采用全部設(shè)備采集數(shù)據(jù)整體存儲(chǔ)于區(qū)塊鏈的方式,如何保證數(shù)據(jù)全部上鏈前已采集數(shù)據(jù)真實(shí)性的問題需要解決;同時(shí),果蔬供應(yīng)鏈數(shù)據(jù)具有多源、異構(gòu)、海量的特點(diǎn),負(fù)責(zé)數(shù)據(jù)采集的物聯(lián)網(wǎng)設(shè)備較多,如何提高系統(tǒng)安全性也需要進(jìn)一步探討。

      針對(duì)以上果蔬供應(yīng)鏈溯源系統(tǒng)面臨的問題,本研究提出果蔬供應(yīng)鏈數(shù)據(jù)流動(dòng)模型,采用星際文件系統(tǒng)(Interplanetary file system,IPFS)存儲(chǔ)各物聯(lián)網(wǎng)設(shè)備提供的關(guān)鍵數(shù)據(jù),區(qū)塊鏈網(wǎng)絡(luò)存儲(chǔ)IPFS根據(jù)關(guān)鍵數(shù)據(jù)生成哈希值的設(shè)計(jì),保證了數(shù)據(jù)的真實(shí)性。本研究通過設(shè)計(jì)果蔬供應(yīng)鏈數(shù)據(jù)傳輸流程,以期提高數(shù)據(jù)處理與傳輸效率,利用Blake2改進(jìn)型Ed25519算法以期實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的身份驗(yàn)證。

      1 材料與方法

      1.1 技術(shù)介紹

      1.1.1 區(qū)塊鏈 區(qū)塊鏈作為一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),由不斷增長的區(qū)塊利用哈希指針前后鏈接而成,區(qū)塊鏈中的數(shù)據(jù)只能追加,不可刪除或篡改[12]。區(qū)塊鏈通過分布式節(jié)點(diǎn)驗(yàn)證和共識(shí)機(jī)制,解決了拜占庭將軍問題[13],無需信任單個(gè)節(jié)點(diǎn)就可以構(gòu)建去中心化可信任系統(tǒng)[14]。本研究以區(qū)塊鏈為基礎(chǔ),構(gòu)建基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型,并基于Hyperledger Fabric設(shè)計(jì)了基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源系統(tǒng)。

      1.1.2 IPFS星際文件系統(tǒng) IPFS為上傳到系統(tǒng)的每個(gè)文件提供唯一的哈希地址,使其能夠被內(nèi)容尋址。在區(qū)塊鏈架構(gòu)中部署IPFS系統(tǒng)進(jìn)行存儲(chǔ),可以消除對(duì)全節(jié)點(diǎn)的依賴,同時(shí)保留網(wǎng)絡(luò)中的可追溯性[15]。任何類型的文件都可以上傳到IPFS存儲(chǔ),使系統(tǒng)可部署用途廣泛的應(yīng)用程序[16]?;趨^(qū)塊鏈的追溯模型效率往往受到區(qū)塊鏈存儲(chǔ)容量難以擴(kuò)展的限制,此問題可通過區(qū)塊鏈集成IPFS并采用IPFS鏈下輔助存儲(chǔ)的方式進(jìn)行解決[17]。IPFS采用默克爾有向無環(huán)圖(Merkle directed acyclic graph, Merkle DAG)進(jìn)行數(shù)據(jù)存儲(chǔ)。它是一種使用散列在DAG中定位數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。使用這種結(jié)構(gòu),系統(tǒng)中的所有內(nèi)容都變得防篡改,將使用根據(jù)存入數(shù)據(jù)生成的哈希值進(jìn)行唯一標(biāo)記。

      1.1.3 Blake2算法與Ed25519算法 Blake2算法可以產(chǎn)生任意長度的消息摘要[18],它的處理速度要優(yōu)于MD5、SHA-1、SHA-2和SHA-3等算法,并且更加安全[19]。Ed25519是基于Edwards曲線的數(shù)字簽名算法(Edward curve digital signature algorithm,EdDSA),結(jié)合SHA-512/256哈希算法,采用扭曲愛德華曲線,如公式(1)所示,它比現(xiàn)有的數(shù)字簽名方案快,且不損失安全性。EdDSA算法包括公鑰生成、簽名、驗(yàn)簽3個(gè)功能[20],此算法需要隨機(jī)數(shù)發(fā)生器產(chǎn)生私鑰,但隨機(jī)數(shù)的產(chǎn)生可能存在安全隱患。針對(duì)這個(gè)問題,筆者采用Blake2改進(jìn)型Ed25519算法,具體實(shí)現(xiàn)過程見1.2.4節(jié)。

      1.2 基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型設(shè)計(jì)

      1.2.1 總體框架設(shè)計(jì) 如圖1所示,本研究采用區(qū)塊鏈技術(shù)、IPFS技術(shù),結(jié)合密碼學(xué)原理,設(shè)計(jì)了基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型,其原理是通過物聯(lián)網(wǎng)設(shè)備實(shí)時(shí)采集生產(chǎn)、儲(chǔ)存、運(yùn)輸、銷售等環(huán)節(jié)數(shù)據(jù),將數(shù)據(jù)通過區(qū)塊鏈、IPFS等技術(shù)進(jìn)行數(shù)據(jù)整合與展示。

      具體而言,供應(yīng)鏈上生產(chǎn)企業(yè)、儲(chǔ)存企業(yè)、運(yùn)輸企業(yè)、銷售企業(yè)決定組建區(qū)塊鏈網(wǎng)絡(luò)后,在企業(yè)服務(wù)器上設(shè)置IPFS網(wǎng)絡(luò)節(jié)點(diǎn),與其他企業(yè)IPFS節(jié)點(diǎn)組建IPFS集群,以實(shí)現(xiàn)物聯(lián)網(wǎng)采集數(shù)據(jù)及時(shí)存儲(chǔ)并與企業(yè)間數(shù)據(jù)共享;在服務(wù)器上設(shè)置區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)與其他企業(yè)的區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)組成區(qū)塊鏈網(wǎng)絡(luò),利用節(jié)點(diǎn)向消費(fèi)者提供數(shù)據(jù)查詢接口,滿足消費(fèi)者溯源需求。在果蔬產(chǎn)品生產(chǎn)過程中,企業(yè)通過在其生產(chǎn)基地或倉庫等設(shè)置的溫濕度采集器、監(jiān)控等物聯(lián)網(wǎng)設(shè)備采集關(guān)鍵溯源數(shù)據(jù),數(shù)據(jù)采集完成后,將數(shù)據(jù)轉(zhuǎn)發(fā)給網(wǎng)關(guān)設(shè)備,網(wǎng)關(guān)利用Blake2改進(jìn)型Ed25519算法對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行身份驗(yàn)證,驗(yàn)證通過后,網(wǎng)關(guān)對(duì)數(shù)據(jù)進(jìn)行組織與處理,向IPFS服務(wù)器發(fā)起數(shù)據(jù)存儲(chǔ)請(qǐng)求。同樣的,IPFS服務(wù)器利用算法對(duì)該網(wǎng)關(guān)進(jìn)行身份驗(yàn)證,驗(yàn)證通過后,網(wǎng)關(guān)調(diào)用系統(tǒng)提供的IPFS數(shù)據(jù)存儲(chǔ)接口將數(shù)據(jù)存儲(chǔ)于IPFS中。在該企業(yè)溯源數(shù)據(jù)采集完成后,企業(yè)收集網(wǎng)關(guān)存入的IPFS數(shù)據(jù)后,IPFS根據(jù)存入數(shù)據(jù)返回的哈希值,將哈希值整合后存入?yún)^(qū)塊鏈網(wǎng)絡(luò),保證數(shù)據(jù)的真實(shí)性。

      基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型通過物聯(lián)網(wǎng)設(shè)備采集數(shù)據(jù),將采集數(shù)據(jù)存入IPFS系統(tǒng)后,IPFS根據(jù)數(shù)據(jù)生成的哈希值存入?yún)^(qū)塊鏈,提高了區(qū)塊鏈的存儲(chǔ)空間利用率與溯源數(shù)據(jù)真實(shí)性;各企業(yè)既可直接在IPFS集群中進(jìn)行企業(yè)間數(shù)據(jù)共享,又可利用區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行供應(yīng)鏈數(shù)據(jù)查詢,提高了企業(yè)間數(shù)據(jù)共享效率。利用Blake2改進(jìn)型Ed25519加密算法實(shí)現(xiàn)了物聯(lián)網(wǎng)設(shè)備的身份驗(yàn)證,提高了系統(tǒng)的安全性。

      1.2.2 果蔬供應(yīng)鏈數(shù)據(jù)流動(dòng)模型設(shè)計(jì) 在基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型基礎(chǔ)上,設(shè)計(jì)了果蔬供應(yīng)鏈數(shù)據(jù)流動(dòng)模型(圖2),將前者的數(shù)據(jù)儲(chǔ)存、數(shù)據(jù)查詢等操作進(jìn)行了進(jìn)一步的實(shí)踐。當(dāng)系統(tǒng)初始化時(shí),系統(tǒng)利用Blake2改進(jìn)型Ed25519算法為具有數(shù)據(jù)上傳權(quán)限的物聯(lián)網(wǎng)設(shè)備生成并發(fā)放公鑰,同時(shí)將公鑰進(jìn)行MD5加密后保存于區(qū)塊鏈。當(dāng)供應(yīng)鏈上游和下游企業(yè)物聯(lián)網(wǎng)設(shè)備采集到數(shù)據(jù)時(shí),利用其公鑰進(jìn)行身份驗(yàn)證,驗(yàn)證成功后,由網(wǎng)關(guān)將物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)存入IPFS,在該企業(yè)數(shù)據(jù)存儲(chǔ)完成后,系統(tǒng)收集各網(wǎng)關(guān)上傳的溯源數(shù)據(jù)的IPFS哈希值,利用其區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)調(diào)用環(huán)節(jié)哈希上鏈合約進(jìn)行哈希存儲(chǔ)。其中環(huán)節(jié)哈希上鏈合約內(nèi)部保存了各環(huán)節(jié)IPFS哈希格式,例如哈希值數(shù)量、環(huán)節(jié)身份識(shí)別號(hào)(ID)等。當(dāng)節(jié)點(diǎn)上傳數(shù)據(jù)的格式錯(cuò)誤時(shí)將無法完成哈希值上鏈。在果蔬供應(yīng)鏈數(shù)據(jù)存儲(chǔ)完成后,區(qū)塊鏈網(wǎng)絡(luò)中各節(jié)點(diǎn)達(dá)成共識(shí)完成賬本同步。并利用溯源合約提供消費(fèi)者溯源哈希查詢接口。消費(fèi)者利用移動(dòng)設(shè)備掃碼調(diào)用接口后,獲得供應(yīng)鏈數(shù)據(jù)的哈希集合,利用哈希集合在IPFS中獲取溯源數(shù)據(jù)。

      在果蔬供應(yīng)鏈數(shù)據(jù)流動(dòng)模型中,利用環(huán)節(jié)哈希上鏈合約檢查各環(huán)節(jié)存儲(chǔ)的IPFS哈希特征,實(shí)現(xiàn)了系統(tǒng)數(shù)據(jù)哈希存儲(chǔ)的智能化。通過溯源合約及區(qū)塊鏈節(jié)點(diǎn)為消費(fèi)者提供了溯源信息查詢接口,滿足了用戶溯源的需求。采用公鑰加密后鏈上存儲(chǔ)的設(shè)計(jì),保證了密鑰的安全性,避免了密鑰的二次生成、發(fā)放帶來的系統(tǒng)負(fù)擔(dān),提升了系統(tǒng)運(yùn)行效率。

      1.2.3 果蔬供應(yīng)鏈數(shù)據(jù)傳輸流程設(shè)計(jì) 采集果蔬生產(chǎn)環(huán)節(jié)數(shù)據(jù)的物聯(lián)網(wǎng)設(shè)備往往被安裝于野外環(huán)境,網(wǎng)絡(luò)狀況差,自身數(shù)據(jù)處理能力差,無法調(diào)用IPFS數(shù)據(jù)存儲(chǔ)接口進(jìn)行數(shù)據(jù)的直接存儲(chǔ),本研究設(shè)計(jì)了由設(shè)備身份驗(yàn)證、數(shù)據(jù)接收與處理、IPFS數(shù)據(jù)存儲(chǔ)模塊組成的果蔬供應(yīng)鏈數(shù)據(jù)傳輸流程,三者配合以達(dá)到采集數(shù)據(jù)存儲(chǔ)于IPFS的目的。其中設(shè)備身份驗(yàn)證模塊由網(wǎng)關(guān)利用Blake2改進(jìn)型Ed25519算法對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行身份驗(yàn)證。數(shù)據(jù)接收與處理模塊用于接收物聯(lián)網(wǎng)節(jié)點(diǎn)上傳的數(shù)據(jù)并對(duì)其進(jìn)行處理,IPFS數(shù)據(jù)存儲(chǔ)模塊用于IPFS服務(wù)器對(duì)網(wǎng)關(guān)進(jìn)行身份驗(yàn)證,以實(shí)現(xiàn)物聯(lián)網(wǎng)采集數(shù)據(jù)存儲(chǔ)于IPFS。

      具體流程如圖3所示,具體步驟如下:

      (1)當(dāng)物聯(lián)網(wǎng)設(shè)備采集到溯源數(shù)據(jù)時(shí),首先利用改進(jìn)型Ed25519算法結(jié)合自身公鑰對(duì)數(shù)據(jù)進(jìn)行簽名,將已簽名的數(shù)據(jù)傳輸給網(wǎng)關(guān),網(wǎng)關(guān)利用算法驗(yàn)證簽名合法性,若簽名不合法,說明物聯(lián)網(wǎng)設(shè)備身份錯(cuò)誤,網(wǎng)關(guān)拒絕接受該設(shè)備上傳的數(shù)據(jù),并向上級(jí)發(fā)送提示錯(cuò)誤的信息。

      (2)由于物聯(lián)網(wǎng)設(shè)備采集的數(shù)據(jù)格式包括文本文件(字符串、數(shù)字等)、二進(jìn)制文件(圖片、視頻等),對(duì)于文本文件而言,網(wǎng)關(guān)內(nèi)部保存了該環(huán)節(jié)文本文件各個(gè)數(shù)據(jù)項(xiàng)的名稱。當(dāng)網(wǎng)關(guān)獲取到物聯(lián)網(wǎng)設(shè)備上傳的文本數(shù)據(jù)時(shí),根據(jù)物聯(lián)網(wǎng)設(shè)備的身份,選擇文本文件各數(shù)據(jù)項(xiàng)名稱與設(shè)備上傳的數(shù)據(jù)對(duì)應(yīng)組合;對(duì)于二進(jìn)制文件而言,則不作處理。同時(shí),網(wǎng)關(guān)會(huì)檢查采集數(shù)據(jù)的合法性,如數(shù)據(jù)值不在正常數(shù)據(jù)范圍之內(nèi),則說明數(shù)據(jù)錯(cuò)誤或產(chǎn)品不達(dá)標(biāo),拒絕數(shù)據(jù)存儲(chǔ)并報(bào)告錯(cuò)誤。

      (3)網(wǎng)關(guān)利用改進(jìn)型Ed25519算法進(jìn)行身份驗(yàn)證后,對(duì)數(shù)據(jù)進(jìn)行簽名,經(jīng)過IPFS服務(wù)器驗(yàn)證成功后,調(diào)用IPFS數(shù)據(jù)存儲(chǔ)接口將獲得的數(shù)據(jù)上傳至IPFS。

      1.2.4 Blake2改進(jìn)型Ed25519算法設(shè)備的身份驗(yàn)證 現(xiàn)有的區(qū)塊鏈溯源系統(tǒng)中往往不需要進(jìn)行物聯(lián)網(wǎng)設(shè)備身份驗(yàn)證,降低了系統(tǒng)的安全性。采用Blake2改進(jìn)型Ed25519加密算法實(shí)現(xiàn)了設(shè)備的身份驗(yàn)證操作,可提高系統(tǒng)安全性。在物聯(lián)網(wǎng)設(shè)備將數(shù)據(jù)傳輸給網(wǎng)關(guān)、網(wǎng)關(guān)將數(shù)據(jù)傳輸給IPFS服務(wù)器時(shí),都需要經(jīng)過算法的身份驗(yàn)證。系統(tǒng)初始化時(shí),首先利用Blake2算法(Blake2算法涉及的常量、變量及表達(dá)式含義見表1)生成私鑰,隨后根據(jù)私鑰生成公鑰[21]。

      Blake2算法中調(diào)用了混合函數(shù)(G)與壓縮函數(shù)(F),下面對(duì)這2個(gè)函數(shù)進(jìn)行介紹。混合函數(shù)(G)的作用是對(duì)輸入的x,y 2個(gè)隨機(jī)字符串使用旋轉(zhuǎn)常數(shù)R1、R2、R3、R4在向量v上返回4個(gè)字符串a(chǎn)、b、c、d,結(jié)果表示為v[0-15]。G函數(shù)流程如函數(shù)1所示:

      函數(shù)1 Blake2中混合函數(shù)的操作流程:

      輸入:a,b,c,d,x,y;

      輸出:修改向量v[0-15];

      v[a](v[a]+v[b]+x)mod 2w

      v[d]=(v[d]∧v[a])>>>R1

      v[c]=(v[c]+v[d]) mod 2w

      v[b]=(v[b]∧v[c])>>>R2

      v[a]=(v[a]+v[b]+y) mod 2w

      v[d]=(v[d]∧v[a])>>>R3

      v[c]=(v[c]+v[d]) mod 2w

      v[b]=(v[b]∧v[c])>>>R4

      返回v[0-15]。

      壓縮函數(shù)(F)是將狀態(tài)向量(h)、消息塊向量(m)、2w位偏移計(jì)數(shù)器(t)和標(biāo)志(f)(判斷當(dāng)前是否處于最終塊,若為最終塊則為true)、局部向量(v)[0-15]用于混合與壓縮操作,可返回1個(gè)新的狀態(tài)向量h[0-7],回合編號(hào)從0到r-1。其中IV[0-7]為初始化向量,如公式(2)所示,根據(jù)表1中相關(guān)系數(shù)進(jìn)行運(yùn)算后的結(jié)果如公式(3)所示。壓縮函數(shù)(F)操作流程如下,其中函數(shù)涉及的SIGMAS訊息時(shí)間如表2所示:

      IV[i]=floor{2w*frac{sqrt[prime(i+1)]}}(2)

      IV[0-7]={0x6A09E667F3BCC908,0xBB67AE8584CAA73B,0x3C6EF372FE94F82B,0xA54FF53A5F1D36F1,0x510E527FADE682D1,0x9B05688C2B3E6C1F,0x1F83D9ABFB41BD6B,0x5BE0CD19137E2179}(3)

      函數(shù)2 Blake2中壓縮函數(shù)的操作流程:

      輸入:h[0-7],m[0-15],t,f;

      輸出:h[0-7];

      v[0-7]=h[0-7]//狀態(tài)的前半部分

      v[8-15]=IV[0-7]//IV的后半部分

      //初始化局部工作向量v[0-15]

      v[12]=v[12]∧(t mod 2w)//偏移量的低位字

      v[13]=v[13]∧(tw)//高位字

      If(f=true)//最后一個(gè)塊標(biāo)志

      v[14]=v[14]∧0xFFFFFFFF//反轉(zhuǎn)所有位.

      //密碼混合

      for(i=0;i≤r-1;i++)

      //本輪的消息詞選擇排列。

      s[0-15]=SIGMA[i mod 10][0-15]

      v=G(0,4,8,12,m{s[0]},m{s[1]})

      v=G(1,5,9,13,m{s[2]},m{s[3]})

      v=G(2,6,10,14,m{s[4]},m{s[5]})

      v=G(3,7,11,15,m{s[6]},m{s[7]})

      v=G(0,5,10,15,m{s[8]},m{s[9]})

      v=G(1,6,11,12,m{s[10]},m{s[11]})

      v=G(2,7,8,13,m{s[12]},m{s[13]})

      v=G(3,4,9,14,m{s[14]},m{s[15]})

      for(i=0;i≤7;i++)//兩半異或

      h[i]=h[i]∧v[i]∧v[i+8]

      返回h[0-7]//新狀態(tài)。

      下面介紹Blake2算法。摘要密鑰和數(shù)據(jù)輸入被拆分并填充到dd消息塊d[0-dd-1]中,每個(gè)dd消息塊由bb 字節(jié)組成。用“0”進(jìn)行填充,并設(shè)置為d[0],數(shù)據(jù)塊d[dd-1]也用“0”填充到bb字節(jié)。塊數(shù)dd=ceil(kk/bb)+ceil(ll/bb)。隨后將填充的數(shù)據(jù)塊處理為nn字節(jié)的最終散列值,具體步驟如算法1所示。指定參數(shù)塊字p[0-7]如下:

      p[0]=0x0101kknn;

      p[1-7]=0。

      Blake2算法流程如下:

      算法1:Blake2函數(shù)流程。

      輸入:dd[0-dd-1],ll,kk,nn;

      輸出:數(shù)組h[]的第一個(gè)nn字節(jié);

      h[0-7]=IV[0-7]//初始化向量

      h[0]=h[0]∧0x01010000∧(kk8)∧nn

      //處理填充鍵和數(shù)據(jù)塊

      if(dd>1)

      For(i=0;i≤dd-2,i++)

      h=F(h,d[i],(i+1)*bb,false)

      //最后一個(gè)塊

      if(kk=0)

      h=F(h,d[dd-1],ll,true)

      Else

      h=F(h,d[dd-1],ll+bb,true)

      返回?cái)?shù)組h[]的第一個(gè)nn字節(jié)。

      在利用Blake2生成私鑰后,利用Ed25519算法生成公鑰,發(fā)放給物聯(lián)網(wǎng)設(shè)備。公鑰生成的具體流程[22]如下:

      (1)選擇256 bit的blake2算法生成的私鑰,記為sk=(sk255,sk254,…,sk1,sk0)2;

      (2)對(duì)sk做SHA-512運(yùn)算,即H(sk)=(h511,h510,…,h1,h0)2;

      (3)取H(sk)的末尾256 bit大小數(shù)據(jù),并進(jìn)行修剪,整理為s=(0,1,h253,h252,…,h3,0,0,0);

      (4)將s解釋為小端整數(shù),形成秘密標(biāo)量,執(zhí)行標(biāo)量乘法sB,sB=(x,y)=A,其中,x=(x254,x253,…,x1,x0)2,y=(y254,y253,…,y1,y0)2;

      (5)壓縮sB結(jié)果,壓縮過程為pk=Ay+(Ax & 1),得公鑰pk=(x0,y254,y253,…,y1,y0)2。

      當(dāng)物聯(lián)網(wǎng)設(shè)備、網(wǎng)關(guān)得到公鑰后,需要進(jìn)行溯源數(shù)據(jù)片M傳輸時(shí),首先對(duì)溯源數(shù)據(jù)M進(jìn)行簽名,簽名算法如下。G為曲線Edwards25519的基點(diǎn),R′和A為曲線上的動(dòng)點(diǎn),L為253位的素?cái)?shù)(2252+27 742 317 777 372 353 535 851 937 790 883 648 493),R和pk分別為點(diǎn)R′和點(diǎn)A的256位壓縮結(jié)果,壓縮過程為R=R′y+(R′x&1)。其中H(x)表示為x進(jìn)行SHA-512算法運(yùn)算后的運(yùn)算結(jié)果。

      算法2:Ed25519數(shù)字簽名算法的簽名流程。

      輸入:256位的公鑰pk,任意長度的消息M,256位的私鑰sk;

      輸出:512位的簽名結(jié)果R,S。

      1)對(duì)sk做SHA-512運(yùn)算,H(sk)=(h511,h510,…,h1,h0)2;

      2)取H(sk)的高256位,h=(h511,h510,…,h257,h256)2;

      3)a=2254+∑253i=32ihi;

      4)r=H(h,M) mod L;

      5)R′=rG=(R′x,R′y),壓縮點(diǎn)R′得到R=R′y+(R′x & 1);

      6)k=H(R,pk,M) mod L;

      7)S=(r+ka) mod L;

      8)返回簽名(R,S)。

      當(dāng)網(wǎng)關(guān)、IPFS服務(wù)器獲得溯源數(shù)據(jù)片M及上傳數(shù)據(jù)的簽名結(jié)果(R,S)后,將利用之前發(fā)放給各物聯(lián)網(wǎng)設(shè)備、網(wǎng)關(guān)的公鑰pk進(jìn)行驗(yàn)簽操作,具體算法如下所示。驗(yàn)簽過程的解壓操作是密鑰生成和簽名操作中壓縮操作的逆運(yùn)算。

      算法3:Ed25519數(shù)字簽名算法的驗(yàn)簽流程。

      輸入:256位的公鑰pk,任意長度的消息M,512位的簽名結(jié)果(R,S);

      輸出:驗(yàn)簽的結(jié)果;

      1)若(R,S)[1,L-1],則驗(yàn)證失敗,結(jié)束驗(yàn)證流程;

      2)解壓得到點(diǎn)R′;

      3)解壓pk得到點(diǎn)A;

      4)k=H(R,pk,M) mod L;

      5)驗(yàn)證SG=R′+kA,若等號(hào)成立,則驗(yàn)證成功。

      在Ed25519中的點(diǎn)加與倍點(diǎn)運(yùn)算需要在拓展四元齊次坐標(biāo)下完成,具體操作見文獻(xiàn)[22]。驗(yàn)簽過程中,通過對(duì)比SG和R′+kA的運(yùn)算結(jié)果來判斷簽名的真實(shí)性。當(dāng)簽名驗(yàn)證成功時(shí),表示該設(shè)備身份可信。當(dāng)該設(shè)備需要進(jìn)行二次身份驗(yàn)證時(shí),從區(qū)塊鏈中獲取公鑰MD5哈希值,并與本地公鑰MD5哈希值進(jìn)行比對(duì),比對(duì)成功后表明公鑰未被篡改,可使用公鑰對(duì)數(shù)據(jù)進(jìn)行簽名完成身份驗(yàn)證。

      2 結(jié)果與分析

      2.1 系統(tǒng)架構(gòu)與實(shí)現(xiàn)

      基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源系統(tǒng)的目的是實(shí)時(shí)監(jiān)控與保存果蔬產(chǎn)品從生產(chǎn)到銷售各環(huán)節(jié)產(chǎn)生的關(guān)鍵數(shù)據(jù),并將數(shù)據(jù)進(jìn)行安全儲(chǔ)存與展示。對(duì)本系統(tǒng)各個(gè)功能模塊進(jìn)行了細(xì)化,系統(tǒng)分為采集層、存儲(chǔ)層、接口層、應(yīng)用層,系統(tǒng)架構(gòu)如圖4所示。

      采集層主要通過各企業(yè)設(shè)置的溫濕度采集設(shè)備、移動(dòng)端設(shè)備、監(jiān)控設(shè)備等進(jìn)行數(shù)據(jù)采集與錄入,保證關(guān)鍵數(shù)據(jù)采集的全面化與多樣化。存儲(chǔ)層分為IPFS鏈下存儲(chǔ)與區(qū)塊鏈鏈上存儲(chǔ)兩部分,鏈下存儲(chǔ)可以減輕區(qū)塊鏈網(wǎng)絡(luò)存儲(chǔ)負(fù)擔(dān),保證了物聯(lián)網(wǎng)設(shè)備采集數(shù)據(jù)的及時(shí)存儲(chǔ)與安全;區(qū)塊鏈鏈上存儲(chǔ)保證了溯源數(shù)據(jù)IPFS哈希安全性,并通過區(qū)塊鏈節(jié)點(diǎn)為用戶提供溯源數(shù)據(jù)查詢接口。接口層主要為數(shù)據(jù)存儲(chǔ)、查詢提供相應(yīng)接口,針對(duì)模型的特點(diǎn),提供了IPFS數(shù)據(jù)交互接口,滿足了網(wǎng)關(guān)設(shè)備的溯源數(shù)據(jù)存儲(chǔ)的需求和通過數(shù)據(jù)哈希在IPFS中查詢溯源數(shù)據(jù)的需求;提供了區(qū)塊鏈數(shù)據(jù)交互接口,滿足了IPFS數(shù)據(jù)哈希上鏈與消費(fèi)者掃碼調(diào)用接口查詢IPFS哈希的需求。應(yīng)用層通過微信小程序和Web端向消費(fèi)者、監(jiān)管部門、企業(yè)等提供數(shù)據(jù)查詢、管理頁面。

      安徽省合肥市某果蔬企業(yè)涉及草莓供應(yīng)鏈所有環(huán)節(jié),需要較多的物聯(lián)網(wǎng)數(shù)據(jù)采集設(shè)備進(jìn)行數(shù)據(jù)采集,為保證各物聯(lián)網(wǎng)設(shè)備采集數(shù)據(jù)的安全傳輸與高效存儲(chǔ),保證數(shù)據(jù)在存儲(chǔ)于區(qū)塊鏈前未發(fā)生篡改,采用本系統(tǒng)進(jìn)行了優(yōu)化。圖5為本系統(tǒng)采集層相關(guān)設(shè)備,圖5A、5B分別為土壤溫濕度傳感器及空氣傳感器,圖5C為網(wǎng)關(guān)設(shè)備。物聯(lián)網(wǎng)設(shè)備運(yùn)作邏輯為:傳感器采集草莓生產(chǎn)過程中的關(guān)鍵數(shù)據(jù),通過傳輸線連接到網(wǎng)關(guān)的接線端子,利用網(wǎng)關(guān)的樹莓派等裝置實(shí)現(xiàn)將傳感器采集數(shù)據(jù)的組織、傳輸、存儲(chǔ)于IPFS等。本系統(tǒng)應(yīng)用層相關(guān)頁面如圖6所示,圖6A為消費(fèi)者掃描商品二維碼后顯示的移動(dòng)端主頁,展示了草莓的品種、產(chǎn)地等信息,用戶可選擇環(huán)節(jié),查看該環(huán)節(jié)詳細(xì)信息,例如點(diǎn)擊生產(chǎn)信息后,生產(chǎn)信息頁面如圖6B所示,展示了種植商、地址等一系列溯源信息。圖6C為企業(yè)Web端頁面,展示了區(qū)塊鏈管理、基地管理、物聯(lián)網(wǎng)設(shè)備管理等多個(gè)功能,當(dāng)前頁面展示了區(qū)塊鏈信息,例如智能合約數(shù)、交易數(shù)、區(qū)塊數(shù)等,可實(shí)現(xiàn)企業(yè)對(duì)供應(yīng)鏈的全面管理與信息監(jiān)測(cè)。

      2.2 系統(tǒng)效率測(cè)試

      基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源系統(tǒng)采用Hyperledger Fabric構(gòu)建。其環(huán)境基礎(chǔ)為Centos 7.5、Docker 18.09、fabric-sdk-node 2.2。虛擬機(jī)配置為32 G內(nèi)存、16核處理器、16 G硬盤,帶寬為 20 Mb/s。采用區(qū)塊鏈基準(zhǔn)測(cè)試工具Hyperledger Caliper 生成測(cè)試結(jié)果。

      為了驗(yàn)證基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源系統(tǒng)的寫入與查詢效率,測(cè)試了全供應(yīng)鏈環(huán)節(jié)數(shù)據(jù)存儲(chǔ)耗時(shí),包括從各物聯(lián)網(wǎng)設(shè)備采集數(shù)據(jù)存入IPFS的平均時(shí)間以及IPFS哈希存儲(chǔ)于區(qū)塊鏈的時(shí)間,為了保證測(cè)試結(jié)果的真實(shí)可靠,進(jìn)行了100次供應(yīng)鏈數(shù)據(jù)存儲(chǔ)效率測(cè)試、100次溯源數(shù)據(jù)查詢效率測(cè)試。如圖7A所示,全供應(yīng)鏈數(shù)據(jù)存入?yún)^(qū)塊鏈耗時(shí)為4.738 s,單個(gè)環(huán)節(jié)平均耗時(shí)1.190 s;可見數(shù)據(jù)存儲(chǔ)時(shí)設(shè)備對(duì)數(shù)據(jù)進(jìn)行簽名、驗(yàn)簽操作,IPFS哈希存儲(chǔ)等操作對(duì)數(shù)據(jù)存儲(chǔ)的負(fù)面影響并不明顯。如圖7B所示,用戶溯源平均消耗時(shí)間為0.452 s。可見本系統(tǒng)的區(qū)塊鏈結(jié)合IPFS的數(shù)據(jù)查詢機(jī)制可以略微提升溯源服務(wù)速度,這主要是由于IPFS分布式的特點(diǎn),IPFS數(shù)據(jù)查詢效率要高于區(qū)塊鏈數(shù)據(jù)查詢效率。

      3 結(jié)論

      本研究應(yīng)用密碼學(xué)原理設(shè)計(jì)了Blake2改進(jìn)型Ed25519算法,并以此設(shè)計(jì)了果蔬供應(yīng)鏈數(shù)據(jù)傳輸流程,在此基礎(chǔ)上結(jié)合IPFS與區(qū)塊鏈技術(shù)設(shè)計(jì)了基于身份驗(yàn)證的果蔬區(qū)塊鏈信息存儲(chǔ)溯源模型。在進(jìn)行實(shí)際應(yīng)用及測(cè)試后,Blake2改進(jìn)型Ed25519算法可以實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的身份驗(yàn)證,保障了系統(tǒng)的安全性;果蔬供應(yīng)鏈數(shù)據(jù)傳輸流程可以改善物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)處理、傳輸能力不足的問題,提高數(shù)據(jù)傳輸?shù)母咝?;利用IPFS鏈下存儲(chǔ)采集數(shù)據(jù),區(qū)塊鏈網(wǎng)絡(luò)鏈上存儲(chǔ)IPFS哈希,可以提高區(qū)塊鏈存儲(chǔ)空間利用率。三者結(jié)合可以滿足果蔬供應(yīng)鏈數(shù)據(jù)安全性傳輸、存儲(chǔ)的需求。在進(jìn)行系統(tǒng)測(cè)試后,本系統(tǒng)供應(yīng)鏈數(shù)據(jù)存儲(chǔ)時(shí)間為4.738 s,數(shù)據(jù)查詢時(shí)間為0.452 s,可以提供高效溯源服務(wù),可為果蔬供應(yīng)鏈溯源系統(tǒng)設(shè)計(jì)提供參考。

      參考文獻(xiàn):

      [1] 孫海霞,張淑娟,薛建新,等. 基于光譜和成像技術(shù)的果蔬質(zhì)量檢測(cè)研究進(jìn)展[J]. 光譜學(xué)與光譜分析,2018,38(6):1779-1785.

      [2] HAMID S, MAHMOOD Z, IMRAN M , et al. Potentiality of lemon peel as low cost adsorbent for the removal of trypan blue dye from aqueous solution[J]. Journal-Chemical Society of Pakistan, 2011, 33(3):364-369.

      [3] 王祖良,郭建新,張 婷,等. 農(nóng)產(chǎn)品質(zhì)量溯源RFID標(biāo)簽批量識(shí)別[J]. 農(nóng)業(yè)工程學(xué)報(bào),2020,36(10):150-157.

      [4] 楊信廷,王明亭,徐大明,等. 基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)信息存儲(chǔ)模型與查詢方法[J]. 農(nóng)業(yè)工程學(xué)報(bào),2019,35(22):323-330.

      [5] 弋偉國,何建國,劉貴珊,等. 區(qū)塊鏈增強(qiáng)果蔬質(zhì)量追溯可信度方法研究與系統(tǒng)實(shí)現(xiàn)[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(2):309-315.

      [6] 張 新,彭祥貞,許繼平,等. 基于區(qū)塊鏈智能合約的稻米供應(yīng)鏈動(dòng)態(tài)監(jiān)管模型[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2022,53(1):370-382.

      [7] 于華竟,徐大明,羅 娜,等. 雜糧供應(yīng)鏈區(qū)塊鏈多鏈追溯監(jiān)管模型設(shè)計(jì)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2021,37(20):323-332.

      [8] 許繼平,王 健,張 新,等. 區(qū)塊鏈驅(qū)動(dòng)的稻米供應(yīng)鏈信息監(jiān)管模型研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2021,52(5):202-211.

      [9] 于合龍,陳邦越,徐大明,等. 基于區(qū)塊鏈的水稻供應(yīng)鏈溯源信息保護(hù)模型研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(8):328-335.

      [10]王志鏵,柳平增,宋成寶,等. 基于區(qū)塊鏈的農(nóng)產(chǎn)品柔性可信溯源系統(tǒng)研究[J]. 計(jì)算機(jī)工程,2020,46(12):313-320.

      [11]于合龍,陳邦越,徐大明等. 基于區(qū)塊鏈的水稻供應(yīng)鏈溯源信息保護(hù)模型研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2020,51(8):328-335.

      [12]邵奇峰,金澈清,張 召,等. 區(qū)塊鏈技術(shù):架構(gòu)及進(jìn)展[J]. 計(jì)算機(jī)學(xué)報(bào),2018,41(5):969-988.

      [13]夏 清,竇文生,郭凱文等. 區(qū)塊鏈共識(shí)協(xié)議綜述[J]. 軟件學(xué)報(bào),2021,32(2):277-299.

      [14]任艷麗,徐丹婷,張新鵬,等. 可修改的區(qū)塊鏈方案[J]. 軟件學(xué)報(bào),2020,31(12):3909-3922.

      [15]尤 瑤,孔蘭菊,肖宗水,等. 一種支持區(qū)塊鏈交易溯源的混合索引機(jī)制[J]. 計(jì)算機(jī)集成制造系統(tǒng),2019,25(4):978-984.

      [16]劉漢卿,阮 娜. 區(qū)塊鏈中攻擊方式的研究[J]. 計(jì)算機(jī)學(xué)報(bào),2021,44(4):786-805.

      [17]ATHANERE S, THAKUR R. Blockchain based hierarchical semi-decentralized approach using IPFS for secure and efficient data sharing[J]. Journal of King Saud University Computer and Information Sciences, 2022, 34(4):1523-1534.

      [18]杜飛飛,張德學(xué),王佃濤,等. BLAKE2b算法優(yōu)化及OpenCL實(shí)現(xiàn)[J]. 小型微型計(jì)算機(jī)系統(tǒng),2019,40(11):2281-2284.

      [19]劉 勇,陳 宇,陳 鐘. 對(duì)稱密碼算法的性能優(yōu)化[J]. 北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,44(5):733-738.

      [20]薛一鳴,劉樹榮,郭書恒,等. 高速Ed25519驗(yàn)簽算法硬件架構(gòu)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 通信學(xué)報(bào),2022,43(3):101-112.

      [21]劉宗斌,荊繼武,夏魯寧. BLAKE算法的硬件實(shí)現(xiàn)研究[J]. 計(jì)算機(jī)學(xué)報(bào),2012,35(4):703-711.

      [22]許文龍,王 奕,陳 佐,等. 高性能BLAKE算法研究及其FPGA實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用研究,2012,29(6):2098-2101.

      (責(zé)任編輯:陳海霞)

      猜你喜歡
      溯源身份驗(yàn)證區(qū)塊鏈
      HID Global收購Arjo Systems擴(kuò)大政府身份驗(yàn)證業(yè)務(wù)
      毛澤東與黨的實(shí)事求是思想路線確立
      東方教育(2016年7期)2017-01-17 21:07:45
      有機(jī)RFID標(biāo)簽在農(nóng)產(chǎn)品食品溯源中的應(yīng)用
      “簞瓢陋巷”典故研究
      區(qū)塊鏈技術(shù)的應(yīng)用價(jià)值分析
      商情(2016年40期)2016-11-28 11:24:12
      “區(qū)塊鏈”的茍且、詩和遠(yuǎn)方
      基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
      “時(shí)務(wù)文體”溯源
      新聞世界(2016年7期)2016-08-23 08:36:24
      用“區(qū)塊鏈”助推中企走出去
      更安全的雙重密碼保護(hù)
      CHIP新電腦(2015年3期)2015-04-02 17:55:46
      甘洛县| 盈江县| 贵定县| 县级市| 红桥区| 河南省| 深水埗区| 兴城市| 东莞市| 双城市| 从江县| 敖汉旗| 桐城市| 象山县| 尤溪县| 瓦房店市| 凤台县| 五河县| 柳林县| 宾川县| 蒙城县| 济宁市| 光泽县| 墨江| 桃源县| 荥阳市| 大悟县| 吴江市| 阿鲁科尔沁旗| 自贡市| 荆州市| 张家港市| 和静县| 凤台县| 滕州市| 北川| 壶关县| 磴口县| 龙南县| 手机| 巴彦淖尔市|