国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于J2ME和單點登錄技術(shù)的移動端支付系統(tǒng)安全性研究與應(yīng)用

2018-05-30 10:48:04劉新王劍岳鵬飛
河南科技 2018年10期

劉新 王劍 岳鵬飛

摘 要:本文將單點登錄應(yīng)用于移動支付端中,既能保證移動支付端訪問的安全,又具有單點登錄對多應(yīng)用系統(tǒng)的靈活整合能力,實現(xiàn)了數(shù)據(jù)的跨系統(tǒng)平臺傳輸。在手機本地數(shù)據(jù)與Web數(shù)據(jù)庫遠(yuǎn)程同步的操作中,考慮到數(shù)據(jù)傳輸?shù)陌踩?,利用J2ME平臺對同步數(shù)據(jù)進(jìn)行了XML格式的封裝和解析,使傳輸效率加快了將近20%。通過J2ME、Hibernate和單點登錄等技術(shù)的整合開發(fā),較大地提高了擴展數(shù)據(jù)傳輸?shù)陌踩?,并為下一步對XML格式數(shù)據(jù)進(jìn)行再次加密和簽名等安全性加強提供了安全保障。

關(guān)鍵詞:J2EE;單點登錄;支付安全;Hibernate

中圖分類號:TN929.53;F713.36 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-5168(2018)10-0008-03

Based on J2ME and Single sign-on Technology of Mobile Payment

System Security Research and Applications

LIU Xin1,2 WANG Jian1,2 YUE Pengfei1,2

(1.Henan Academy of Sciences Institute of Applied Physics Co.,Ltd,Zhengzhou Henan 450008; 2. Henan Provincial Key Laboratory of Internet of Things Perception Technology and Systems, Zhengzhou Henan 450008)

Abstract: In this paper, the single point landing was applied to the mobile payment terminal, which could not only guarantee the security of the access of the mobile payment end, but also had the ability to integrate the single point landing on the multi application system, and realized the cross system platform transmission of the data.In the remote synchronization of mobile phone data and Web database, the author took into account the security of data transmission, and used the J2ME platform to encapsulate and parse the synchronized data in XML format, which made the transmission efficiency faster than 20%. Through the integrated development of J2ME, Hibernate and single sign on, the security of the extended data transmission was greatly improved, and security was provided for the security enhancement of the next step for the re encryption and signature of XML format data.

Keywords: J2EE;single signon;payment security;Hibernate

1 研究背景

隨著世界上移動設(shè)備爆炸性發(fā)展,加強移動端支付的安全性問題日益緊迫,移動終端上網(wǎng)的特性決定了其存在和普通電子商務(wù)不同的安全性[1,2]。在探討移動端支付安全的特性時,通常需要保障以下安全問題:無線設(shè)備應(yīng)用軟件效能監(jiān)控與系統(tǒng)效能管理;審核和檢測針對移動電子商務(wù)的存取是否合法或授權(quán);網(wǎng)頁做到安全性認(rèn)證的整合,以確保資料安全以及人員存取合法與保密[1]。

單點登錄(Single Sign On,SSO)[2],是本文移動支付端業(yè)務(wù)整合的解決方案。SSO是在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。單點登錄的機制從模型的角度看,如圖1所示,當(dāng)用戶第一次訪問應(yīng)用系統(tǒng)1的時候,因為還沒有登錄,會被引導(dǎo)到認(rèn)證系統(tǒng)中進(jìn)行登錄[1];根據(jù)用戶提供的登錄信息,認(rèn)證系統(tǒng)進(jìn)行身份效驗,如果通過效驗,應(yīng)該返回給用戶一個認(rèn)證的憑據(jù)——ticket[2];用戶再訪問別的應(yīng)用的時候[3,5],就會將這個ticket帶上,作為自己認(rèn)證的憑據(jù),應(yīng)用系統(tǒng)接受到請求之后,會把ticket送到認(rèn)證系統(tǒng)進(jìn)行效驗,檢查ticket的合法性[4,6]。如果通過效驗,用戶就可以在不用再次登錄的情況下,訪問應(yīng)用系統(tǒng)2和應(yīng)用系統(tǒng)3。

從圖1可以看出,要實現(xiàn)SSO,讓用戶只登錄一次,就必須讓應(yīng)用系統(tǒng)能夠識別已經(jīng)登錄過的用戶。應(yīng)用系統(tǒng)應(yīng)該能對ticket進(jìn)行識別和提取,通過與認(rèn)證系統(tǒng)的通訊,能自動判斷當(dāng)前用戶是否登錄過,從而完成單點登錄的功能。本文將單點登錄應(yīng)用于移動支付端中,既能保證移動支付端訪問的安全,又具有單點登錄對多應(yīng)用系統(tǒng)的靈活整合能力。

