當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]摘要:介紹一種基于RTX51 TINY的加密短消息通信系統(tǒng),可以實現(xiàn)手機與手機以及手機與計算機之間的加密短消息通信。 關(guān)鍵詞:嵌入式操作系統(tǒng) RTX51 TINY 加密短消息 短消息服務(wù),簡稱SMS(Short Message Service)。由

摘要:介紹一種基于RTX51 TINY加密短消息通信系統(tǒng),可以實現(xiàn)手機與手機以及手機與計算機之間的加密短消息通信。 關(guān)鍵詞:嵌入式操作系統(tǒng) RTX51 TINY 加密短消息 短消息服務(wù),簡稱SMS(Short Message Service)。由于其方便、快捷、收費低廉,使得其應(yīng)用越來越廣泛,一些成功的短信服務(wù)已經(jīng)形成大規(guī)模的創(chuàng)收業(yè)務(wù)。在利用短消息技術(shù)實現(xiàn)手機銀行、手機炒股時,需要一定的信息安全技術(shù)來保護短消息所傳輸?shù)拿舾袛?shù)據(jù)的安全。一種常用的技術(shù)就是短消息加密技術(shù),即將所傳數(shù)據(jù)加密之后進行傳播。 加密短消息的通信技術(shù)有多種,常用的方法有三種。一種是利用計算機實現(xiàn),在發(fā)送端,通過運行在計算機中的軟件對短消息進行加密,然后通過發(fā)送裝置發(fā)送,而在接收端,接收裝置接收到加密的短消息后,傳送給計算機,再通過相應(yīng)的軟件進行解密。這種方式實際是將短消息作為數(shù)據(jù)通信的載體使用,只能實現(xiàn)計算機與計算機之間的加密短消息通信,而只擁有手機的個人用戶很難使用此方式。另一種是將手機現(xiàn)有的SIM卡升級成STK卡,然后通過STK的編程實現(xiàn)加密短消息的通信。通過STK卡的編程,在手機菜單目錄中增加了使用加密短消息通信的相應(yīng)增了使用加密密短消息通信的相應(yīng)增值服務(wù)項目,用記使用這些項目就可以實現(xiàn)加密短消息的收發(fā)。這種方式需要手機用戶將SIM卡升級成STK卡,而且只能使用相應(yīng)的增值服務(wù)項目。第三種方法是通過基于手機操作系統(tǒng)的軟件開來來實現(xiàn),針對相應(yīng)的手機操作系統(tǒng),編程實現(xiàn)加密短消息通信軟件模塊,然后下載到手機中,用戶使用此模塊實現(xiàn)加密短消息通信。此種方式個人用戶使用最方便,但是對手機有相應(yīng)要求,例如Silicov Village公司的Fortress SMS加密短消息通信系統(tǒng),就需要基于SymbianV6手機操作系統(tǒng)的手機,如Nokia 7650手機。 本文介紹一種基于單片機的加密短消息通信系統(tǒng)。系統(tǒng)的核心是一個運行RTX51 TINY嵌入實時操作系統(tǒng)的單片機,與手機的控制端口進行通信,控制手機的短消息操作,實現(xiàn)了手機與手機、手機與計算機以及計算機之間的加密短消息通信。 1 系統(tǒng)組成 實現(xiàn)手機與手機、手機與計算機以及計算機之間的加密短消息通信,既方便個人用戶也方便企業(yè)用戶的使用。系統(tǒng)的組成分為手機端與計算機端。手機端所完成的主要功能是對發(fā)送短消息的加密以及接收短消息的解密。手機端并不需要對短消息進行編程,相應(yīng)的編輯工作通過手機來完成,這就減少了單片機系統(tǒng)的硬件電路,使得單片機系統(tǒng)不需要設(shè)計鍵盤和顯示部分,也就保證了手機端設(shè)備小型化設(shè)計的要求。 手機端操作分成短消息的加密發(fā)送與接收解密兩部分: (1) 送加密短消息 用戶在使用手機端設(shè)備發(fā)送加密短消息時,首先用手機編輯一條短消息,此條短消息 是未加密的明文短消息,用戶不將其發(fā)送出去,而是存入發(fā)件箱;然后,手機端設(shè)備運行加密操作,將存在發(fā)件箱中未發(fā)出的明文短消息進行加密,加密之后再發(fā)送,完成發(fā)送操作。 (2)接收加密短消息 當(dāng)手機接收到加密的短消息后,用戶如果直接讀取,則在收件箱中會有一條不可識別的密文短消息。此時,運行手機端設(shè)備進行解密操作,手機端設(shè)備從手機收件上箱中讀取密文件短消息進行解密。解密之后將明文短消息存入手機的發(fā)件箱中,用戶從發(fā)件箱中就可以讀取到解密之后的明文短消息。 計算機端的核心是運行在計算機中的短消息加解密軟件,通過VC編程實現(xiàn)。由于不受系統(tǒng)資源的限制,計算機端軟件功能較強大,不僅可以實現(xiàn)短消息的加密發(fā)送、接收解密,還可以對手機收件箱、發(fā)件箱、已發(fā)件箱內(nèi)的短消息進行管理。在計算機本地還可以建立通信錄、短信數(shù)據(jù)庫,實現(xiàn)短消息的群發(fā)。 2 加密短消息實現(xiàn)原理 單片機系統(tǒng)控制手機進行短消息收發(fā)的原理實際上是利用手機的控制端口向手機發(fā)出一系列的AT命令,達到控制手機收發(fā)短消息的目的。單片機所連接的控制端口一般為串行異步接口,可以是紅外連接方式也可以是電纜連接方式,本系統(tǒng)采用電纜方式進行連接,通信速率與所選用手機的型號相關(guān)。 所用的AT指令是GSM07.05中所規(guī)定的AT指令。該指令集由歐洲通信技術(shù)秀員會ETSI(European Telecommunieations Standards Institute)發(fā)布,其中包含了收發(fā)SMS的相應(yīng)指令。其主要指令如表1所示。 表1 主要的AT指令 AT+CMGF 選擇短消息信息格式“0”——PDU格式 AT+CMGS 發(fā)送短消息 AT+CMGW 向SIM卡內(nèi)存中寫入短消息 AT+CMGL 列出SIM卡內(nèi)存中的短消息 AT+CMGR 讀短消息 AT+CMGD 刪除短消息 AT+CSCA 短消息服務(wù)中心地址 AT+CPMS 選擇短消息內(nèi)存“SM”——SIM卡 AT+CNMI 顯示新收到的短消息 在發(fā)送短消息前,首先通信AT+CMGF命令選擇短消息的格式。短消息的格式一般有TEXT與PDU兩種,PDU格式應(yīng)用最為廣泛,基本上全國所有的電信局都支持PDU格式的短消息業(yè)務(wù)。PDU格式相當(dāng)于一個數(shù)據(jù)包,也方便實現(xiàn)短消息的加解密。本系統(tǒng)采用PDU格式收錄短消息。 PDU格式的短消息數(shù)據(jù)包分為兩種,一種為SMSSUBMIT,一種為SMS-DELIVER。SMS-SUBMIT為手機發(fā)送的PDU數(shù)據(jù)包格式,SMS-DELIVER為手機接收的PDU數(shù)據(jù)包格式。如圖1所示。


