999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JAVA的簡單Socket通信

2020-08-04 09:49:21孫炳潤馬剛
科學導報·學術 2020年35期

孫炳潤 馬剛

摘? 要:隨著信息技術的飛速發展,Socket的數據傳輸安全技術成為近幾年的熱點研究問題,為了實現網絡數據傳輸安全技術的功能,必須充分利用Socket通信的自身優勢,并結合Java語言的安全性特點來完成。本文分析了Java平臺下Socket數據傳輸安全的特點,研究了三種基于Socket數據傳輸安全技術。希望給后續研究提供一定的參考

關鍵詞:JAVA;傳輸安全;對象序列化;數字簽名;SSL

一、JAVASOCKET網絡通信編程的實現過程

1.1建立服務器端

(1)調用ServerSocket類,以某個端口號為參數創建一個ServerSocket實例,即是服務器端的服務程序在監聽該指定端口的Socket。

(2)創建ServerSocket并保持監聽狀態,調用了ServerSocket對象的accept()方法,隨后接收來自客戶發送的Socket連接請求。在服務器程序監聽Socket連接請求時,也可采用Java的多線程技術,實現并發服務器連續監聽連接請求。

(3)調用Socket對象的getInputStream和getOutputStream方法建立輸入流和輸出流,并進行封裝。不過在調用這兩個方法時可能會產生I/O異常,必須要去捕獲這個I/O異常。

(4)使用建立好的輸入輸出流對象的read和write方法完成和客戶端的數據傳輸,并把處理結果返回給客戶端。

(5)在服務器與客戶機雙方通訊結束以后,服務器端應該及時關閉輸入和輸出這兩個數據流。

1.2建立客戶端

(1)以服務器指定的IP地址或主機名以及服務器指定的端口號為參數,調用Socket類的構造方法,創建一個Socket對象。

(2)建立了客戶端通信的Socket后,就可以像服務器一樣使用Socket的getInputStream和getOutputStream方法來創建輸入流和輸出流。

(3)調用輸入流和輸出流對象相應的方法讀寫字節流或字符流數據,完成雙方的通信任務。

(4)在客戶機與服務器雙方通訊結束以后,我們也要用字節流或字符流對象的close()方法來關閉用于網絡通信的輸入流和輸出流,再用Socket對象的close()方法來關閉Socket。

二、基于SOCKET數據傳輸的安全技術分析

2.1基于Socket的對象序列化的安全技術分析

(1)對象序列化的安全技術分析

對象一旦被序列化后,作為對象序列化結果的字節流可以讀取,也可以被任何能訪問該流的對象改變,這就允許任何對象訪問序列化對象的狀態,因而違背了用戶所期望的隱私權。同時,用戶也可以任何方式改變流中的字節,并允許重新構造Java平臺下保護范圍內從未創建的對象。

2.2基于SOCKET的數字簽名的安全技術分析

數字簽名的技術主要有DSA和RSA算法兩種,而DSA比RSA產生密鑰速度快,但它們的安全性差不多。其主要包括三個過程:一是生成公鑰和私鑰,其中公鑰可以對外公開,私鑰用于加密;二是簽名文件內容,即將生成的密鑰對寫入或保存到文件中;三是發送簽名后的數據及公鑰,拿公鑰來檢驗數據文件中的數字簽名。

2.3基于SOCKET的SSL的安全技術分析

(1)安全套接層協議

a.客戶端向服務器端發起通信對話,協商傳送加密算法,準備進行安全的對話,并告之所用的對稱加密算法、密鑰交換算法、摘要算法等。

b.服務器收到請求后向客戶端發送服務器數字證書,并確定使用一種加密組合進行通信,為了證明確實是服務器端,必須發送服務器端的數字證書給客戶端,并且讓客戶端驗證服務器端的身份。

c.客戶端再向服務器端傳送本次對話的密鑰,檢查服務器端的數字證書是否正確,通過證書驗證了服務器端證書的真實有效性后,利用服務器端的公鑰生成本次對話的密鑰發送給服務器端,并告之服務器端。

d.服務器端向客戶端獲取密鑰,并用自己的私鑰解密獲取本次通訊的密鑰,并告之客戶端已經獲取了密鑰可以開始通信了。

e.服務器端與客戶端進行通訊。

(2)安全套接層協議

一般的SSL套接字有許多默認選項,如果想修改其中的某些選項,就要用到SSLContext類的對象來實現。

三、基于Socket數據傳輸安全方案的研究

3.1基于Socket的對象序列化安全方案

(1)將要保密的數據標記為transient屬性

如將某一對象中password字段保護起來,可以對該字段屬性設置為PrivatetransientStringpassword;當對象在序列化發生時,Java虛擬機將被聲明為transient的所有域。

(2)實現Externalizable接口

Externalizable接口屬于Serializable接口的子類。但是如果采用這種Externalizable接口的方法,必須就要聲明writeExternal()和readExternal()兩個函數。將不需要被序列化的字段提取出來放到父類中去,讓子類實現Serializable接口,這樣的話父類相應的字段數據就可以不被序列化。

