《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Android的私密短信系統設計與實現
基于Android的私密短信系統設計與實現
來源:微型機與應用2012年第17期
劉安戰,賈曉輝
(中原工學院,河南 鄭州 450007)
摘要: 通過對Android短信庫的研究,開發了基于Android的私密短信系統,實現了點到點的短信加密通信,重點闡述了系統的主要功能,短信收發流程和實現中的關鍵問題,本系統通過了真機運行測試。
Abstract:
Key words :

摘  要: 通過對Android短信庫的研究,開發了基于Android的私密短信系統,實現了點到點的短信加密通信,重點闡述了系統的主要功能,短信收發流程和實現中的關鍵問題,本系統通過了真機運行測試。
關鍵詞: Android;私密短信;加密

 2007年11月Google公司推出Android[1]智能手機平臺,接著推出的面向Android應用開發的SDK[2]為開發者開發Android平臺上各種應用提供了方便。隨著時間的推移,各種應用層出不窮,目前國內已經出現了很多匯集Android應用的網站,如AppChina應用匯和安智市場等。
 Android有活動(Activity)、服務(Service)、廣播接收器(Broadcast Receiver)和內容提供者(Content Provider)4大組件[3]。
 活動主要用來進行應用界面的開發,一個活動往往占據當前的窗口,對于開發者而言,就需要派生一個Activity的子類。服務有點像后臺程序,通常都是后臺長時間運行,接受上層調用指令,完成相關功能。廣播接收器用來接收一種或若干種意圖(Intent)的觸發事件,當事件發生時,系統會傳遞消息給廣播接收器,進而由廣播接收器進行進一步處理。廣播接收器一般用來監聽一些事件,如:監聽來電、郵件和短信等。內容提供者是Android提供的第三方應用數據的訪問方案。每個Content Provider都用一個URI作為獨立的標識,如:content://sms/inbox表示短信收件箱。Content Provider在屏蔽了內部數據的存儲細節基礎上向外提供了統一的接口,這樣大大簡化了上層應用的訪問。
 除了4大組件外,Android還提供了意圖(Intent)機制,它能在程序運行的過程中連接2個不同的組件?;顒?、服務和廣播接收器都是通過意圖機制激活的,意圖在組件之間傳遞數據。
1 Android短信庫
1.1 短信息表結構

 Android系統中采用的SQLite[4]嵌入式數據庫,其短息庫為mmssms.db,在adb shell中可以通過sqlite3 mmssms.db連接該數據庫。通過.tables命令可以發現mmssms.db共有13個表,其中的sms表是用來存儲所有短息數據的,通過.schema sms命令查看表sms的表結構,其表結構如表1所示。

1.2 短信庫的訪問
 系統數據庫的訪問需要授權,在編寫程序時需要在AndroidManifest.xml文件中添加權限使用說明。如:<uses-permission android:name="android.permission.READ_SMS"/>表示可以讀短信,若是要使得應用可以發送短信則還需要加入<uses-permission android:name="android.permission.SEND_SMS"/>。
Android通過內容提供者向應用提供訪問底層數據庫,應用程序可以通過一個URL訪問對應的數據,如:content://sms/inbox表示短信收件箱,而content://sms/outbox表示短信發件箱。
數據表的訪問在Android采用游標方式,通過Activity類的manageQuery方法獲得一個數據集游標,managedQuery方法的聲明為:public final Cursor managedQuery(Uri uri,String[] projection,String selection,String[] selectionArgs, String sortOrder)。
2 系統設計
2.1 系統功能

 私密短信系統的功能主要包括:(1)建立短信,加密短信,發送短信;(2)私密短信列表;(3)查收私密短信,解密查看;(4)聯系人選擇;(5)私密短信會話。
2.2 私密短信收發過程
 私密短信系統通過在應用層加密/解密短信數據達到點對點的密碼通信。發送短信方通過輸入明文短信、加密短信及發送密文短信實現發送短信功能;接收短信方通過查詢短信庫和解密短信來閱讀短信,考慮到短信傳輸過程中的編碼問題,還要進行編碼轉換工作。具體的收發短信流程如圖1所示。

 (1)輸入明文:輸入與發送的短信明文內容。
?。?)輸入密碼:輸入加密使用的密碼。
 (3)加密:根據輸入明文和密碼進行加密產生密文,通過javax.crypto中Cipher類提供的功能對密文采用用DES[5]加密。