其中SMSC為短消息中心號碼,F(xiàn)0為首位,MR為信息類型,DA為被叫號碼,PID為協(xié)議標(biāo)識,DCS為編碼方案,VP為有效期,OA為發(fā)送號碼,SCTS為發(fā)送時間,UDL為用戶數(shù)據(jù)長度,UD為用戶數(shù)據(jù)。詳細內(nèi)容請參見GSM03.40。 進行加密短消息通信時,需要對SMS-SUBMIT格式由PDU數(shù)據(jù)包進行加密,對接收的SMS-DELIVER格式的PDU數(shù)據(jù)包進行解密。整個加密與解密操作只能對UD,也就是對用戶數(shù)據(jù)進行操作,不能對PDU數(shù)據(jù)包中的其他數(shù)據(jù)進行操作,以免造成數(shù)據(jù)格式不正確,無法進行短消息的收發(fā)。 短信加密算法可以采用用戶自定義的加密算法,也可以用DES、Rijndael等標(biāo)準(zhǔn)算法。但特別需要強調(diào)的是,用戶數(shù)據(jù)需要進行十六進制編碼后才能正確傳輸。無論選用何種加密算法,當(dāng)完成對用戶數(shù)據(jù)的加密操作后,需要將加密后的數(shù)據(jù)進行十六進制編碼,然后發(fā)送。解密前,需要先進行十六進制的解碼,然后再解密。 3 基于RTX51 TINY的單片機系統(tǒng)設(shè)計 RTX51是德國KEIL公司開發(fā)的一種應(yīng)用于8051系列單片機上的實時多任務(wù)嵌入式操作系統(tǒng)。采用它可以簡化復(fù)雜的軟件設(shè)計。縮短項目開發(fā)時間。短消息加密通信系統(tǒng)的手機端設(shè)備,需要處理的數(shù)據(jù)量大,還要實現(xiàn)較復(fù)雜的加解密算法,但對系統(tǒng)的實時性要求不強,適合選用RTX51進行軟件的開發(fā)。 RTX51有兩個版本:RTX51 FULL與RTX51 TINY。RTX51 TINY是RTX51 FULL的一個子集,通過時間片輪詢方式,可以支持多達16個任務(wù),任務(wù)之間可以進行信號傳遞,已經(jīng)滿足手端設(shè)備的需要。 3.1 系統(tǒng)硬件組成 由于一條短消息需要占用幾十到一百多字節(jié)的存貯空間,所以需要單片機系統(tǒng)對進行外部存貯器的擴展。為了與手機接口的電平匹配,還需要加電平轉(zhuǎn)換電路。整個單片機系統(tǒng)以AT89C52為核心,外接6264(8KRAM)進行數(shù)據(jù)存貯器擴展,以74HC04進行電平轉(zhuǎn)換,組成框圖如圖2所示。