3.2基于Socket的數字簽名安全方案

(1)開發簽名的數據對象

首先需要有一個待簽名的對象,而這個對象在進行序列化時,對象中只出現公鑰。

(2)開發客戶端

客戶端需要實現讀取文件內容,使用安全API接口來產生一對密鑰(包含公有和私有)、簽名文件內容,并且通過網絡來發送加密后的對象給服務器,相關類和方法及步驟如下:

a.使用KeyPairGenerator類來產生公共及私有密鑰。

b.使用KeyPairGenerator類的initialize()方法來完成初始化密鑰對。

c.獲得密鑰。

d.獲取一個簽名的對象。e.初始化簽名對象。

e.把需要簽名的數據提供給簽名對象,將需要簽名的數據讀到一個字節數組,然后再通過調用Signature類的update方法,再把數組提供給簽名對象。

f.產生簽名,然后通過網絡發送。

(3)開發服務器端

a.創建Signature類的一個實例。

b.用公有密鑰初始化對象。

c.使用update()方法提供簽名的數據來給需要驗證的簽名。

3.3基于Socket的SSL安全方案

SSL協議可分為兩層:第一層是SSL記錄協議,它是建立在可靠的傳輸層協議之上,為應用層協議提供數據壓縮、封裝、加密等基本功能;第二層是SSL握手協議,它是建立在SSL記錄協議之上,用在數據傳輸開始前,通信雙方身份認證、交換加密密鑰、協商加密算法等初始化協商功能。基于Socket的采用SSL協議的傳輸安全方案需要用到一個Java數據證書的管理工具Keytool。Keytool將密鑰(key)和證書(certificates)保存在一個稱為keystore的文件當中,每個keystore都關聯著這一個獨一無二的公鑰。

四、結束語

網絡數據傳輸安全已成為網絡應用發展的一個瓶頸。本文分析研究了網絡數據基于JavaSocket的傳輸安全問題,對基于JavaSocket的網絡數據傳輸安全的三種技術進行了深入研究和探討,提出了三種基于JavaSocket網絡數據傳輸的安全的技術方案。

參考文獻

[1]? 耿祥義.Java2實用教程[M].北京:清華大學出版社,2013.

[2]? 王一飛.Java網絡程序設計[M].北京:中國電力出版社,2010.

[3]? 姚凱,劉琳琳.基于Java多線程技術的網絡編程研究[J].電子技術與軟件工程,2017,8:12

主站蜘蛛池模板: 91系列在线观看| 国内精自视频品线一二区| 精品久久久久无码| 欧美自慰一级看片免费| 欧洲高清无码在线| av天堂最新版在线| 亚洲天堂视频在线播放| 97视频免费看| 亚洲看片网| 亚洲国产天堂久久综合226114| 美女国产在线| 国产在线拍偷自揄拍精品| 91久久性奴调教国产免费| 天堂久久久久久中文字幕| 日韩黄色精品| 亚洲欧美天堂网| 狠狠色婷婷丁香综合久久韩国| 国产黄视频网站| 久久精品午夜视频| 久久夜色精品| 欧美成人精品一级在线观看| 免费不卡在线观看av| 欧美国产中文| 国产日韩av在线播放| 中国国产A一级毛片| 国产精品污污在线观看网站| 亚洲一区二区约美女探花| 中文字幕亚洲电影| 91精品综合| 女人18一级毛片免费观看| 国产玖玖视频| 久久综合伊人77777| 亚洲一区二区成人| 国模私拍一区二区| 亚洲高清免费在线观看| 欧美成人一区午夜福利在线| 国产欧美视频一区二区三区| 亚洲国产日韩视频观看| 国产成+人+综合+亚洲欧美| 亚洲无码日韩一区| 久久成人国产精品免费软件 | 婷婷亚洲视频| 丝袜国产一区| 国产欧美日韩精品第二区| 97人妻精品专区久久久久| 免费一级成人毛片| 男人天堂亚洲天堂| 国产毛片基地| a天堂视频| 欧美日韩成人在线观看| 激情爆乳一区二区| 日韩最新中文字幕| 亚洲欧洲日韩久久狠狠爱| 亚洲美女一级毛片| 欧美精品v日韩精品v国产精品| 国精品91人妻无码一区二区三区| 免费人成黄页在线观看国产| 国产黑人在线| 日本尹人综合香蕉在线观看| 国产一级在线播放| 亚洲天堂自拍| 国产区在线观看视频| 无码免费的亚洲视频| 日韩午夜片| 91久久国产综合精品女同我| 欧美日韩精品在线播放| 久久精品无码一区二区日韩免费| www中文字幕在线观看| 一级看片免费视频| 国产精品天干天干在线观看| 久久国产乱子伦视频无卡顿| 国产日韩精品一区在线不卡| 免费在线a视频| 国产精品人莉莉成在线播放| 99国产在线视频| 久久青草热| 中日韩一区二区三区中文免费视频| 无码久看视频| 东京热高清无码精品| 亚洲精品成人福利在线电影| 99无码中文字幕视频| 直接黄91麻豆网站|