對于 Android 平臺短信的來路注冊認(rèn)證系統(tǒng)設(shè)計與解決方案
來源:原創(chuàng) 時間:2018-04-27 瀏覽:0 次針對短消息接收方需要確定短消息發(fā)送方的身份,本系統(tǒng)采用非對稱加密算法RSA的簽名算法和消息摘要算法SHA-1、數(shù)字證書等技術(shù)對身份源進(jìn)行認(rèn)證。本文首先研究了RSA加密算法,SHA-1算法,然后設(shè)計了一個利用數(shù)字簽名和數(shù)字證書對短消息發(fā)送者身份進(jìn)行身份認(rèn)證的系統(tǒng)。該系統(tǒng)主要由本地計算機的數(shù)字證書服務(wù)器和RSA客戶端組成。本地計算機生成自簽名證書,并通過CA協(xié)議對Web客戶端進(jìn)行身份驗證??蛻舳讼騑eb服務(wù)器發(fā)送請求以接受請求,然后獲取數(shù)字證書的私鑰和公鑰并將其返回給客戶端。客戶端使用接收到的私鑰加密消息并將其發(fā)送給接收方。
接收方使用與私鑰匹配的公鑰來解密加密的短消息。最后,在Android移動平臺和本地Tomcat服務(wù)器上實現(xiàn)了該技術(shù),對短消息源身份認(rèn)證問題具有很大的應(yīng)用價值。近年來,隨著基于Android系統(tǒng)的智能手機的廣泛普及和短信資費的降低,短信業(yè)務(wù)也在不斷增長,特別是在短信與朋友、通信提供商和客戶的聯(lián)系中。銀行和客戶之間的業(yè)務(wù)交流占了很大一部分。但與此同時,電信詐騙者使用短信進(jìn)行欺詐,使用假基站充當(dāng)10086,銀行官方電話發(fā)送欺詐信息,欺詐短信包含網(wǎng)站鏈接。
點擊鏈接可能會導(dǎo)致下載移動木馬病毒?;谶@種情況,在確認(rèn)短信的真實性之前,必須確認(rèn)短消息發(fā)送者的真實身份。因此,我們必須提供一種身份認(rèn)證技術(shù),即數(shù)字證書與RSA加解密相結(jié)合的技術(shù)。數(shù)字證書包含用戶的個人信息。該技術(shù)必須具有接收方能夠驗證短消息發(fā)送者身份以及事后跟蹤短消息發(fā)送者身份的功能。
本文研究了 RSA 算法,SHA-1 算法,再對數(shù)字簽名,數(shù)字證書相關(guān)技術(shù)進(jìn)行分析,最后利用相關(guān)算法,數(shù)字證書相結(jié)合的方式設(shè)計系統(tǒng)并應(yīng)用到 Android 平臺短信身份認(rèn)證上。最后在Android 手機平臺以及服務(wù)器上采用 Java 語言實現(xiàn)在短信認(rèn)證的相關(guān)技術(shù),最后實現(xiàn)了短信發(fā)送方的真實身份認(rèn)證。
甲方向乙方通過網(wǎng)絡(luò)發(fā)送消息,甲方首先對消息進(jìn)行處理得到一個附帶的“簽名”消息并發(fā)送給乙方,乙方通過相關(guān)算法驗證簽名的真?zhèn)渭拌b別相應(yīng)的簽名者,數(shù)字簽名原理之一: 私鑰對消息加密,接受者利用匹配的公鑰解密即采用非對稱式加解密算法。這就是非對稱密碼體制,非對稱密碼體制不同于對稱密碼體制,對稱密碼體制密鑰與公鑰相同,非對稱密碼體制私鑰與公鑰不相同,私鑰與公鑰是一對,用私鑰( 公鑰)加密,必須用相應(yīng)的公鑰( 私鑰) 來解密。數(shù)字簽名算法包含了消息摘要算法和非對稱式加密算法,是網(wǎng)絡(luò)安全機制以及數(shù)字證書的基礎(chǔ)之一,并且數(shù)字簽名算法具有認(rèn)證信息來源,抗否認(rèn)的作用。數(shù)字簽名算法遵循利用私鑰對信息簽名,利用公鑰對信息驗證,簽名需要私鑰和待簽信息,驗證利用公鑰和簽名信息。
數(shù)字證書應(yīng)用了密碼學(xué)中的消息摘要算法、非對稱式加密算法、數(shù)字簽名算法多種算法。消息摘要算法驗證數(shù)據(jù)的完整性,非對稱式加密算法用于數(shù)據(jù)保密性,數(shù)字簽名算法用于抗否認(rèn)性,可鑒別消息來源。同時數(shù)字證書包含用戶個人信息,從而具有識別身份的作用。
獲得數(shù)字證書,需要通過使用數(shù)字證書管理工具如 Keytool,它是 Java 自帶的用于存儲密鑰,數(shù)字證書的管理工具,主要應(yīng)用在申請、導(dǎo)入、導(dǎo)出和撤銷數(shù)字證書方面。Keytool 與本機密鑰庫相連,通過本機的命令行創(chuàng)建自簽名的數(shù)字證書,在創(chuàng)建之前先下載安裝jdk,其中 Keytool 位于% JDK_HOME% in。通過本地在密鑰庫中生成本地自簽名的數(shù)字證書,建立相應(yīng)的加密算法、密鑰、以及用戶自身提供的信息。構(gòu)建的自簽名數(shù)字證書需要第三方 CA 機構(gòu)認(rèn)證,只有認(rèn)證后的數(shù)字證書才具有法律效力。經(jīng) CA 機構(gòu)認(rèn)證的證書通過相關(guān)工具導(dǎo)入本地密鑰庫和信任庫。
首先通過 DOS 界面執(zhí)行相關(guān)命令生成密鑰庫和自簽名證書,并將本地生成的自簽名證書并導(dǎo)入第三方權(quán)威數(shù)字證書認(rèn)證機構(gòu)進(jìn)行認(rèn)證,密鑰庫 Keystore 和數(shù)字證書導(dǎo)入本地。本方案采用非對程式加密算法為 RSA算法,簽名算法為 SHA-1withRSA 算法,消息摘要算法為HA-1 算法,私鑰加密,公鑰解密。用戶 A 首先自主設(shè)計短信信息,然后使用 APP 向本地部署的 Tomcat 服務(wù)
器發(fā)出請求,服務(wù)器會獲取到本地密鑰庫中的私鑰和數(shù)字證書中的公鑰,并將私鑰返回給用戶 A 客戶端后臺,公鑰發(fā)送給 A 所要發(fā)送短信的接收方( 客戶端 B) ,客戶端后臺對要發(fā)送的信息進(jìn)行加密并發(fā)送給對方 B,同時接收方 B 對接收到短信利用之前接收到的公鑰進(jìn)行解密。
本文圍繞短信信息識別進(jìn)行系統(tǒng)設(shè)計,包括相關(guān)算法研究與應(yīng)用、模塊功能設(shè)計,一定程度到達(dá)識別短信發(fā)送方身份目的。10086、銀行發(fā)送短信應(yīng)用此設(shè)計方法具有重大價值,但有諸多不足。同時,防止犯罪分子冒充 10086、銀行官網(wǎng)電話以及好友電話發(fā)送短信實施詐騙,還必須加強社會各個層面的監(jiān)管。本文的相關(guān)研究與應(yīng)用,特別是 RSA 算法以及數(shù)字證書在短信身份認(rèn)證應(yīng)用上將會越來越受到重視。