面向Android系统的移动终端短信端到端加密方法

文档序号:7812593阅读:823来源:国知局
面向Android系统的移动终端短信端到端加密方法
【专利摘要】一种面向Android系统的移动终端短信端到端加密方法,包括:Android类库模块,短信编辑模块,短信加密模块,短信发送模块,短信接收模块,短信解密模块,数据库模块和短信显示模快,其中Android类库模块扩展和实例化了Android应用框架层的基础类,供其他各模块调用;短信编辑模块提供用户短信输入功能;短信加密模块一次一密加密短信;短信发送模块把密信发送至GSM/3G网络中;短信接收模块从GSM/3G网络中解析出密文短信;短信解密模块由密信解析出会话秘钥和密文,并用会话秘钥解密密文;数据库模块用于封装数据供其他模块访问;短信显示模块把数据库中的短信呈现给用户。本发明保证了短信通信安全。
【专利说明】面向Android系统的移动终端短信端到端加密方法

【技术领域】
[0001]本发明涉及信息安全,移动操作系统软件开发等领域,尤其涉及一种面向Android系统的移动终端短信端到端加密方法。。

【背景技术】
[0002]随着大数据时代的来临,移动终端的用户已经超过了 PC终端。而根据最新调查,Android系统在移动操作系统的市场占有率已经超过了一半,再加上由于在Android系统下短信收发可以实现友好的聊天界面,人们对短信通信有了更多的依赖,所以越来越多的人在使用着Android系统短信软件。但是由于Android操作系统具有半开源性,所以其短信通信的安全性比一般手机的短信通信的安全性有更高的要求。
[0003]目前,进行短信加密通信的方法主要有以下两类,一类是利用硬件设备进行加密,一类是利用软件加密。
[0004]利用硬件设备进行加密如申请号CN201310199000.4,其加密发送步骤如下:通过安全认证过程;使用接收端和发送端手机号码作为参数生成加解密的所用密钥;撰写明文短信内容;使用加解密模块对短信加密;使用短信处理模块,将密文短信发送。该发明还提供了与上述加密发送方法相对应的接收解密方法,以及与上述方法配合工作的手机私密短信的硬件加密传输和存储系统。但这种硬件的方法成本较高,可移植性较差并且不能实现一次一密。
[0005]利用软件加密的如申请号CN201210451062.5 一种短信加密传输的方法,包括在发送端:1)编辑短信,选择短信发送模式,若选择密文模式,则执行步骤2)至3) ;2)根据提示输入密码、图片或指纹中的至少一项;3)根据所述输入的密码、图片或指纹中的至少一项将所述短信内容编辑加密,并发送;以及在接收端:4)收到短信,判断是否为密文模式,若是,则执行步骤5) ;5)根据提示输入密码、图片或指纹中的至少一项,若输入正确,则执行步骤6),否则发出警报;6)根据所述输入的密码、图片或指纹中的至少一项对加密短信进行解码,获取短信内容,需要双方事先当面或打电话协商好秘钥,应用场景比较局限,而且无法在Android操作系统上实现。
[0006]申请号CN201310019879.X 一种非对称手机短信加密方法,依次包括建立保存密钥步骤、发件人加密步骤、发件人发送步骤、收件人解密步骤、短信内容显示等步骤。该发明需要引入服务器存储公钥,增加了系统的复杂度,而且无法在Android操作系统上实现。
[0007]申请号CN201310269455.9 —种短信加密通讯系统及通讯方法。其系统架构基于账户处理单元、远程业务单元、短信内容处理单元、短信处理平台及移动终端而构成。通过在传统短信通讯的系统架构基础上增设账户处理单元,并完善远程业务单元关于引入终端标识生成、绑定、验证的综合机制,实现短信加密通讯。但该发明没能实现一次一密,而且无法在Android操作系统上实现。
[0008]申请号CN201210442976.5 一种手机短信加密通信系统及通信方法包括:私钥生成中心,其生成系统参数与主密钥;发送终端,其与私钥生成中心连接,并与接收终端通信;接收终端,其与私钥生成中心连接,并与发送终端通信;私钥生成中心生成发送终端和接收终端的私钥;发送终端与接收终端从私钥生成中心获取私钥;发送终端与接收终端共享对称密钥;发送终端与接收终端根据对称密钥对短信进行加解密操作同时更新对称密钥。该方法虽然实现了一次一密,但是存在以下缺陷:1.引入了私钥中心增加了系统复杂度;
2.私钥中心向发送终端发送秘钥时,以明文方式发送,易被攻击者获取;3.私钥中心安全性不高;4.此种方法无法在Android操作系统上实现。
[0009]申请号CN201110227516.6 一种US頂卡短信加密及处理方法,其方法包括:对待加密处理的短信进行编码,构造Record数据格式的数据,采用指定或者默认的加密算法和密钥对其中的TS-SCA+TPDU部分进行加密处理,之后将整个短信数据存储至指定的Record中。该发明一方面可兼容现有USIM卡普通短信存储格式;另一方面对现有USIM卡短信存储格式进行扩展,使其可以支持加密短信的存储,从而起到保护USIM卡私密短信的目的。然而,该发明只涉及了短信存储方法,没有涉及短信加密传输方法。
[0010]申请号CN201010218878.4 一种短信加密通信系统,其系统包括:第一终端向密钥中心发送短信加密请求消息;密钥中心收到所述短信加密请求消息后,随机生成会话密钥,利用第一终端公钥对所述会话密钥进行加密,返回给第一终端。利用第二终端公钥对所述会话密钥进行加密,并发送给第二终端;第一终端收到所述加密的会话密钥后,利用第一终端私钥解密获得所述会话密钥并保存;第二终端收到所述加密的会话密钥后,利用第二终端私钥解密获得所述会话密钥并保存;第一终端利用所述会话密钥对待发送的短信进行加密,发送给第二终端;第二终端收到所述加密的短信后,利用该会话密钥对加密短信进行解密,并呈现给用户。但该发明引入了密钥中心,增加了系统复杂性,同时密钥中心存在安全隐患,而且也无法在Android操作系统上实现。


