• 
    

    
    

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

      Android系統(tǒng)基于SOCKET通信的安全性改進(jìn)方法

      2016-06-15 06:45:12李新煒
      中國(guó)新通信 2016年9期
      關(guān)鍵詞:加密

      李新煒

      【摘要】 本文討論了Android系統(tǒng)里使用SOCKET通信時(shí)的安全性問(wèn)題。通過(guò)對(duì)比不同的加密方式和網(wǎng)絡(luò)協(xié)議,論證了采用加密的SOCKET通訊的優(yōu)點(diǎn)和可行性。

      【關(guān)鍵詞】 Android Socket通信 加密

      為了追求通信的高效和速度,很多系統(tǒng)采用不安全的UDP通信方式和未經(jīng)加密處理的SOCKET進(jìn)行通信,導(dǎo)致該系統(tǒng)在進(jìn)行通信時(shí)存在一定的安全隱患。本文對(duì)于基于Android系統(tǒng)中的SOCKET通信和信息傳輸加密方式進(jìn)行探討分析。

      根據(jù)底層協(xié)議的不同,Socket通信也是不同的,在TCP/ IP協(xié)議中主要類型有兩種,分別是流套接字和數(shù)據(jù)報(bào)套接字。[1]

      數(shù)據(jù)報(bào)套接字使用UDP協(xié)議,提供數(shù)據(jù)打包和發(fā)送服務(wù)。效率高,但安全性較低。流套接字將TCP協(xié)議作為其端對(duì)端的一個(gè)可信賴的字節(jié)流服務(wù)。

      如果是基于TCP協(xié)議的Socket,則由服務(wù)器端聲明一個(gè)指定端口號(hào)的ServerSocket對(duì)象,然后調(diào)用Serversocket的accept()方法來(lái)接收客戶端的數(shù)據(jù)。如果accept()方法沒(méi)有接收數(shù)據(jù)則處于堵塞狀態(tài)。如果接收到數(shù)據(jù),則通過(guò)input-stream讀取數(shù)據(jù)。

      先在客戶端創(chuàng)建一個(gè)Socket對(duì)象,使用SOCKET方法指定服務(wù)器端的ip地址及端口號(hào),最后用inputstream讀取數(shù)據(jù),獲取服務(wù)器準(zhǔn)備發(fā)出的數(shù)據(jù),完成三次握手的最后一次數(shù)據(jù)獲取。最后將要發(fā)送的數(shù)據(jù)寫入outputstream即可進(jìn)行TCP協(xié)議的socket數(shù)據(jù)傳輸。[2]

      如果是基于UDP協(xié)議的SOCKET通信,則先由服務(wù)器創(chuàng)建一個(gè)指定監(jiān)聽(tīng)端口號(hào)的DatagramSocket對(duì)象,并且創(chuàng)建一個(gè)空的DatagramSocket對(duì)象用于接收數(shù)據(jù),然后使用DatagramSocket的receive方法接收客戶端發(fā)送的數(shù)據(jù)。[3]

      Socket的傳輸效率遠(yuǎn)遠(yuǎn)高于其他通信協(xié)議的傳輸效率,但是由于大部分設(shè)計(jì)采用了UDP模式的Socket通信,且使用了明文傳輸,所以信息容易被攔截并解析。后期需要通過(guò)某種加密方式進(jìn)行數(shù)據(jù)加密。在Android 3.0系統(tǒng)之后的版本中,已經(jīng)引入了完整的文件系統(tǒng)加密功能。

      該功能允許利用系統(tǒng)內(nèi)核中的dmcrypt模塊對(duì)用戶的數(shù)據(jù)進(jìn)行存儲(chǔ)加密。該種加密方式是采用CBC模式的128位AES算法。[4]或者直接使用DES算法采用CBC模式對(duì)SOCKET通信加密。該種方法在如果在JAVA中需要Base64的話,需要單獨(dú)下載導(dǎo)入它的支持jar包到項(xiàng)目中,另外使用Base64對(duì)CBC加密或解密時(shí),在Android中加密解密都需要這個(gè)參數(shù),而JAVA加密時(shí)有這個(gè)參數(shù)而解密時(shí)沒(méi)有。也可考慮采用SSL協(xié)議配合AES或RSA算法實(shí)現(xiàn),即所謂的混合加密模式。[5]

      由于對(duì)稱加密方式加密速度快,但密鑰交換不便,而非對(duì)稱加密方便密鑰交換,但是加密耗時(shí),所以可以各取其所長(zhǎng)。在客戶端用AES密鑰將本地明文加密,然后從服務(wù)器端獲取服務(wù)器端RSA公鑰,用公鑰對(duì)本地的AES密鑰進(jìn)行二次加密,加密后把兩個(gè)密文一起發(fā)送給服務(wù)器端。服務(wù)器端收到密文后將其分成密鑰和密文兩部分,由本地的RSA私鑰先對(duì)密鑰進(jìn)行解密,得到加密密文的AES密鑰,然后用此密鑰再對(duì)密文進(jìn)行解密,從而得到明文。[6]

      既考慮到了加密和解密的速度,也考慮到了安全性。無(wú)論加密還是解密都在服務(wù)器或客戶機(jī)的一側(cè)進(jìn)行,沒(méi)有通過(guò)網(wǎng)絡(luò)傳輸,安全性較高。唯一需要通過(guò)網(wǎng)絡(luò)傳輸?shù)氖欠?wù)器的RSA公鑰和加密過(guò)的AES鑰匙,所以即使被截獲也無(wú)法讀取明文。

      但由于SSL協(xié)議只能基于安全協(xié)議,所以不能繼續(xù)采用UDP協(xié)議模式而應(yīng)改為TCP協(xié)議模式進(jìn)行通信。

      結(jié)語(yǔ)

      經(jīng)過(guò)論證,在Android系統(tǒng)中利用SOCEKT通信方式,可以實(shí)現(xiàn)在使用TCP協(xié)議的基礎(chǔ)上利用AES加密算法等對(duì)SOCKE通信進(jìn)行加密處理。也可以采用混合加密方式利用SSL協(xié)議進(jìn)行通信加密,或者直接在Android系統(tǒng)內(nèi)部對(duì)用戶數(shù)據(jù)進(jìn)行AES加密等方式。這樣既保留了SOCKET通信高效的優(yōu)點(diǎn),又實(shí)現(xiàn)了安全可靠的傳輸,保證了通信的私密性。

      參 考 文 獻(xiàn)

      [1] 崔荔.基于Android平臺(tái)的智能家居客戶端系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D] .長(zhǎng)安大學(xué),2013.05

      [2] 王海帥.地理位置驅(qū)動(dòng)的工作管理工具的設(shè)計(jì)與實(shí)現(xiàn)[D] .北京交通大學(xué), 2013.06

      [3] 霍璐,胡鋼,謝劍鋒.Android平臺(tái)煤礦安全巡檢系統(tǒng)客戶端設(shè)計(jì)[J] .微處理機(jī), 2013.06

      [4] 陳家偉.基于Android平臺(tái)的隱私信息保護(hù)系統(tǒng)研究與實(shí)現(xiàn) [J] .南昌大學(xué),2014.05

      [5] 欒詠紅.基于 Android 的 XML 解析器的分析與比較[J].南京曉莊學(xué)院學(xué)報(bào), 2011.11.

      [6] 陳軍章,周漪.基于SOCKET的JAVA安全通信程序設(shè)計(jì)[J].安陽(yáng)師范學(xué)院學(xué)報(bào), 2013.10

      猜你喜歡
      加密
      一種基于熵的混沌加密小波變換水印算法
      加密與解密
      一種基于LWE的同態(tài)加密方案
      認(rèn)證加密的研究進(jìn)展
      基于ECC加密的電子商務(wù)系統(tǒng)
      基于格的公鑰加密與證書(shū)基加密
      西吉县| 宜宾县| 克拉玛依市| 利辛县| 波密县| 白玉县| 通海县| 翁牛特旗| 军事| 合作市| 四会市| 公安县| 乌鲁木齐市| 遵化市| 富川| 余干县| 三河市| 临桂县| 西安市| 噶尔县| 平江县| 交口县| 开阳县| 法库县| 梨树县| 渑池县| 乐平市| 南华县| 渭南市| 惠来县| 怀柔区| 临夏市| 喜德县| 伊春市| 海晏县| 张家口市| 奉新县| 仪陇县| 内江市| 理塘县| 昆山市|