• 
    

    
    

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

      基于分布式系統(tǒng)的加密實(shí)時(shí)通信架構(gòu)設(shè)計(jì)

      2020-10-26 08:14:40王鎮(zhèn)威朱命冬
      無線互聯(lián)科技 2020年14期
      關(guān)鍵詞:透明性線程密鑰

      王鎮(zhèn)威,張 皓,朱命冬

      (河南工學(xué)院,河南 新鄉(xiāng) 453003)

      1單服務(wù)器通信

      在通信模式中,單服務(wù)器通信架構(gòu)將服務(wù)器作為中轉(zhuǎn),采用傳輸控制協(xié)議(Transmission Control Protocol,TCP),實(shí)時(shí)監(jiān)聽通信端鏈接請(qǐng)求,并完成端到端通信。當(dāng)通信端向服務(wù)器發(fā)起通信請(qǐng)求時(shí),實(shí)時(shí)監(jiān)聽的服務(wù)器會(huì)接收通信端的通信請(qǐng)求,采用TCP建立鏈接(3次握手),并且在通信端與服務(wù)器之間建立一個(gè)套接字(socket)信道[1]。

      當(dāng)通信端向其他通信端發(fā)起通信時(shí),服務(wù)器作為通信的中轉(zhuǎn)站,通過與各個(gè)服務(wù)端之間的socket信道完成信息的交互,達(dá)到通信的目的。在單服務(wù)器通信模式中不難發(fā)現(xiàn),通信過程沒有任何保密措施,服務(wù)器持續(xù)監(jiān)聽,通信端和服務(wù)端的身份得不到驗(yàn)證和授權(quán)。服務(wù)器端和通信端都可以被偽裝,進(jìn)而竊取通信信息。

      2 分布式系統(tǒng)解決的問題

      對(duì)于分布式系統(tǒng)來說,相關(guān)的挑戰(zhàn)主要有7個(gè):異構(gòu)性、開放性、安全性、可伸縮性、故障處理、并發(fā)性、透明性[2]。本文主要關(guān)注并發(fā)性和透明性對(duì)實(shí)時(shí)通信系統(tǒng)的影響。

      2.1 并發(fā)性

      多個(gè)通信端同時(shí)請(qǐng)求訪問一個(gè)資源,將導(dǎo)致并發(fā)問題的出現(xiàn)。例如,在實(shí)時(shí)通信系統(tǒng)中,如果多個(gè)通信端試圖閱讀當(dāng)前通信用戶列表,而又有多個(gè)通信端同時(shí)退出通信。當(dāng)每個(gè)通信端連接到服務(wù)器時(shí),服務(wù)器中將有一個(gè)新線程,線程將遇到并發(fā)問題。有些線程的操作可能被其他線程覆蓋,數(shù)據(jù)存儲(chǔ)室列表可能與預(yù)期結(jié)果不符。因此,在操作相同的資源時(shí),需要同步線程。

      當(dāng)兩個(gè)或多個(gè)線程同時(shí)訪問一個(gè)對(duì)象的相同資源時(shí),可以使用同步方法和同步塊。至于同步方法,不同對(duì)象實(shí)例中的不同同步方法是不相關(guān)的,意味著其他線程仍然可以訪問同步方法,即使在同一個(gè)類中,只要方法屬于不同的對(duì)象。

      如果兩個(gè)線程需要訪問同一對(duì)象中的同一個(gè)同步方法,則必須按順序訪問。一個(gè)線程將先訪問資源,另一個(gè)線程必須等到前一個(gè)線程完成任務(wù)。使用同步方法也有缺點(diǎn),同步方法的訪問效率會(huì)降低。另一種方法是使用同步塊,可以將塊分配給任何對(duì)象,因?yàn)榭梢葬槍?duì)特定的代碼塊,在同時(shí)訪問同一資源時(shí)線程將按順序執(zhí)行事務(wù)。

      2.2 透明性

      對(duì)透明性而言,一個(gè)分布式系統(tǒng)主要有8個(gè)方面的透明性:訪問透明、位置透明、并發(fā)透明、復(fù)制透明、故障透明、移動(dòng)透明、性能透明和伸縮透明[2]。在單服務(wù)器實(shí)時(shí)通信中,位置透明是顯而易見的,因?yàn)橥ㄐ哦瞬恍枰婪?wù)器在哪里,也不需要知道其他通信端的位置信息,而是需要通過服務(wù)器的IP地址連接到服務(wù)器。

      在系統(tǒng)中,故障透明性是可靠的,因?yàn)槿绻ㄐ畔到y(tǒng)接收到異常,不會(huì)將其拋給通信端,而是處理異常并向通信端提供反饋,用戶仍然可以根據(jù)反饋完成任務(wù),而不是退出。還有一些透明度在通信系統(tǒng)中不可用,比如,訪問透明,因?yàn)樗械馁Y源都在同一個(gè)服務(wù)器上。換句話說,服務(wù)器不是分布式的,因?yàn)橹挥幸粋€(gè)服務(wù)器。

      3 分布式服務(wù)端架構(gòu)

      分布式多服務(wù)端體系結(jié)構(gòu)也基于通信端-服務(wù)器模型。然而,多服務(wù)器體系結(jié)構(gòu)中的通信端和服務(wù)器是分布式的,與基本的通信端和服務(wù)器模型有所區(qū)別。

      如果傳統(tǒng)的通信端和服務(wù)器模型中有兩臺(tái)服務(wù)器,模型如圖1所示。

      圖1 分布式服務(wù)端通信架構(gòu)

      兩個(gè)服務(wù)器可以互相交換消息,因?yàn)橹g有一個(gè)鏈接,可以看作是一個(gè)簡(jiǎn)單的分布式服務(wù)器系統(tǒng)。每臺(tái)服務(wù)器將為一組特定的通信端維護(hù)一個(gè)數(shù)據(jù)庫(kù)或數(shù)據(jù)結(jié)構(gòu),服務(wù)器還將保留其他服務(wù)器的信息。不同的服務(wù)器位于不同的位置,但仍然可以相互通信。例如,如果通信端A需要與通信端C和D通信,首先,向服務(wù)器1發(fā)送一個(gè)請(qǐng)求,當(dāng)服務(wù)器1開始處理該請(qǐng)求時(shí),會(huì)在本地通信端列表中搜索通信端C和通信端D。如果不在本地通信端列表中,則服務(wù)器1將向服務(wù)器2發(fā)送一個(gè)請(qǐng)求,以進(jìn)行通信端通信。當(dāng)服務(wù)器2收到請(qǐng)求時(shí),將在處理請(qǐng)求后響應(yīng)服務(wù)器1。通信端A可以與通信端C和通信端D進(jìn)行通信,而不需要服務(wù)器2的端口和地址,信息將由分布式服務(wù)器處理。

      3.1 分布式服務(wù)器交互

      對(duì)于多服務(wù)器分布式通信系統(tǒng)的實(shí)現(xiàn),服務(wù)器將在不同的地方接入互聯(lián)網(wǎng)。通信端將只連接到自己的服務(wù)器,因此,服務(wù)器的拓?fù)浣Y(jié)構(gòu)應(yīng)該是一個(gè)網(wǎng)絡(luò)映射,如果通信端需要與屬于遠(yuǎn)程服務(wù)器的其他通信端通信,則為該通信端創(chuàng)建的本地服務(wù)器中的線程將向遠(yuǎn)程服務(wù)器發(fā)送請(qǐng)求。

      對(duì)于本地服務(wù)器和遠(yuǎn)程服務(wù)器之間的通信,可以看作是一個(gè)簡(jiǎn)單的通信端和服務(wù)器模型。本地服務(wù)器將扮演通信端的角色,而遠(yuǎn)程服務(wù)器將接收本地服務(wù)器發(fā)送的請(qǐng)求。將在本地和遠(yuǎn)程服務(wù)器的兩個(gè)線程之間構(gòu)建一個(gè)socket信道。該模型中的服務(wù)器不僅要維護(hù)本地通信端信息,還要維護(hù)其他服務(wù)器的部分或全部信息,如IP地址、端口號(hào)以及特定數(shù)據(jù)結(jié)構(gòu)中其他服務(wù)器的通信端列表。當(dāng)本地通信端需要與遠(yuǎn)程通信端建立連接時(shí),本地服務(wù)器就可以準(zhǔn)確地連接到特定的遠(yuǎn)程服務(wù)器。

      3.2 服務(wù)器間數(shù)據(jù)分布

      在單服務(wù)器模型中,數(shù)據(jù)將存儲(chǔ)在同一個(gè)服務(wù)器中,而在多服務(wù)器模型中,數(shù)據(jù)是分布式的。拓?fù)浣Y(jié)構(gòu)中的每個(gè)服務(wù)器將只維護(hù)屬于本地服務(wù)器區(qū)域的通信端數(shù)據(jù),此外,還將使用一個(gè)數(shù)據(jù)結(jié)構(gòu)來保存其他服務(wù)器的信息。數(shù)據(jù)結(jié)構(gòu)可以輕松幫助本地服務(wù)器建立與遠(yuǎn)程服務(wù)器的連接,就像一個(gè)分層的數(shù)據(jù)管理系統(tǒng)。數(shù)據(jù)將存儲(chǔ)在不同的地區(qū),并在當(dāng)?shù)亟⑺饕退饕夸洝?/p>

      從單服務(wù)器系統(tǒng)到多服務(wù)器系統(tǒng),由于多服務(wù)器體系結(jié)構(gòu)的高透明度,通信端操作不需要改變。當(dāng)用戶請(qǐng)求本地或遠(yuǎn)程服務(wù)器上的資源時(shí),用戶不知道自己訪問的是哪個(gè)服務(wù)器,從通信端的角度來看,所有服務(wù)器都可以看作是一臺(tái)服務(wù)器。與單服務(wù)器系統(tǒng)相比,多服務(wù)器系統(tǒng)只改變了服務(wù)器的體系結(jié)構(gòu),使服務(wù)器能夠相互通信。對(duì)于通信端,架構(gòu)可以是相通的。當(dāng)一個(gè)通信端運(yùn)行兩個(gè)線程時(shí)將連接到服務(wù)器,一個(gè)讀、一個(gè)寫。

      3.3 分布式實(shí)時(shí)通信模型評(píng)估

      使用多服務(wù)器體系結(jié)構(gòu)有許多好處,其效率高于單服務(wù)器系統(tǒng)。例如,如果一個(gè)任務(wù)有10個(gè)子任務(wù),則每個(gè)子任務(wù)需要1 h才能完成,所以,使用單服務(wù)器系統(tǒng)需要10 h才能完成任務(wù)。但是如果系統(tǒng)有10臺(tái)服務(wù)器,可以同時(shí)處理10個(gè)子任務(wù)。理想狀態(tài)下完成任務(wù)只需要1 h左右,此外,故障容忍度比單服務(wù)器系統(tǒng)更高。例如,如果一個(gè)服務(wù)器在一個(gè)服務(wù)器系統(tǒng)中發(fā)生故障,那么所有的通信端都將受到影響。如果系統(tǒng)中有多臺(tái)服務(wù)器,其中,一臺(tái)服務(wù)器發(fā)生故障不會(huì)影響其他服務(wù)器,用戶就可以在其他服務(wù)器上完成自己的任務(wù)。此外,多服務(wù)器系統(tǒng)的可擴(kuò)展性很高,因?yàn)榭梢栽黾踊驕p少多個(gè)服務(wù)器中的通信端數(shù)量,而不會(huì)影響系統(tǒng)的體系結(jié)構(gòu)。

      多服務(wù)器架構(gòu)也有缺點(diǎn):首先,不同服務(wù)器的維護(hù)將花費(fèi)大量資源。其次,多服務(wù)器體系結(jié)構(gòu)的安全性很難保證,因?yàn)槿魏我粋€(gè)服務(wù)器都有可能受到攻擊并引發(fā)問題。最后,由于服務(wù)器的位置和數(shù)量的限制,管理和復(fù)雜度控制變得困難。

      4 加密實(shí)現(xiàn)

      密碼學(xué)的基本概念是對(duì)信息進(jìn)行加密和解密。原始數(shù)據(jù)稱為明文,具體來說,通過使用一些算法和密鑰,可以將明文轉(zhuǎn)換為一些不規(guī)則的數(shù)據(jù),數(shù)據(jù)被稱為“密文”,過程稱為加密,算法稱為加密算法。同理,只要得到密鑰和算法,解密就是加密的相反過程。在實(shí)時(shí)通信的過程當(dāng)中,通信的加密大致分為兩種,分別是對(duì)稱加密和非對(duì)稱加密[3]。

      4.1 證書和安全的套接層

      在通信系統(tǒng)中,服務(wù)器擁有一個(gè)官方證書,可以看作是一個(gè)可靠的第三方[4]。服務(wù)器將向通信端授予公鑰證書,以便通信端可以獲取服務(wù)器的公鑰,然后通信端可以使用公鑰加密發(fā)送到服務(wù)器的信息。服務(wù)器可以使用自己的私鑰來解密信息,使用非對(duì)稱加密的方法保證信息準(zhǔn)確性。SSL協(xié)議為基于TCP/IP協(xié)議和通信端-服務(wù)器模型的Web應(yīng)用提供了數(shù)據(jù)完整性和安全傳輸?shù)劝踩胧?shí)際上SSL協(xié)議可以看作是開發(fā)系統(tǒng)模型(Open System Infrastructure,OSI)中傳輸層和應(yīng)用層之間的中間件,給信息交互提供一個(gè)安全的信道[6]。

      基于SSL協(xié)議連接的特點(diǎn):首先,安全連接。當(dāng)初始握手完成后,SSL使用對(duì)稱加密方法協(xié)商密鑰。其次,SSL可以使用RSA等非對(duì)稱加密(公鑰)方法進(jìn)行身份驗(yàn)證。最后,由于數(shù)據(jù)中含有校驗(yàn)和以保持?jǐn)?shù)據(jù)的完整性,所以,可以保證傳輸?shù)目煽啃訹7]。

      4.2 加密信息交互

      在通信系統(tǒng)中可以使用Java環(huán)境下的密鑰和證書管理工具(Key tool)。Key tool可以生成一個(gè)密鑰庫(kù)來存儲(chǔ)所有的密鑰和證書,此密鑰庫(kù)也受密碼保護(hù)。通信端和服務(wù)器將構(gòu)建一個(gè)安全套接字,以確保傳輸通道是安全的。在構(gòu)建過程中,服務(wù)器的證書將從服務(wù)器傳輸?shù)酵ㄐ哦嗽趥鬏攲雍蛻?yīng)用層之間它為信息交換、數(shù)據(jù)加密和通信端-服務(wù)器身份驗(yàn)證提供了一個(gè)安全的傳輸通道。

      從分布式服務(wù)端通信架構(gòu)可以看出,首先,服務(wù)器會(huì)向通信端發(fā)送一條消息顯示證書,證書中包含服務(wù)器的公鑰和來自可靠第三方的身份驗(yàn)證。傳輸過程采用RSA算法進(jìn)行保護(hù)。通信端使用服務(wù)器的公鑰加密主控密鑰。服務(wù)器可以通過密鑰庫(kù)中的私鑰對(duì)其進(jìn)行解密。其次,服務(wù)器將使用其他算法生成主密鑰作為SSL會(huì)話的私鑰。此時(shí)一個(gè)對(duì)稱算法將在傳輸過程中保護(hù)信息,因?yàn)樗枰^少的時(shí)間來加密和解密。主密鑰是私鑰,還可以提高通信端與服務(wù)器之間的通信效率。加密信息交互的結(jié)構(gòu)如圖2所示。

      當(dāng)通信端將其私有信息傳輸?shù)椒?wù)器時(shí),服務(wù)器將其放入處理塊中,并使用PBE算法對(duì)數(shù)據(jù)進(jìn)行加密。

      圖2 加密信息交互

      然后將這些數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中。當(dāng)服務(wù)器需要調(diào)用或傳輸這些數(shù)據(jù)時(shí),它將獲取數(shù)據(jù)并對(duì)其進(jìn)行解密?;诿艽a的加密(Password Based Encryption, PBE)算法是一種基于密碼和“鹽”(“salt”)概念的結(jié)合。Salt實(shí)際上是內(nèi)存中生成的一個(gè)隨機(jī)數(shù)[8]。這兩個(gè)因素結(jié)合后,還將采用其他多種加密算法對(duì)這兩個(gè)因素進(jìn)行加密,被認(rèn)為是對(duì)稱加密算法的一個(gè)密集版本,因?yàn)闆]有建立新的加密算法,而是基于AES和DES等算法。因此,在服務(wù)器中來加密信息更安全。

      5 結(jié)語

      顯然,單服務(wù)器通信采用關(guān)鍵字同步的方式很容易控制并發(fā)問題,但還存在透明性、安全性和可擴(kuò)展性等問題。在單服務(wù)器系統(tǒng)中,透明度的某些部分沒有被覆蓋。另外,如果服務(wù)器發(fā)生故障,所有通信端都將受到影響。一臺(tái)服務(wù)器的能力也是有限的。對(duì)于分布式多服務(wù)器體系結(jié)構(gòu),服務(wù)器之間可以通過簡(jiǎn)單的通信端-服務(wù)器模型進(jìn)行通信。此外,它還解決了單服務(wù)器模型中存在的一些透明性問題。而分布式加密通信也有很多優(yōu)點(diǎn)。首先,可以使用SSL技術(shù)而不是普通的socket來保證傳輸?shù)陌踩裕€采用RSA算法對(duì)算法和私鑰進(jìn)行了加密,所以在SSL中存在雙重加密。其次,防止了其他人冒充官方服務(wù)器的風(fēng)險(xiǎn),因?yàn)樵诮SL的過程中需要驗(yàn)證服務(wù)器。再次,存儲(chǔ)在服務(wù)器中的數(shù)據(jù)也是安全的,因?yàn)槭峭ㄟ^PBE算法加密的,降低信息泄露的風(fēng)險(xiǎn)。最后,所有的安全功能對(duì)用戶是透明的。但是此通信系統(tǒng)仍然有一個(gè)局限性。與其他對(duì)稱算法相比,PBE算法是安全的,但密碼也存儲(chǔ)在內(nèi)存中,服務(wù)器中的信息仍然存在被非法解密的風(fēng)險(xiǎn)。

      猜你喜歡
      透明性線程密鑰
      探索企業(yè)創(chuàng)新密鑰
      日本建筑師蛇形畫廊展館的透明性特征探析
      透明性理論與其在建筑設(shè)計(jì)中的體現(xiàn)
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      網(wǎng)絡(luò)安全審查中的透明性研究*
      一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      淺談linux多線程協(xié)作
      基于離散小波變換和奇異值分解的版權(quán)保護(hù)視頻水印算法研究
      Linux線程實(shí)現(xiàn)技術(shù)研究
      凉城县| 文成县| 阳新县| 雷波县| 雷州市| 桃园县| 新兴县| 金沙县| 呼伦贝尔市| 喀什市| 福贡县| 库车县| 克什克腾旗| 上栗县| 余干县| 婺源县| 荆州市| 枝江市| 康定县| 保康县| 年辖:市辖区| 新源县| 武威市| 平和县| 万全县| 资中县| 新巴尔虎右旗| 岑巩县| 洛阳市| 昌乐县| 突泉县| 普格县| 青铜峡市| 大埔县| 枣强县| 洪江市| 清远市| 隆尧县| 孟州市| 商河县| 沾化县|