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

文档序号:9828605阅读:来源:国知局
辑模块编辑的联系人文本和本机号码获取模块得到的本机号码进行Hash运算生成短信认证码;所述的1S认证码验证类模块通过比较收信认证码和实际认证码是否一致,来决定短信是否通过认证。
[0022]所述的加解密处理模块提供数据加密和解密功能,包括1S编解码算法类模块和1S数据加解密控制类模块两个子模块;所述的1S编解码算法类模块对原始数据进行编码或者对解密后的数据进行解码;所述的1S数据加解密控制类模块调用AES算法对编码后的数据进行加密或者对密文数据进行解密,并控制短信加密/解密进程。
[0023]所述的加密短信收发模块通过调用系统短信收发API将加密短信发送到GSM/3G/4G网络中,或者从GSM/3G/4G网络中接收短信,包括1S加密信息组合类模块、1S加密信息分离类模块、1S加密短信收发类模块、发送模块和接收模块五个子模块;所述的1S加密信息组合类模块按顺序组合加解密处理模块加密后的传输秘钥、传输认证码和短信密文,得到待发短信;所述的1S加密信息分离类模块对加密短信中的传输秘钥、传输认证码和短信密文进行分离;所述的1S加密短信收发类模块对加密短信的标志位进行处理,用于发送短信过程中为加密短信增加标志位以及接收短信过程中通过判断短信是否有标志位来判断短信是否为加密短信;所述的发送模块调用1S系统短信发送API将加密短信发送到GSM/3G/4G网络中;所述的接收模块调用1S截获系统从GSM/3G/4G网络中接收的短信。
[0024]所述的数据库模块用于短信和联系人的保存和读取,包括ContactEntity联系人存取模块和Message Entity短信存取模块两个子模块;所述的Contact Entity联系人存取模块实现加密短信联系人的保存和读取;所述的Message Entity短信存取模块实现加密短信的保存和读取。
[0025]采用上述技术方案后,本发明具有以下积极的效果:
[0026](I)本发明实现的是一种基于1S系统的移动终端端到端短信加密传输方法。在不需要扩展硬件支持,也不需要引进第三方秘钥管理中心的基础上,实现了一次一密和发信人/收信人身份认证功能,保证了短信的加密传输,并且提供了友好的用户界面。该方法安全、便捷,可破解难度大。
【附图说明】
[0027]为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中
[0028]图1为本发明的应用场景图;
[0029]图2是本发明的整体原理结构图;
[0030]图3是本发明的1S系统框架调用图;
[0031]图4是本发明的1S视图模型图;
[0032]图5是本发明的加密原理图;
[0033]图6是本发明的解密原理图;
[0034]图7是本发明的认证码原理图;
[0035]图8是本发明短信发送流程图;
[0036]图9是本发明短信接收流程图。
【具体实施方式】
[0037](实施例1)
[0038]本发明包括用于实现对基于1S系统的移动终端收发短信进行加密保护的短信编辑/显示模块1、秘钥管理模块2、认证码模块3、加解密处理模块4、加密短信收发模块5和数据库模块6;所述短信编辑/显示模块I与加解密处理模块4双向通信,短信编辑/显示模块I的输出端接认证码模块3的输入端;所述秘钥管理模块2的输出端接加解密处理模块4的输入端;所述认证码模块3与加解密处理模块4双向通信;所述加解密处理模块4与加密短信收发模块5双向通信;所述加密短信收发模块5的输出端接数据库模块6的输入端;所述数据库模块6与短信编辑/显示模块I双向通信。
[0039]所述的短信编辑/显示模块I提供基于1S系统的短信编辑和显示视图,用以编辑原始短信和显示解密后的短信,包括1S EditViewContro I Ier编辑模块1-UP1SSess1nViewController显示模块1-2两个子模块;所述的秘钥管理模块2管理主密钥并生成会话秘钥,为加解密处理模块4提供加密/解密秘钥,包括随机数生成模块2-1、主密钥存储模块2-2和1S会话秘钥生成类模块2-3三个子模块;所述的认证码模块3为短信提供发信人/收信人身份认证功能,包括本机号码获取模块3-1、1S认证码生成类模块3-2和1S认证码验证类模块3-3三个子模块;所述的加解密处理模块4实现对短信的加密和解密功能,包括1S编解码算法类模块4-1和1S数据加解密控制类模块4-2两个子模块;所述的加密短信收发模块5从GSM/3G/4G网络中接收加密短信,或者将加密短信发送到GSM/3G/4G网络中,包括1S加密信息组合类模块5-1、1S加密信息分离类模块5-2、1S加密短信收发类模块5-3、发送模块5-4和接收模块5-5五个子模块;所述的数据库模块6用于短信和联系人信息的保存和读取,包括Contact Entity联系人存取模块6-1和Message Entity短信存取模块6-2两个子模块。
[0040]所述的短信编辑/显示模块I通过调用1S系统中的UIKit框架实现1S应用视图,包括1S EditViewControl Ier编辑模块1-1^P1S Sess1nViewControIIer显不模块 1-2两个子模块;
[0041 ]所述的1S EditViewController编辑模块 1-1 定义了一个EditViewController类,通过组合UIKit框架中的UITextField控件和UIButton控件提供编辑视图,包括添加系统联系人按钮、联系人编辑区域、短信编辑区域和加密发送按钮四个控件;添加联系人按钮控件调用系统AddressBook UI视图显示系统联系人,当特定联系人被选中后返回到编辑视图;联系人编辑区域控件显示添加联系人按钮控件添加的联系人号码;短信编辑区域控件用以编辑原始短信;加密发送按钮控件响应发送动作,将联系人编辑区域控件的联系人号码输入到认证码生成模块3-1,将短信编辑区域控件的明文短信输入到加解密处理模块4;
[0042]所述的1S Sess1nViewController 显不模块 1-2 定义了一 个Sess1nViewContro I Ier类,通过组合 UIKit 框架中的UI Tab IeView 控件和 UIBut ton 控件提供显示视图,包括短信显示区域和隐藏/显示按钮两个控件;显示区域控件显示短信的明文或密文、发信人号码和收信时间;隐藏/显示按钮控件用以隐藏或者显示短信,当短信为显示状态时,显示区域显示短信明文,按钮标题为“隐藏”,当短信为隐藏状态时,显示区域显示短信密文,按钮标题为“显示”。
[0043]所述的秘钥管理模块2管理主密钥并生成会话秘钥,为加解密处理模块4提供加密/解密秘钥,包括随机数生成模块2-1、主密钥存储模块2-2和1S会话秘钥生成类模块2-3三个子模块;所述的随机数生成模块2-1调用随机数生成函数,生成NSData类型的128位随机数;所述的主密钥存储模块2-2保存NSData类型的128位主密钥;所述的1S会话秘钥生成类模块2-3基于1S系统定义一个会话秘钥生成类,生成短信加密过程的会话秘钥,其具体实现过程如下:接收随机数生成模块2-1产生的128随机数和主密钥存储模块2-2保存的秘钥,并将两者进行异或运算得到NSData类型的128位会话秘钥,最后将主密钥和会话秘钥输入到加解密处理模块4。
[0044]所述的认证码模块3为短信的收发提供认证功能,包括本机号码获取模块3_l、i0S认证码生成类模块3-2和1S认证码验证类模块3-3三个子模块;所述的本机号码获取模块3-1 通过调用 1S系统的CoreTelephoney框架中的CTSett ingCopyMyPhoneNumber接口获取本机号码,并将本机号码输入到1S认证码生成类模块3-2;所述的1S认证码生成类模块3-2基于1S系统定义一个认证码生成类,将发信人号码和收信人号码进行Hash运算得到认证码,用于在短信发送过程中生成短信认证码和短信接收过程中生成验证认证码;所述的1S认证码验证类模块3-3用于收信过程中验证短信认证码是否有效,包括接收短信认证码、获得验证认证码、判断短信认证码是否有效三个步骤,其具体实现过程如下:
[0045]I)接收短信认证码:在短信接收过程中,获得需要验证的短信认证码;
[0046]2)获得验证认证码:调用1S认证码生成类模块3-2生成验证认证码;
[0047]3)比较I中的短信认证码和2中的验证认证码是否一致,若一致,通过验证;反之,不通过验证。
[0048]所述的加解密处理模块4提供数据加密/解密功能,包括1S编解码算法类模块4-1和1S数据加解密控制类模块4-2两个子模块实现;所述的1S编解码算法类模块4-1基于1S系统定义一个base64编解码类,为需要加密的数据进行base64编码或者为解密后的数据进行base64解码;所述的1S数据加解密控制类模块4-2基于1S系统定义一个数据加解密控制类,采用AES算法对编码后的数据进行加密或者对需要解密的数据进行解密,并且控制短信加密解密进程;其具体实现过程如下:
[0049]I)短信加密过程:1OS数据加解密控制类模块4-2接收1S会话秘钥生成类模块2-3输入的主密钥和会话秘钥,接收1S EditViewController编辑模块1-1输入的原始短信,接收1S认证码生成类模块3-2输入的短信认证码;首先调用1S编解码算法类模块4-1对原始短信、短信认证码和会话秘钥分别进行base64编码;然后采用AES加密算法,用会话秘钥作为加密秘钥对编码后的原始短信和认证码进行AES加密,得到密文短信和传输认证码,用主密钥作为加密秘钥对编码后的会话秘钥进行A
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1