3.2 系統(tǒng)軟件設(shè)計 軟件的核心為串行數(shù)據(jù)通信處理與加解密算法。為了保證串行數(shù)據(jù)通信的可靠性,采用中斷方式而不采用查詢方式處理串行口,并編寫了相應(yīng)的處理函數(shù)。加解密算法與計算機端軟件保持一致,也通過相應(yīng)的子函數(shù)實現(xiàn)。復(fù)位后,首先進行系統(tǒng)初始化,然后啟動相尖的處理任務(wù),連接手機并監(jiān)視按鍵與串行口,對命令進行實時處理。系統(tǒng)軟件結(jié)構(gòu)如圖3所示。 系統(tǒng)任務(wù)分配如下: (1) 任務(wù)0:TASK_INT,系統(tǒng)初始化并啟動其他全部任務(wù); (2) 任務(wù)1:TASK_CONECTPHONE,連接手機,判斷手機是否正確,并對手機進行初始化; (3) 任務(wù)2:TASK_SEND_AT,SMS短消息控制命令發(fā)送任務(wù),向串行口發(fā)送AT命令; (4) 任務(wù)3:TASK_GET_DATA,從串行口接收數(shù)據(jù),存入緩沖區(qū),當(dāng)監(jiān)測到特片字符后,調(diào)用數(shù)據(jù)處理任務(wù)對數(shù)據(jù)進行處理; (5) 任務(wù)4:TASK_PROCESS_DATA,對接收到的數(shù)據(jù)進行處理,并調(diào)用加解密函數(shù)實現(xiàn)SMS的加密與解密;


(6) 任務(wù)5:TASK_KEY,輸入按鍵處理; (7) 任務(wù)6:TASK_ERROR,錯誤處理。 在程序調(diào)試階段,發(fā)現(xiàn)由于串行口數(shù)據(jù)接收的實時性要求高,而RTX51 TINY不支持任務(wù)的優(yōu)先級,如果在一個任務(wù)中完成數(shù)據(jù)的接收與處理,則會由于處理速度慢造成緩沖區(qū)的溢出。所以將數(shù)據(jù)的接收與處理分在兩個任務(wù)中實現(xiàn),數(shù)據(jù)接收任務(wù)負責(zé)數(shù)據(jù)的接收,并將接收數(shù)據(jù)存入緩沖區(qū),只有當(dāng)監(jiān)測到特征字符后,才調(diào)用數(shù)據(jù)處理任務(wù)對數(shù)據(jù)進行處理。 為了對PDU數(shù)據(jù)包進行處理,并且完成加密解密操作,系統(tǒng)主要編寫了以下函數(shù): (1) CHAR XDATA *FIND_PDU(CHAR XDATA *P):從接收數(shù)據(jù)緩沖區(qū)查找PDU數(shù)據(jù)包; (2) CHAR XDATA *PROCESS_SMS_SUBMIF(CHAR XDATA *P):處理SMS_SUBMIT格式的PDU數(shù)據(jù)包; (3) CHAR XDATA *PROCESS_SMS_DELIVER(CHAR XDATA *P):處理SMS_DELIVER格式的PDU數(shù)據(jù)包; (4) VOID ENCODE (CHAR XDATA *P,INT LEN):加密函數(shù); (5) VOID DECODE (CHAR XDATA *P,INT LEN):解密函數(shù); (6) VOID CHAR2HEX(CHAR XDATA *P,INT LEN):十六進制編碼; (7) VOID HEX2CHAR(CHAR XDATA *P,INT LEN):十六進制解碼; (8) SERIAL()INTERRUPT 4:串行口中斷處理函數(shù)。 加密短消息通信系統(tǒng)的應(yīng)用廣泛,在金融、股票、電子商務(wù)、醫(yī)療、數(shù)據(jù)庫安全、用戶認(rèn)證以及其他需要保證短消息安全的應(yīng)用中,都需要加密短消息通信系統(tǒng)。本文介紹的加密短消息通信系統(tǒng),由于是通過手機的控制端口控制手機進行加密短消息的收發(fā),對手機的硬件沒有具體的要求。也就是說即不需要將SIM卡進行升級,也不要求一定是采用某種手機操作系統(tǒng)的手機。這方便了已經(jīng)擁有手機的用戶的使用,便于系統(tǒng)的推廣。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