?。?)編碼轉換:加密后的密文以字節碼的形式存在,在發送短信前需要進行進一步的編碼,將其轉換成Base64編碼格式以便能夠正常發送短信。
?。?)發送短信:通過調用Android提供的API來實現發送短信,在系統中SmsManager類提供的sendTextMessage方法可以實現發送短信功能。
 (6)接收短信:通過訪問系統短信庫中的信息查看接收的短信,檢索可以查看所有私密短信。
?。?)編碼逆轉換:編碼轉換的逆過程。
(8)解密:加密逆過程。
2.3 關鍵問題
?。?)菜單的實現
 Android系統支持選項菜單、子菜單和快捷菜單3種菜單。系統采用選項菜單,實現選項菜單需要重載Activity的onCreateOptionsMenu(Menu nenu)方法,通過Menu的add方法添加菜單項,對于菜單的響應則是通過重載onOptionsItemSelected(MenuItem item)方法實現。
?。?)加密轉碼
加密采用的是Cipher類實現的,其中的getInstance方法可以獲得相應的實例,通過init方法初始化加密模式和密碼,通過doFinal方法進行加密并返回加密后的字節數組。
加密后的字節數組并不能直接用于短信內容發送,因此還要進行進一步的轉碼。系統將加密后的字節數組密文轉換成Base64編碼組成的字符串后作為短信內容進行傳輸。
?。?)密信標志
 加密轉碼后的短信和普通短信一樣借助于移動網絡傳輸,接收方收到的就是一個短信,只不過短信內容是沒有意義的密而已。系統為了區分加密短信和未加密的短信,在發送私密短信時在密信內容中加入了供系統識別的密信標志。通過密信標志,接收方可以過濾接收的所有密信。
?。?)短信發送
 在Android系統中,SmsManager類提供sendTextMessage方法發送短信,具體代碼為:smsManager.sendTextMessage(mobile,null,text,null,null)。其中,mobile為目標手機號碼,text為發送的短信內容。對于長度較小的短信系統采用直接發送的方式實現,對于長度超過70 B的短信,系統通過分割成多個短信的方式進行發送,以便用戶能夠接收到完整的短信內容。
3 系統測試
 系統測試采用的摩托羅拉XT502機型,圖2為系統主界面,默認列出系統收到的所有密信,可以通過相應的菜單執行相應的功能。
 發送密信菜單可以打開加密和解密界面,如圖3所示。圖中顯示的是明文為“你好”,密碼為“123”的加密和解密界面。

 

 

 隨著3G手機不斷普及,用戶可以越來越多地定制自己的應用,信息安全傳輸的重要性更是不可忽視。私密短信系統為用戶提供點對點的私密通信,信息在網絡的傳輸過程中采用的密碼形式,即使信息被攔擊或被通信公司泄露,解密也會大大地提高成本,從而提高用戶傳輸信息的安全性。下一步的研究開發將側重于私密通話研究,防止電話竊聽。
參考文獻
[1] http://www.android.com/,2012-03-01.
[2] http://developer.android.com/sdk/index.html,2012-03-01.
[3] 楊豐盛.Android應用開發揭秘[M].北京:機械工業出版社,2010.
[4] http://www.sqlite.org,2012-03-01.
[5] 顧超.動態DES算法.計算機應用與軟件[J].2007,7:164-166.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 成人做爰网站免费看 | 草久视频在线 | 天堂va欧美ⅴa亚洲va一国产 | 欧美一级大片免费观看 | 黄色三级网站在线观看 | 日韩欧美综合 | 九草在线视频 | 国产成人午夜极速观看 | 一级免费 | 亚洲国产精品a在线 | 欧美一区永久视频免费观看 | 八戒午夜精品视频在线观看 | 一区二区高清在线 | 黄免费看 | 免费视频网站一级人爱视频 | 国产高清精品在线 | 久久久久国产一级毛片高清板 | 久久精品国产在爱久久 | 男女国产视频 | 福利一区三区 | a级毛片免费观看视频 | 亚洲欧美日韩精品永久在线 | 国产肥老妇视频一 | 亚洲精品影院久久久久久 | 久久视精品 | 911精品国产亚洲日本美国韩国 | 国产午夜精品久久久久免费视 | 成人男男黄网色视频免费 | 国产成人三级经典中文 | 国产亚洲精品一品区99热 | 国产精品三级a三级三级午夜 | 久久se精品一区二区国产 | 国产一国产a一级毛片 | 欧美午夜影院 | 操爽视频| 国产免费爱在线观看视频 | 女人张开腿让男人插 | 91精品国产综合久久欧美 | 99视频九九精品视频在线观看 | 国产一级片网址 | 国产成人综合久久亚洲精品 |