女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于嵌入實時操作系統和單片機實現加密短消息通信系統的設計

電子設計 ? 來源:電子技術應用 ? 作者:郭軍利,申現瑛, ? 2021-06-21 17:28 ? 次閱讀

作者:郭軍利,申現瑛,蔣建中

介紹一種基于RTX51 TINY的加密短消息通信系統,可以實現手機與手機以及手機與計算機之間的加密短消息通信。

短消息服務,簡稱SMS(Short Message Service)。由于其方便、快捷、收費低廉,使得其應用越來越廣泛,一些成功的短信服務已經形成大規模的創收業務。在利用短消息技術實現手機銀行、手機炒股時,需要一定的信息安全技術來保護短消息所傳輸的敏感數據的安全。一種常用的技術就是短消息加密技術,即將所傳數據加密之后進行傳播。

加密短消息的通信技術有多種,常用的方法有三種。一種是利用計算機實現,在發送端,通過運行在計算機中的軟件對短消息進行加密,然后通過發送裝置發送,而在接收端,接收裝置接收到加密的短消息后,傳送給計算機,再通過相應的軟件進行解密。這種方式實際是將短消息作為數據通信的載體使用,只能實現計算機與計算機之間的加密短消息通信,而只擁有手機的個人用戶很難使用此方式。另一種是將手機現有的SIM卡升級成STK卡,然后通過STK的編程實現加密短消息的通信。通過STK卡的編程,在手機菜單目錄中增加了使用加密短消息通信的相應增了使用加密密短消息通信的相應增值服務項目,用記使用這些項目就可以實現加密短消息的收發。這種方式需要手機用戶將SIM卡升級成STK卡,而且只能使用相應的增值服務項目。第三種方法是通過基于手機操作系統的軟件開來來實現,針對相應的手機操作系統,編程實現加密短消息通信軟件模塊,然后下載到手機中,用戶使用此模塊實現加密短消息通信。此種方式個人用戶使用最方便,但是對手機有相應要求,例如Silicov Village公司的Fortress SMS加密短消息通信系統,就需要基于SymbianV6手機操作系統的手機,如Nokia 7650手機。

本文介紹一種基于單片機的加密短消息通信系統。系統的核心是一個運行RTX51 TINY嵌入實時操作系統的單片機,與手機的控制端口進行通信,控制手機的短消息操作,實現了手機與手機、手機與計算機以及計算機之間的加密短消息通信。

1 系統組成

實現手機與手機、手機與計算機以及計算機之間的加密短消息通信,既方便個人用戶也方便企業用戶的使用。系統的組成分為手機端與計算機端。手機端所完成的主要功能是對發送短消息的加密以及接收短消息的解密。手機端并不需要對短消息進行編程,相應的編輯工作通過手機來完成,這就減少了單片機系統的硬件電路,使得單片機系統不需要設計鍵盤和顯示部分,也就保證了手機端設備小型化設計的要求。

手機端操作分成短消息的加密發送與接收解密兩部分:

(1) 送加密短消息

用戶在使用手機端設備發送加密短消息時,首先用手機編輯一條短消息,此條短消息 是未加密的明文短消息,用戶不將其發送出去,而是存入發件箱;然后,手機端設備運行加密操作,將存在發件箱中未發出的明文短消息進行加密,加密之后再發送,完成發送操作。

(2)接收加密短消息

當手機接收到加密的短消息后,用戶如果直接讀取,則在收件箱中會有一條不可識別的密文短消息。此時,運行手機端設備進行解密操作,手機端設備從手機收件上箱中讀取密文件短消息進行解密。解密之后將明文短消息存入手機的發件箱中,用戶從發件箱中就可以讀取到解密之后的明文短消息。

計算機端的核心是運行在計算機中的短消息加解密軟件,通過VC編程實現。由于不受系統資源的限制,計算機端軟件功能較強大,不僅可以實現短消息的加密發送、接收解密,還可以對手機收件箱、發件箱、已發件箱內的短消息進行管理。在計算機本地還可以建立通信錄、短信數據庫,實現短消息的群發。