移動支付端的安全采用J2ME實現(xiàn),利用J2ME對互聯(lián)通信的多協(xié)議支持,使手機終端與Web服務(wù)器建立通信非常方便,同時J2ME有RMS(記錄管理系統(tǒng)),具有本地數(shù)據(jù)的離線處理能力,所以遠(yuǎn)程數(shù)據(jù)同步和本地數(shù)據(jù)離線處理也可以輕松實現(xiàn)[3-5]。J2ME平臺通過以下方面完成對移動支付端安全性的保護(hù):開發(fā)語言本身的安全性,底層KVM的安全性,J2ME的沙盒模型。

2 數(shù)據(jù)的XML格式封裝

擴展標(biāo)記語言XML是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標(biāo)記描述數(shù)據(jù),而XML與Access、Oracle和SQL Server等數(shù)據(jù)庫不同,其提供了更加強有力的數(shù)據(jù)存儲和分析能力,使其易于在任何應(yīng)用程序中讀寫數(shù)據(jù),這使XML很快成為數(shù)據(jù)交換的唯一公共語言,意味著程序可以更容易與Windows、Mac OS、Linux,以及其他平臺產(chǎn)生信息結(jié)合,然后可以很容易加載XML數(shù)據(jù)到程序中分析,并以XML格式輸出結(jié)果。

J2ME提供了網(wǎng)絡(luò)編程使用的javax.microedition.io包,其中提供了Connection框架。Connection框架中類Connector用于進(jìn)行網(wǎng)絡(luò)等各方面的流式輸入輸出。J2ME移動支付端應(yīng)用中可以使用HttpConnection接口建立HTTP連接,與遠(yuǎn)程服務(wù)器交換數(shù)據(jù)[6,7]。

為了保證流式輸入輸出的安全性,手機客戶端設(shè)計對HTTP流數(shù)據(jù)進(jìn)行了XML格式的封裝,為以后進(jìn)行XML格式數(shù)據(jù)的加密和簽名等安全性的增強保留了擴展空間。

3 數(shù)據(jù)同步的實現(xiàn)

數(shù)據(jù)同步過程中,經(jīng)XML格式包裝過的訂單數(shù)據(jù),從手機端發(fā)出的運行圖如圖2所示。

數(shù)據(jù)同步(見圖3)是在兩個環(huán)境之間復(fù)制全部或部分?jǐn)?shù)據(jù)記錄的過程。為了維護(hù)數(shù)據(jù)的一致性,源數(shù)據(jù)發(fā)生的變化要及時在目標(biāo)數(shù)據(jù)庫中反映出來。數(shù)據(jù)同步有單向同步和雙向同步兩種[8],本應(yīng)用的訂單數(shù)據(jù)和用戶身份認(rèn)證數(shù)據(jù),分別采用由移動智能客戶端到目標(biāo)數(shù)據(jù)庫,及由企業(yè)級數(shù)據(jù)庫到移動智能終端的單向同步方式。

J2EE企業(yè)級應(yīng)用端采用JavaS servlet(SyncServlet)處理來自移動智能終端的身份認(rèn)證和數(shù)據(jù)同步請求[9]。這里采用XML數(shù)據(jù)格式對同步數(shù)據(jù)進(jìn)行了封裝,同步數(shù)據(jù)以order類實例的形式呈現(xiàn),層次更為清晰[10]。SyncServlet類需在syncwebapp/WEB-INF目錄里的web.xml文件中注冊,該Servlet類用于響應(yīng)來自移動智能客戶端的請求和處理同步操作邏輯。

智能客戶端][SS0登陸驗

證WEB服務(wù)][訂單子系統(tǒng)][fetchDataToSyncronize〔〕

return vect:〔Vector〕][formulateXML〔vect〕

return xmlData:〔String〕][output.flush〔tolen+"http://"+xmlData〕

][Authenticate〔token〕

][deleteRecords〔〕

][return true or false

][inser tSynData

][(Vector vect)

][注:虛線部分為身份

認(rèn)證通過才執(zhí)行

][注:虛線部分為repomseData

為“true:true”才執(zhí)行

][return responseData://format is “true:true”or“false”

]

4 同步操作核心代碼

