基于iOS系统移动终端的短信加密方法_3

文档序号:9828605阅读:来源:国知局
ES加密得到传输秘钥;最后将得到的密文短信、传输认证码和传输秘钥输入到1S加密信息组合类模块5-1;
[0050]2)短信解密过程:i0S数据加解密控制类模块4-2接收传输秘钥、传输认证码和短信密文并从主密钥存储模块2-2获得主密钥;首先采用AES解密算法,用主密钥作为解密秘钥解密传输秘钥,调用1S编解码算法类模块4-1对解密后的传输秘钥进行base64解码,得到会话秘钥;然后用会话秘钥对传输认证码进行解密,调用1S编解码算法类模块4-1对解密后的传输认证码进行base64解码得到短信认证码;接着通过1S认证码类模块3-3验证该短信认证码,如果不通过验证,则不对密文短信进行解密处理,如果通过验证,1S数据加解密控制类模块4-2采用AES解密算法,用会话秘钥作为解密秘钥对密文短信进行解密,调用1S编解码算法类模块4-1对解密后的短信密文进行base64解码得到短信明文,并将短信明文输入到 1S Sess1nViewControI Ier显不模块1-2 ο
[0051 ]所述的加密短信收发模块5从GSM/3G/4G网络中发送/接收加密短信,包括1S加密信息组合类模块5-l、i0S加密信息分离类模块5-2、i0S加密短信收发类模块5-3、发送模块5-4和接收模块5-5五个子模块;所述的1S加密信息组合类模块5-1基于1S系统定义一个加密信息组合类,通过字符连接的方式将加解密处理模块4输入的信息按传输秘钥、传输认证码和短信密文的顺序组合起来形成待发短信,并将待发短信输入到1S加密短信收发类模块5-3;所述的1S加密信息分离类模块5-2基于1S系统定义一个加密信息分离类,将接收到的加密短信按秘钥位数、认证码位数分别提取出传输秘钥和传输认证码,加密短信中剩余的字符为短信密文,将得到的传输秘钥、传输认证码和短信密文输入到加解密处理模块4;所述的1S加密短信收发类模块5-3基于1S系统定义一个加密信息收发类,对加密短信的标志位进行处理,包括以下两个功能:I)短信发送时,在待发短信的起始位置添加一个标志位形成加密短信,2)短信接收时,通过判断短信是否有标志位来判断短信是否为加密短信,当短信为加密短信时,将去掉标志位的加密短信输入到1S加密信息分离类模块5-2,若短信不为加密短信,则不进行后续的处理;所述的发送模块5-4调用1S系统UIKit框架中的MessageUI接口,将密文短信发送到GSM/3G/4G网络中;所述的接收模块5-5当系统接收到短信时,调用1S系统CoreTeIephoney框架中的sharedMessageCenter接口,获取系统短信并将系统短信输入到1S加密短信收发类模块5-3。
[0052]所述的数据库模块6调用1S系统CoreData框架创建一个数据库,用于存取短信和联系人信息;包括Contact Entity联系人存取模块6-1和Message Entity短信存取模块6-2两个子模块;所述的Contact Entity联系人存取模块6_1通过Core Data框架创建Contact Entity来保存系统联系人和加密短信联系人,用于1S EditViewController编辑模块1-1编辑联系人时调用;所述的Message Entity短信存取模块6_2通过Core Data框架创建Message Entity来保存加密短信,包括保存短信和读取短信两个过程,其具体实现过程如下:
[0053]保存短信过程:
[0054]I)每当1S EditViewController编辑模块1-1编辑好短信和联系人后,获取当前系统时间,创建一条记录,将联系人信息、原始短信以及当前系统时间保存;
[0055]2)发送模块5-4短信发送成功后,将加密短信保存在I中新建的记录中;
[0056]3)每当接收模块5-5收到加密短信时,获取当前系统时间,创建一条记录,将联系人信息、加密短信以及当前系统时间保存;
[0057]4)1S Sess1nViewControIler显示模块1-2接收到解密后的明文短信时,将明文短信保存在3中新建的记录中;
[0058]读取短信过程:通过1S Sess1nViewControlIer显示模块1-2提供的显示视图中的显示/隐藏按钮读取数据库中的原始/加密短信;
[0059]本发明所实现的加密短信发送和接收的总体工作流程如下:
[0060]发送短信过程包括短信编辑、秘钥生成、认证码生成、信息加密、加密短信发送、发送短信保存六个步骤,具体实现过程如下:
[0061 ] D短信编辑:i0S EditViewController编辑模块1-1加载短信编辑视图,供用户编辑短信内容和联系人信息,1S EditViewControlIer编辑模块1-1通过监听编辑视图中的“发送”按钮,将编辑好的原始短信内容输入到加解密处理模块4,将联系人号码输入到1S认证码生成类模块3-2;
[0062]2)秘钥生成:1S会话秘钥生成类模块2-1生成本次通信的会话秘钥,并将生成的会话秘钥和主密钥存储模块保存的主密钥输入到加解密处理模块4;
[0063]3)认证码生成:1S认证码生成类模块3-2生成本次通信的认证码,并将生成的认证码输入到加解密处理模块4;
[0064]4)信息加密:1OS加解密处理模块4利用3产生的会话秘钥加密2中编辑的原始短信和4中生成的认证码,得到短信密文和传输认证码,并用主密钥加密会话秘钥得到传输秘钥;
[0065]5)加密短信发送:1OS加密信息组合类模块5-1将5中生成的传输秘钥,传输认证码和短信密文组合起来形成待发短信,1S加密短信收发类模块5-3为待发短信增加标志位得到加密短信,发送模块5-4调用系统短信发送API将加密短信发送到GSM/3G/4G网络中;
[0066]6)发送短信保存= Message Entity短信存取模块6_2将编辑的原始短信、发出的加密短信、发送时间和接收人号码保存;
[0067]接收短信过程包括接收加密短信、解密传输秘钥、验证短信认证码、解密短信密文、显示短信明文、接收短信保存六个步骤,具体实现过程如下:
[0068]I)接收加密短信:接收模块5-5获取系统从GSM/3G/4G网络中收到的短信,通过1S加密短信收发类模块5-3判断该条短信是否有加密标志位来判断短信是否为加密短信,若短信为加密短信,则通过1S加密信息分离类模块5-2分离出加密短信中的传输秘钥、传输认证码和短信密文;
[0069]2)解密传输秘钥:1S数据加解密控制类模块4-2获取主密钥存储模块2-2中保存的主密钥,用主密钥对I中的传输秘钥进行解密,得到会话秘钥;
[0070]3)验证短信认证码:1OS数据加解密控制类模块4-2用2中得到的会话秘钥对I中的传输认证码进行解密得到短信认证码,1S认证码验证类模块3-3验证该短信认证码是否通过验证;
[0071]4)解密短信密文:若3中的短信认证码通过验证,1S数据加解密控制类模块4-2用2中得到的会话秘钥对I中的短信密文进行解密得到短信明文;
[0072]5)显示短信明文:1S Sess1nViewController显示模块1-2显示4中得到的短信明文;
[0073]6)接收短信保存= Message Entity短信存取模块6_2将接收的加密短信、发信人号码、收信时间、解密后的明文短信保存。
[0074]图1所示,为本发明的应用场景,本发明适用于能通过GSM/3G/4G网络发送短信的1S系统移动终端。当双方需要进行加密短信通信时,在发送端对短信加密并添加认证码后发送,在接收端认证通过后解密短信,完成通信。
[0075]图2所示,为本发明的整体原理结构图,本发明包括以下六个模块:短信编辑/显示模块1、秘钥管理模块2、认证码模块3、加解密处理模块4、加密短信收发模块5和数据库模块
6。所述的短信编辑/显示模块I用于编辑原始短信和显示解密后的明文短信。所述的秘钥管理模块2管理主密钥并生成会话秘钥,为加解密处理模块4提供加密/解密秘钥。所述的认证码模块3为加密短信实现认证功能。所述的加解密处理模块4实现数据加密和解密功能。所述的加密短信收发模块5将加密短信发送到GSM/3G/4G网络中,或者从GSM/3G/4G网络中接收加密短信。所述的数据库模块6实现加密短信联系人信息和加密短信的读取。
[0076]图3所示,为本发明的1S系统框架调用图,本发明调用了1S系统开发中的Foundat1n框架、Core Data框架、CoreTeIephoney框架和UIKit框架。Foundat1n框架为秘钥管理模块2、认证码模块3、加解密处理模块4提供对NSData、NSString类型数据的管理;Core Data框架用于数据库模块6创建数据库,并通过Entity创建相应的表;CoreTe Iephoney框架提供 CTSett ingCopyMyPhoneNumber 和 sharedMessageCenter两个接口,CTSettingCopyMyPhoneNumber接口用于本机号码获取模块获取本手机的电话号码,sharedMessageCenter接口用于接收模块获取系统接收到的短信;UIKit框架提供用于短信编辑/显示模块I实现1S应用视图,其中的UITextField提供编辑视图中的短信编辑和联系人编辑的区域,UI Tab I eVi ew提供显示视图中的列表视图,UI But ton提供编辑视图中的“添加联系人”按钮、“发送”按钮以及显示视图中的“显示/隐藏”按钮,MessageUI提供短信发送界面,Address Book UI提供添加联系人界面。
[0077]图4所示,为本发明的1S视图模型图,本发明包含编辑视图
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1