2 加密短消息實現原理

單片機系統控制手機進行短消息收發的原理實際上是利用手機的控制端口向手機發出一系列的AT命令,達到控制手機收發短消息的目的。單片機所連接的控制端口一般為串行異步接口,可以是紅外連接方式也可以是電纜連接方式,本系統采用電纜方式進行連接,通信速率與所選用手機的型號相關。

所用的AT指令是GSM07.05中所規定的AT指令。該指令集由歐洲通信技術秀員會ETSI(European Telecommunieations Standards Institute)發布,其中包含了收發SMS的相應指令。其主要指令如表1所示。

表1 主要的AT指令

AT+CMGF

選擇短消息信息格式“0”——PDU格式

AT+CMGS

發送短消息

AT+CMGW

向SIM卡內存中寫入短消息

AT+CMGL

列出SIM卡內存中的短消息

AT+CMGR

讀短消息

AT+CMGD

刪除短消息

AT+CSCA

短消息服務中心地址

AT+CPMS

選擇短消息內存“SM”——SIM卡

AT+CNMI

顯示新收到的短消息

在發送短消息前,首先通信AT+CMGF命令選擇短消息的格式。短消息的格式一般有TEXT與PDU兩種,PDU格式應用最為廣泛,基本上全國所有的電信局都支持PDU格式的短消息業務。PDU格式相當于一個數據包,也方便實現短消息的加解密。本系統采用PDU格式收錄短消息。

PDU格式的短消息數據包分為兩種,一種為SMSSUBMIT,一種為SMS-DELIVER。SMS-SUBMIT為手機發送的PDU數據包格式,SMS-DELIVER為手機接收的PDU數據包格式。如圖1所示。

基于嵌入實時操作系統和單片機實現加密短消息通信系統的設計

其中SMSC為短消息中心號碼,F0為首位,MR為信息類型,DA為被叫號碼,PID為協議標識,DCS為編碼方案,VP為有效期,OA為發送號碼,SCTS為發送時間,UDL為用戶數據長度,UD為用戶數據。詳細內容請參見GSM03.40。

進行加密短消息通信時,需要對SMS-SUBMIT格式由PDU數據包進行加密,對接收的SMS-DELIVER格式的PDU數據包進行解密。整個加密與解密操作只能對UD,也就是對用戶數據進行操作,不能對PDU數據包中的其他數據進行操作,以免造成數據格式不正確,無法進行短消息的收發。

短信加密算法可以采用用戶自定義的加密算法,也可以用DES、Rijndael等標準算法。但特別需要強調的是,用戶數據需要進行十六進制編碼后才能正確傳輸。無論選用何種加密算法,當完成對用戶數據的加密操作后,需要將加密后的數據進行十六進制編碼,然后發送。解密前,需要先進行十六進制的解碼,然后再解密。

3 基于RTX51 TINY的單片機系統設計

RTX51是德國KEIL公司開發的一種應用于8051系列單片機上的實時多任務嵌入式操作系統。采用它可以簡化復雜的軟件設計。縮短項目開發時間。短消息加密通信系統的手機端設備,需要處理的數據量大,還要實現較復雜的加解密算法,但對系統的實時性要求不強,適合選用RTX51進行軟件的開發。

RTX51有兩個版本:RTX51 FULL與RTX51 TINY。RTX51 TINY是RTX51 FULL的一個子集,通過時間片輪詢方式,可以支持多達16個任務,任務之間可以進行信號傳遞,已經滿足手端設備的需要。

3.1 系統硬件組成

由于一條短消息需要占用幾十到一百多字節的存貯空間,所以需要單片機系統對進行外部存貯器的擴展。為了與手機接口的電平匹配,還需要加電平轉換電路。整個單片機系統以AT89C52為核心,外接6264(8KRAM)進行數據存貯器擴展,以74HC04進行電平轉換,組成框圖如圖2所示。