【发明内容】

[0011]技术问题:本发明的目的在于弥补以上技术的不足,提供一种面向Android操作系统、不需要可信第三方、具备一次一密功能、可适用于移动GSM/3G网络的短信端到端加密传输方法。
[0012]技术方案:本发明提供一种面向Android操作系统的移动终端短信端到端加密方法。本发明基于Android操作系统移动终端现有的短信软件,添加了加解密的过程、具备一次一密功能、可适用于移动GSM/3G网络。
[0013]本发明主要包括八部分=Android类库模块短信编辑模块,短信加密模块,短信发送模块,短信接收模块,短信解密模块,数据库模块和短信显示模块。
[0014]其中Android类库模块的功能在于扩展和实例化Android系统应用框架层基础类,被其他各个模块调用,包括NConv模块,MessageReceiver模块,Buttonlisten模块,SMS 模块,DataResolver 模块,CiperNotifica1n 模块,MessageList 模块和 Sess1nList模块。其中NConv模块基于Android应用框架层Activity类,加载描述短信编辑界面的XML文件,以实现短信编辑的界面;MessageReceiver模块基于Android应用框架层的BroadCastReceiver类,添加接收短信的过滤器,以实现短信的接收;Buttonlisten模块基于Android应用框架层的ImageButton类,添加监听器,以监听点击按钮所触发的事件;SMS模块实例化Android应用框架层SmsManager类,以实现短信的发送,同时实例化Android应用框架层SmsMessage类,以实现短信的接收;DataResolver模块实例化Android应用框架层的ContentResolver类,以访问数据库;CiperNotificat1n模块实例化Android应用程序框架层的Notificat1n类,以实现收到密信提示的界面;MessageList模块基于应用框架层的Activity类,加载描述短信列表界面的XML文件,以实现短信列表的界面;Sess1nList模块扩展Android应用框架层Activity类,加载描述短信会话界面的XML文件,以实现短信会话的界面。
[0015]短信编辑模块的功能在于提供用户编辑短信和联系人的界面,接收用户编辑的短信Pl和联系人号码B。
[0016]短信加密模块包括会话秘钥产生模块和AES加密模块,基于AES算法实现一次一密的短信加密。会话秘钥产生模块的功能在于随机产生128位会话秘钥Ks ;AES加密模块的功能在于用主秘钥K加密会话秘钥Ks产生传输秘钥KT,用会话秘钥Ks加密短信产生密文短信C,连接传输秘钥KT和密信C产生待发信息Cs。
[0017]短信发送模快接收短信编辑模块输出的号码B,把待发信息Cs发送给号码为B的手机,记录下短信的发送时间Tl,把明文短信P1、号码B和发送时间Tl传送至短信数据库模块。
[0018]短信接收模块包括短信解析模块和明密文识别模块,实现密信的接收。短信解析模块的功能在于从GSM/3G网络中解析出对端发送过来的内容Cr和发信人号码A,记录下短信接收的时间T2,把收信内容Cr、收信时间T2和发信人号码A传送至明密文识别模块;明密文识别模块的功能在于接收从短信解析模块输出的收信内容Cr、收信时间T2和发信人号码A,检验收信内容Cr是不是密文短信,若识别出收信内容Cr是密文短信则给出收到密文短信的提示,并把收信内容Cr,收信时间T2和发信人号码A传送至短信解密模块。
[0019]短信解密模块包括秘钥解析模块和AES解密模块。秘钥解析模块的功能在于接收明密文识别输出的收信内容Cr,把传输秘钥KT和短信密文C从收信内容Cr中解析出来,把传输秘钥KT和密信C传送至AES解密模块;AES解密模块的功能在于接收秘钥解析模块传送过来的传输秘钥KT和密信C,接收明密文识别模块输出的收信时间T2和发信人号码A,用主秘钥K解密传输秘钥KT恢复会话秘钥Ks,用会话秘钥Ks解密密信C产生明文短信P2,把明文短信P2、收信时间T2和发信人号码A传送至短信数据库模块。
[0020]数据库模块包括联系人数据库模块和短信数据库模块。联系人数据库模块的功能在于把联系人表中的联系人资源封装成地址的形式方便短信编辑模块访问;短信数据库模块的功能在于把短信数据库的会话表和threads表中的短信资源封装成地址的形式方便短信显示模块访问。
[0021]短信显示模块包括短信列表显示模块和短信会话显示模块。短信列表显示模块的功能在于访问短信数据库模块,访问短信数据库模块,查询短信数据库中的threads表,把threads表中的“date”、“address”和“ snippet ”字段的值呈现给用户,并记录下“ thread_id”字段的值N;当用户点击短信列表中的某条短信时,把该条短信“thread_id”的值N传送至短信会话显示模块;短信会话显示模块的功能在于接收短信列表显示模块输出的“thread_id”的值N,并把短信数据库中会话表中“thread_id”字段的值为N的行的“type”、“addreSS”、“body”和“date”字段的值呈现给用户。
[0022]有益效果:本发明实现的是一种面向Android系统的移动终端短信端到端加密方法。适用于GSM/3G网,并且不需要引入可信第三方以确保安全、便捷。若有第三方监听短信,则无法获得短信的真实内容,有效地防止了第三方攻击。本发明通过采用一次一密的短信端到端加密方法,保证端到端的短信通信安全。本发明还提供了友好的用户界面方便使用。