同步操作核心代碼如下。

/* Synronizes the data (移動智能客戶端訂單數(shù)據(jù)同步操作部分代碼)*/

public static boolean syncronize() throws Exception {

HttpConnection hc = null;

OutputStream output = null;

InputStream iStrm = null;

try {

//獲取客戶端Token(認(rèn)證信息)

String userToken = getUserToken();

// 對訂單記錄進(jìn)行XML封裝

Vector vect = fetchDataToSyncronize();//從RMS中獲取記錄條目

String xmlData = formulateXML(vect);//把記錄條目進(jìn)行XML表達(dá)

// Http Call.

hc = (HttpConnection) Connector.open(url);

hc.setRequestMethod(HttpConnection.POST);

//同步數(shù)據(jù)前附加身份認(rèn)證信息,以//分隔

xmlData=userToken+"http://"+xmlData;

output = hc.openOutputStream(); output.write(xmlData.getBytes());

output.flush(); //向服務(wù)器發(fā)送數(shù)據(jù)流

iStrm = hc.openInputStream();

//獲取服務(wù)器響應(yīng)

int ch;

ByteArrayOutputStream bStrm = new ByteArrayOutputStream();

String responseData=new String(bStrm.toByteArray());

//從響應(yīng)數(shù)據(jù)流中分離出認(rèn)證信息

int au=responseData.indexOf(":");

String auth = responseData.substring(0, au);

if (auth.equals("true")){ //如果驗證合法

String sync=responseData.substring(au+1, responseData.length()-1);

if(sync.equals("true"))//持久化成功

return true;

else

return false;

}

else{

return false;

}

} finally {

……

}

}

5 結(jié)語

本文通過對移動端支付系統(tǒng)安全性的開發(fā)應(yīng)用,完成了對手機本地訂單數(shù)據(jù)進(jìn)行XML格式的封裝和解析,實現(xiàn)了數(shù)據(jù)的跨系統(tǒng)平臺傳輸,并使傳輸效率加快了將近20%。通過J2ME、Hibernate和單點登錄等技術(shù)的整合開發(fā),較大程度地提高了擴展數(shù)據(jù)傳輸?shù)陌踩?,并為下一步對XML格式數(shù)據(jù)進(jìn)行再次加密和簽名等安全性加強提供了安全保障。

參考文獻(xiàn):

[1]Yuan M J. Enterprise J2ME: Developing Mobile Java Applications[J].Prentice Hall PTR,2003(46):419-420.

[2]作者不詳.SSO單點登陸解決方案[EB/OL].(2011-05-04)[2018-03-06].http://www.360doc.com/content/11/0504/01/1542811_114192973.shtml.

[3]蘇長明.基于J2ME_J2EE的校園移動信息查詢系統(tǒng)設(shè)計與實現(xiàn)[J].2012(3):254-257.

[4]蔡月茹,柳西玲.Web Service基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2005.

[5]韓婧.Web Services技術(shù)在移動電子商務(wù)中的應(yīng)用[J].計算機技術(shù)與發(fā)展,2006(2):20-25.

[6]許源,謝康林.基于Web Services的電子商務(wù)移動擴展[J].微型電腦應(yīng)用,2004(9):19-21.

[7]黃聰明.Java移動通信程序設(shè)計[M].北京:清華大學(xué)出版社,2002.

[8]江頡,賴梅,蔡家楣.基于J2ME技術(shù)的移動證券研究與實現(xiàn)[J].計算機工程與應(yīng)用,2004(6):214-216.

[9]石樂義.基于J2ME/J2EE技術(shù)實現(xiàn)移動數(shù)據(jù)應(yīng)用[J].微型機與應(yīng)用,2004(9):10-12.

[10]徐翔斌,方水良.用J2ME構(gòu)建企業(yè)移動電子商務(wù)系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2004(9):6-9.

宁陵县| 嵩明县| 岳普湖县| 廊坊市| 鄂温| 高州市| 本溪市| 丁青县| 池州市| 申扎县| 清水河县| 柘荣县| 古浪县| 青冈县| 长丰县| 双流县| 新龙县| 太白县| 桓仁| 略阳县| 秦安县| 宣汉县| 开平市| 林甸县| 大城县| 嵩明县| 潼南县| 忻城县| 景德镇市| 浮山县| 新安县| 黄山市| 甘泉县| 淮安市| 西贡区| 建宁县| 梁河县| 娄烦县| 天峻县| 紫金县| 芦溪县|