3.2 系統軟件設計

軟件的核心為串行數據通信處理與加解密算法。為了保證串行數據通信的可靠性,采用中斷方式而不采用查詢方式處理串行口,并編寫了相應的處理函數。加解密算法與計算機端軟件保持一致,也通過相應的子函數實現。復位后,首先進行系統初始化,然后啟動相尖的處理任務,連接手機并監視按鍵與串行口,對命令進行實時處理。系統軟件結構如圖3所示。

系統任務分配如下:

(1) 任務0:TASK_INT,系統初始化并啟動其他全部任務;

(2) 任務1:TASK_CONECTPHONE,連接手機,判斷手機是否正確,并對手機進行初始化;

(3) 任務2:TASK_SEND_AT,SMS短消息控制命令發送任務,向串行口發送AT命令;

(4) 任務3:TASK_GET_DATA,從串行口接收數據,存入緩沖區,當監測到特片字符后,調用數據處理任務對數據進行處理;

(5) 任務4:TASK_PROCESS_DATA,對接收到的數據進行處理,并調用加解密函數實現SMS的加密與解密;

(6) 任務5:TASK_KEY,輸入按鍵處理;

(7) 任務6:TASK_ERROR,錯誤處理。

在程序調試階段,發現由于串行口數據接收的實時性要求高,而RTX51 TINY不支持任務的優先級,如果在一個任務中完成數據的接收與處理,則會由于處理速度慢造成緩沖區的溢出。所以將數據的接收與處理分在兩個任務中實現,數據接收任務負責數據的接收,并將接收數據存入緩沖區,只有當監測到特征字符后,才調用數據處理任務對數據進行處理。

為了對PDU數據包進行處理,并且完成加密解密操作,系統主要編寫了以下函數:

(1) CHAR XDATA *FIND_PDU(CHAR XDATA *P):從接收數據緩沖區查找PDU數據包;

(2) CHAR XDATA *PROCESS_SMS_SUBMIF(CHAR XDATA *P):處理SMS_SUBMIT格式的PDU數據包;

(3) CHAR XDATA *PROCESS_SMS_DELIVER(CHAR XDATA *P):處理SMS_DELIVER格式的PDU數據包;

(4) VOID ENCODE (CHAR XDATA *P,INT LEN):加密函數;

(5) VOID DECODE (CHAR XDATA *P,INT LEN):解密函數;

(6) VOID CHAR2HEX(CHAR XDATA *P,INT LEN):十六進制編碼;

(7) VOID HEX2CHAR(CHAR XDATA *P,INT LEN):十六進制解碼;

(8) SERIAL()INTERRUPT 4:串行口中斷處理函數。