【专利附图】

【附图说明】
[0023]图1是本发明的应用场景图;
[0024]图2是本发明的整体原理图;
[0025]图3是本发明发送短信流程图;
[0026]图4是本发明加密原理图
[0027]图5是本发明接收短信流程图;
[0028]图6是本发明解密原理图
[0029]图7是本发明总体软件结构图。

【具体实施方式】
[0030]如图1所示,本发明适用于能通过GSM/3G网络发送短信的Android系统移动终端。
[0031]如图2所示,包括Android类库模块1,短信编辑模块2,短信加密模块3,短信发送模块4,短信接收模块5,短信解密模块6,数据库模块7和短信显示模块8,实现面向Android系统移动终端短信端到端一次一密的加密传输。Android类库模块I扩展和实例化Android系统应用框架层的基础类,供短信编辑模块2,短信发送模块4,短信接收模块5,数据库模块6和短信显示模块7调用;短信编辑模块2通过创建用户编辑短信界面,提供用户短信输入功能;短信加密模块3基于AES算法加密用户编辑的短信;短信发送模块4把加密后的短信发送到GSM/3G网络中;短信接收模块5从GSM/3G网络中接收协议数据单元PDU,从协议数据单元PDU解析出短信并判别短信是明文还是密文;短信解密模块6从密文短信中解析出会话秘钥和密文,并用会话秘钥AES解密密文;数据库模块7用于存储联系人和短信并把数据库中的数据封装成URI形式方便其他模块调用;短信显示模块8把短信数据库中文短信呈现给用户。
[0032]一种面向Android系统移动终端短信端到端加密方法,如图3所示,发送短信时:
[0033]I)由短信编辑模块2,基于Android应用框架层Activity类,加载描述短信编辑界面的XML文件,生成NConv模块1_1,调用NConv模块1_1加载编辑短信的界面;接收用户编辑的明文短信Pl ;将明文短信传送至短信加密模块3 ;
[0034]2)基于Android应用框架层的ImageButton类,添加监听器生成Buttonlisten模块1-2,调用Buttonlisten模块1_2监听查询联系人的事件;实例化Android应用框架层的 ContentResolver 类生成 DataResolver 模块 1-5,调用 DataResolver 模块 1-5 查询联系人数据库模块7-1中的电话号码B ;
[0035]3)如图4所示,由短信加密模块3,接收短信发送模块4输出的明文短信Pl ;由会话秘钥生成模块3-1产生随机数Sr,并计算Sr的hash值产生128位会话秘钥Ks ;由AES加密模块3-2用主秘钥K加密Ks产生传输秘钥KT,用会话秘钥Ks加密明文短信Pl产生密文短信Cl,连接传输秘钥KT和密文短信Cl产生待发信息Cs,将待发信息Cs传送至短信发送模块4 ;
[0036]4)由短信发送模块4,实例化Android应用框架层SmsManager类和SmsMessage类,生成SMS模块1-3 ;调用SMS模块1-3,把待发信息Cs发送至GSM/3G网络中;
[0037]5)记录短信的发送时间Tl,并调用DataResolverl-5,把明文短信P1、电话号码B和发送时间Tl存储至短信数据库模块7-2 ;
[0038]6)由短信显示模块8,基于Android应用框架层的Activity类,加载描述短信列表界面的XML文件,生成MessageList模块1_7 ;基于Android应用框架层Activity类,力口载描述短信会话界面的XML文件,生成Sess1nList模块1_8 ;调用MessageList模块1_7加载短信列表显示的界面;访问短信数据库模块7-2,查询短信数据库中的threads表,把threads表中的“date”、“address”和“ snippet ”字段的值呈现给用户,并记录下“ thread_id”字段的值N ;当用户点击短信列表中的某条短信时,把该条短信“thread_id”的值N传送至短信会话显示模块8-2 ;调用Sess1nList模块1_8,加载短信列表显示的界面;短信会话显示模块8-2接收短信列表显示模块8-1输出的“thread_id”字段的值N ;把短信数据库中会话表中“ thread_id”字段的值为N的列的“ type ”、“address ”、“body ”和“ date,,字段的值呈现给用户。
[0039]一种面向Android系统移动终端短信端到端加密方法,如图5所示接收短信时:
[0040]I)由短信接收模块5基于Android应用框架层的BroadCastReceiver类,添加接收短信的过滤器,生成MessageReceiver模块1-4 ;调用MessageReceiver模块1-4,从GSM/3G网络中接收协议数据单元I3DU ;
[0041]2)由短信解析模块5-1调用SMS模块1_3,从协议数据单元I3DU中解析出收信内容Cr和发信人号码A,记录下收信时间T2 ;把收信内容Cr、收信时间T2和发信人号码A传送至明密文识别模块5-2;
[0042]3)由明密文识别模块5-2接收收信内容Cr、收信时间T2和发信人号码A,检验收信内容Cr中有没有乱码,若收信内容Cr中有乱码,则可判定收信内容Cr是密文短信;
[0043]4)若收信内容Cr是密文,则拦截收信内容Cr的正常收信通道;实例化Android应用框架层的 Notificat1n 类,生成 CiperNotificat1n 模块 1-6 ;调用 CiperNotificat1n 模块1-6,给出收到密信的通知提示;把收信内容Cr,收信时间T2和发信人号码A传送至短信解密模块6 ;若收信内容Cr是明文,则让其进入正常收信通道。
[0044]5)如图6所示,首先,由会话秘钥解析模块6-1接收短信解析模块5-1输出的收信内容Cr,然后从收信内容Cr中解析出传输秘钥KT和密信C2,把传输秘钥KT和密信C2传送至AES解密模块6-2 ;由AES解密模块6_2接收传输秘钥KT和密信C2 ;用主秘钥K解密传输秘钥KT恢复会话密钥Ks,用会话密钥Ks解密密信C2,产生明文短信P2 ;
[0045]6)调用DataResolver模块1-5,把明文短信P2、收信时间T2和发信人号码A存储至短信数据库模块7-2 ;
[0046]7)由短信显示模块8,基于Android应用框架层的Activity类,加载描述短信列表界面的XML文件,生成MessageList模块1_7 ;基于Android应用框架层Activity类,力口载描述短信会话界面的XML文件,生成Sess1nList模块1_8 ;调用MessageList模块1_7,加载短信列表显示的界面;访问短信数据库模块7-2,查询短信数据库中的threads表,把threads表中的“date”、“address”和“ snippet ”字段的值呈现给用户,并记录下“ thread_id”字段的值N ;当用户点击短信列表中的某条短信时,把该条短信“thread_id”的值N传送至短信会话显示模块8-2 ;调用Sess1nList模块1_8,加载短信列表显示的界面;短信会话显示模块8-2接收短信列表显示模块8-1输出的“thread_id”字段的值N ;把短信数据库中会话表中“thread_id”的值为N的行的“type”、“addreSS”、“body”和“date”字段的值呈现给用户。
[0047]图7是本发明的软件结构图,包括JAVA程序部分,外部资源部分和sqlite三部分:
[0048]I) JAVA 程序部分主要包括 Kernel, ContentProvider 和 ResourceManager (R)三部分,以实现本发明的各个模块的程序部分。Kernel是整个JAVA程序的核心,由NConv> MessageReceiver> MessageList、Sess1nList、AESmethocU SMS、Buttonlisten和Cipernotificat1n这九个JAVA类组成:NConv类继承了 Android应用框架层的Activity类,管理短信编辑界面;MessageReceiver类继承了 Android应用框架层的BroadcastReceiver类,在短信接收时用来接收信令信息;MessageList类继承了 Android应用框架层的Activity类,管理短信列表界面;Sess1nlist类继承了 Android应用框架层的Activity类,管理短信会话列表界面;AESmethod类实现AES加解密算法;SMS类实现短信的接收和发送;Buttonlisten类监听点击控件的响应事件;CiperNotificat1n类管理Android通知栏,产生通知提示。ContentProvider类是Kernel用来访问数据库资源的中介。R类是JAVA程序访问外部资源的中介。
[0049]2)外部资源部分主要包括XML文件,PNG文件和JPG文件三部分,为JAVA程序提供外部资源。其中XML文件主要用来描述各种控件默认的形状,名字和布局;PNG文件用来实现控件图片的资源;JPG文件是用来实现各种界面背景图片的资源。
[0050]3) Sqlite包括联系人数据库和短信数据库这两个数据库。联系人数据库是用户预存的联系人的资源;短信数据库存储用户收发的短信。
【权利要求】
1.一种面向Android系统的移动终端短信端到端加密方法,其特征在于:包括用于实现针对Android操作系统移动终端短信端到端一次一密的加密传输的Android类库模块(I)、短信编辑模块(2)、短信加密模块(3)、短信发送模块(4)、短信接收模块(5)、短信解密模块¢)、数据库模块(7)和短信显示模块(8); 其中,所述的短信编辑模块(2)、短信发送模块(4)、短信接收模块(5)、短信显示模块(8)的部分功能需要通过调用Android类库模块(I)实现;短信发送时,由用户向短信编辑模块(2)输入短信,用户输入的短信首先经过短信加密模块(4)加密,再由短信发送模块(5)发送,同时被存入数据库模块(7)最后由短信显示模块(8)呈现给用户;短信接收时,首先短信由短信接收模块(5)接收,再由短信解密模块(6)解密,接着被存入数据库模块(7),最后由短信显示模块(8)呈现给用户; 其中,所述的Android类库模块(I)通过扩展和实例化Android系统应用框架层基础类,供短信编辑模块(2),短信发送模块(4),短信接收模块(5)和短信显示模块(8)调用;所述的短信编辑模块(2)通过创建用户短信编辑界面,提供用户短信输入功能;所述的短信加密模块(3)基于不同的临时会话秘钥,采用AES算法加密用户编辑的短信;所述的短信发送模块(4)把加密后的短信发送到GSM/3G网络中;所述的短信接收模块(5)从GSM/3G网络中接收协议数据单元H)U,从协议数据单元PDU解析出短信并判别短信是明文还是密文;所述的短信解密模块(6)从密文短信中解析出会话秘钥和密文,并基于会话秘钥采用AES算法解密出明文短信;所述的数据库模块(7)用于存储短信和联系人信息,把数据库中的短信和联系人信息封装成URI形式方便其他模块访问;所述的短信显示模块(8)把短信数据库(7)中存储的明文短信呈现给用户。
2.根据权利要求1所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的Android类库模块⑴包括NConv模块(1-1), MessageReceiver模块(1~4), Buttonlisten 模块(1-2), SMS 模块(1-3), DataResolver 模块(1-5),CiperNotificat1n 模块(1-6), MessageList 模块(1-7)和 Sess1nList 模块(1-8)这八个子模块,通过扩展和实例化Android系统应用框架层基础类,供短信编辑模块(2)、短信发送模块(4)、短信接收模块(5)和短信显示模块(7)调用: 所述的NConv模块(1-1)基于Android应用框架层Activity类,加载描述短信编辑界面的XML文件,以实现短信编辑界面; 所述的 MessageReceiver 模块(1-4)基于 Android 应用框架层的 BroadCastReceiver类,添加接收短信的过滤器,以实现短信的接收; 所述的Buttonlisten模块(1-2)基于Android应用框架层的ImageButton类,添加监听器,以监听点击按钮触发的事件; 所述SMS模块(1-3)实例化Android应用框架层SmsManager类,以实现短信的发送,同时实例化Android应用框架层SmsMessage类,以实现短信的解析; 所述的DataResolver模块(1-5)实例化Android应用框架层的ContentResolver类,以访问数据库; 所述的CiperNotificat1n模块(1-6)实例化Android应用框架层的Notificat1n类,以实现接收密信提示界面; 所述的MessageList模块(1_7)基于Android应用框架层的Activity类,加载描述短信列表界面的XML文件,以实现短信列表显示界面; 所述的Sess1nList模块(1_8)基于Android应用框架层Activity类,加载描述短信会话界面的XML文件,以实现短信会话显示界面。
3.根据权利要求1所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的短信编辑模块(2)通过创建用户编辑短信界面,提供用户短信输入功能,用户短信的输入具体包括以下5个步骤: 1)调用NConv模块(1-1),加载编辑短信界面; 2)接收用户编辑的明文短信Pl; 3)调用Buttonlisten模块(1_2),监听查询联系人事件; 4)调用DataResolver模块(1_5),查询联系人数据库中的电话号码B; 5)把明文短信Pl传送至短信加密模块(3),把电话号码B传送至短信发送模块(4)。
4.根据权利要求1所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的短信加密模块(3)包括会话秘钥生成模块(3-1)和AES加密模块(3-2)两个子模块,基于不同的临时会话秘钥,采用AES算法加密用户编辑的短信Pl ; 其中,所述的会话秘钥生成模块(3-1)用于产生会话秘钥Ks,该会话秘钥的产生包括以下两个步骤:首先随机产生随机数Sr,计算Sr的hash值产生128位会话秘钥Ks ;然后把会话秘钥Ks传送至所述的AES加密模块(3-2); 其中,所述的AES加密模块(3-2)其功能在于加密用户编辑的短信Pl和加密会话秘钥Ks, AES加密的具体过程包括以下3个步骤: 1)接收短信编辑模块(I)输出的明文短信P1,以及会话秘钥生成模块(3-1)输出的会话秘钥Ks ; 2)用主秘钥K加密Ks产生传输秘钥KT,用会话秘钥Ks加密明文短信Pl产生密文短?目C ; 3)合并传输秘钥KT和密文短信C产生待发信息Cs,把明文短信Pl和待发信息Cs同时传送至短信发送模块(4)。
5.根据权利要求1所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的短信发送模块(4)用于发送待发信息Cs,发送待发信息Cs的具体过程包括以下3个步骤: 1)接收所述的短信加密模块(4)输出的明文短信Pl和待发信息Cs,接收短信编辑模块⑵输出的电话号码B ; 2)把待发信息Cs发送至GSM/3G网络; 3)记录短信的发送时间Tl,并调用DataResolver(1-5)把明文短信P1、电话号码B和发送时间Tl存储至所述的数据库模块(7)。
6.根据权利要求2所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的短信接收模块(5)包括短信解析模块(5-1)和明密文识别模块(5-2),以实现密信的接收; 其中,所述的短信解析模块(5-1)接收H)U,并从PDU中解析出短信,接收短信的具体过程包括下两个步骤: I)调用MessageReceiver模块(1_4),从GSM/3G网络中接收协议数据单元PDU ; 2)调用SMS模块(1-3),从协议数据单元PDU中解析出收信内容Cr和发信人号码A,并记录收信时间T2 ; 3)把收信内容Cr、收信时间T2和发信人号码A传送至所述的明密文识别模块(5-2); 所述的明密文识别模块(5-2),其功能在于识别明密文,识别明密文的具体过程包括以下3个步骤: 1)接收从所述的短信解析模块(5-1)输出的收信内容Cr、收信时间T2和发信人号码A,检验收信内容Cr中是否有乱码,若收信内容Cr中有乱码则可判定收信内容Cr是密文短?目; 2)若收信内容Cr是密文,则拦截收信内容Cr的正常收信通道,调用CiperNotificat1n模块(1_6),并给出收到密信的通知提示;若收信内容Cr是明文,则让其进入正常收信通道。 3)若收信内容Cr是密文,把收信内容Cr,收信时间Τ2和发信人号码A传送至权利要求I所述的短信解密模块(6)。
7.根据权利要求1说明一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的短信解密模块(6)包括会话秘钥解析模块(6-1)和AES解密模块(6-2),以实现秘钥的解析和密信的解密。 其中,所述的会话秘钥解析模块(6-1),从收信内容从Cr中解析出秘钥,秘钥解析的具体实现包括以下两个步骤:首先,接收明密文识别模块(5-2)输出的收信内容Cr ;然后,从收信内容Cr中解析出传输秘钥KT和密信C2,把传输秘钥KT和密信C2传送至所述的AES解密模块出-2); 其中,所述的AES解密模块(6-2)功能在于解密密信C2,密信解密的具体过程包括以下四个步骤: 1)接收所述的会话秘钥解析模块(6-1)输出的传输秘钥KT和密信C2; 2)接收明密文识别模块(5-2)输出的收信时间T2和发信人号码A; 3)用主秘钥K解密传输秘钥KT恢复会话秘钥Ks,用会话秘钥Ks解密密信C2产生明文短信P2 ; 4)调用所述的DataResolver模块(1_5),把明文短信P2、收信时间T2和发信人号码A存储至数据库模块(7)。
8.根据权利要求1所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的数据库模块(7)包括联系人数据库模块(7-1)和短信数据库模块(7-2),存储联系人和短信信息,并把数据库中的数据封装成URI的形式,方便其他模块访问; 所述的联系人数据库模块(7-1)用于存储联系人信息,并把联系人数据库中的联系人数据封装成URI地址的形式,被短信编辑模块(2)访问; 所述的短信数据库模块(7-2)用于存储短信,并把短信数据库中的短信数据封装成URI地址的形式,被短信发送模块(4),短信解密模块(6)和短信显示模块(8)访问。
9.根据权利要求1所述的一种面向Android系统移动终端短信端到端加密方法,其特征在于:所述的短信显示模块(8)包括短信列表显示模块(8-1)和短信会话显示模块(8-2),以显示短信数据库中所接收和发送的短信; 所述的短信列表显示模块(8-1)以列表的形式显示短信,短信列表显示的具体过程包括以下3个步骤: 1)调用MessageList模块(1_7),加载短信列表显示界面; 2)访问短信数据库模块(7-2),查询短信数据库中的threads表,把threads表中“date”、“addreSS”和“snippet”字段的值呈现给用户,并记录下“thread_id”字段的值N; 3)当用户点击短信列表中某条短信时,把“thread_id”字段的值N传送至所述的短信会话显示模块(8-2); 所述的短信会话显示模块(8-2)以会话的形式显示短信,短信会话形式显示的具体过程包括以下3个步骤: 1)调用所述的Sess1nList模块(1_8)加载短信列表显示界面; 2)接收所述的短信列表显示模块(8-1)输出的“thread_id”字段的值N; 3)访问权利要求8所述的短信数据库模块(7-2),查询短信数据库中的会话表,把“thread_id”的值为N的行的“type”、“addreSS”、“body”和“date”字段的值呈现给用户。 本发明的整体工作流程如下: 发送短信时: 1)由短信编辑模块(2),调用NConv模块(1-1)加载编辑短信界面;接收用户编辑的明文短?目Pl ; 2)调用Buttonlisten模块(1-3)监听查询联系人的事件;调用DataResolver模块(1-5)查询联系人数据库中的电话号码B ; 3)由短信加密模块(3),产生会话秘钥Ks;并由会话秘钥Ks加密明文短信P1,产生待发信息Cs ; 4)由短信发送模块(4),调用SMS模块(1-4)把待发信息Cs发送至GSM/3G网络; 5)记录短信的发送时间Tl,并调用DataResolver(1-7)把明文短信P1、电话号码B和发送时间Tl存储至数据库模块(7); 6)由短信显示模块(8)调用MessageList模块(2_7),加载短信列表显示界面,显示短?目列表;调用Sess1nList模块(2_8),加载短/[目列表显不界面,显不短/[目会话内容; 接收短信时: 1)由短信解析模块(5-1),调用MessageReceiver(1-2),从GSM/3G网络中接收I3DU (协议数据单元);调用SMS模块(1-5)从PDU中解析出收信内容Cr和发信人号码Α,记录收信时间Τ2 ;把收信内容Cr、收信时间Τ2和发信人号码A传送至明密文识别模块(5_2); 2)由明密文识别模块(5-2)接收从短信解析模块(5-1)输出的收信内容Cr、收信时间Τ2和发信人号码Α,检验收信内容Cr中是否有乱码,若收信内容Cr中有乱码,则可判定收信内容Cr是密文短信;若收信内容Cr是密文,则拦截收信内容Cr的正常收信通道;调用CiperNotificat1n模块(1_6)给出收到密信的通知提示;把收信内容Cr,收信时间Τ2和发信人号码A传送至短信解密模块¢);若收信内容Cr为明文,则让其进入正常的收信通道。 3)由短信解密模块(6),接收短信接收模块输出的收信内容Cr和收信时间T2;从&中解析出传输秘钥KT和密文C2,并用主密钥K解密传输秘钥KT恢复会话秘钥Ks,用会话秘钥Ks解密密文C2产生明文P2 ; 4)调用DataResolver模块(1_7)把明文短信P2、收信时间T2和发信人号码A存储至权利要求1所述的数据库模块(X) 5)调用MessageList模块(2_7)加载短信列表显示界面,显示短信列表;调用Sess1nList模块(2_8)加载短彳目列表显不界面,显不短彳目会话内容。
【文档编号】H04W4/14GK104202736SQ201410426292
【公开日】2014年12月10日 申请日期:2014年8月26日 优先权日:2014年8月26日
【发明者】蒋睿, 周磊, 刘梦雅, 牟学凯 申请人:东南大学常州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1