加密短消息通信系統的應用廣泛,在金融、股票、電子商務、醫療、數據庫安全、用戶認證以及其他需要保證短消息安全的應用中,都需要加密短消息通信系統。本文介紹的加密短消息通信系統,由于是通過手機的控制端口控制手機進行加密短消息的收發,對手機的硬件沒有具體的要求。也就是說即不需要將SIM卡進行升級,也不要求一定是采用某種手機操作系統的手機。這方便了已經擁有手機的用戶的使用,便于系統的推廣。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6061

    文章

    44915

    瀏覽量

    646638
  • 計算機
    +關注

    關注

    19

    文章

    7626

    瀏覽量

    90135
  • 操作系統
    +關注

    關注

    37

    文章

    7077

    瀏覽量

    124924
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于實時操作系統嵌入式控制器的設計

    實時操作系統.為應用程序的設計提供了軟件平臺,與傳統的單片機控制相比,解決了難于實現多任務,復雜控制算法以及系統
    發表于 04-27 21:41

    一種基于單片機的搶占式實時嵌入操作系統設計

    一種基于單片機的搶占式實時嵌入操作系統設計
    發表于 04-22 12:59

    實時操作系統和Linux分時操作系統有哪些區別呢

    什么是單片機?什么是嵌入式呢?實時操作系統和Linux分時操作系統有哪些區別呢?
    發表于 01-24 07:36

    嵌入實時操作系統VxWorks中串口通信實現

    嵌入實時操作系統VxWorks中串口通信實現
    發表于 03-29 12:27 ?19次下載

    嵌入實時操作系統ucosii的分析

    近年來,在單片機系統嵌入操作系統已經成為人們越來越關心的一個話題。本文通過對一種源碼公開的嵌入實時
    發表于 11-17 11:48 ?107次下載

    MSP430單片機實時多任務操作系統c源代碼

    : 資料-【C】嵌入系統-【C0】嵌入式綜合-【2】單片機編程-【參考程序】-MSP430單片機實時
    發表于 09-18 10:18 ?91次下載
    MSP430<b class='flag-5'>單片機</b><b class='flag-5'>實時</b>多任務<b class='flag-5'>操作系統</b>c源代碼

    51單片機多任務操作系統的原理與實現

    51單片機多任務操作系統的原理與實現,在51單片機上模擬操作系統
    發表于 02-28 15:09 ?16次下載

    嵌入式VxWorks實時操作系統中串口通信實現

    嵌入式VxWorks實時操作系統中串口通信實現
    發表于 08-31 16:03 ?7次下載
    <b class='flag-5'>嵌入</b>式VxWorks<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>中串口<b class='flag-5'>通信</b>的<b class='flag-5'>實現</b>

    基于實時操作系統單片機多任務應用程序設計

    基于實時操作系統單片機多任務應用程序設計
    發表于 10-27 15:21 ?49次下載
    基于<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>的<b class='flag-5'>單片機</b>多任務應用程序設計

    單片機搶占式嵌入操作系統

    ,能夠在工業生產等領域得到較好的應用。因此,還應加強搶占式實時嵌入操作系統設計研究,從而更好的完成該類系統的開發。 基于單片機的搶占式
    發表于 01-31 17:03 ?1次下載

    單片機嵌入操作系統有哪些優缺點

     近年來,在單片機系統嵌入操作系統已經成為人們越來越關心的一個話題。本文通過對一種源碼公開的單片機嵌入
    發表于 08-05 17:34 ?1次下載
    在<b class='flag-5'>單片機</b>中<b class='flag-5'>嵌入</b><b class='flag-5'>操作系統</b>有哪些優缺點

    嵌入實時操作系統的應用詳細教程說明

    本文檔的主要內容詳細介紹的是嵌入實時操作系統的應用詳細教程說明包括了:1 嵌入系統嵌入
    發表于 12-05 08:00 ?2次下載
    <b class='flag-5'>嵌入</b>式<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>的應用詳細教程說明

    關于單片機嵌入式、操作系統與 RTOS之間的關系詳解

    這篇文章我們就來聊一下關于單片機嵌入式、操作系統與 RTOS 之間的那些事!通過這篇文章,讓你操作系統實時性有一個
    的頭像 發表于 03-29 14:20 ?8454次閱讀
    關于<b class='flag-5'>單片機</b>與<b class='flag-5'>嵌入</b>式、<b class='flag-5'>操作系統</b>與 RTOS之間的關系詳解

    轉載:DIY:給單片機寫個實時操作系統內核!

    轉載:DIY:給單片機寫個實時操作系統內核!
    發表于 11-13 19:36 ?1次下載
    轉載:DIY:給<b class='flag-5'>單片機</b>寫個<b class='flag-5'>實時</b><b class='flag-5'>操作系統</b>內核!

    單片機操作系統有哪些

    單片機操作系統(RTOS)是一種專門設計用于單片機操作系統,它可以提供任務調度、內存管理、設備驅動等功能,幫助程序員更高效地開發嵌入
    的頭像 發表于 12-08 16:18 ?6484次閱讀