技术领域 本发明涉及通信领域,尤其涉及一种短信加密传输方法。 背景技术 移动终端的短信业务,作为一种快捷、方便、经济的通讯方式,已经被 人们广泛使用。目前短信的内容都是通过明文进行传输的,这样就很容易在 无线传输过程中被监听。另外,短信的内容对运营商而言也是清清楚楚的, 因此,现有的短信通讯方式,从保密这一方面来说,是十分不安全的。 现在的加密技术就是适应了网络等通讯传输的安全需要而产生的。以下 简单介绍几种较为成熟的加密技术及其算法特点: (一)对称密码算法 对称密码算法,又称单钥密码算法,是指加密密钥和解密密钥为同一密 钥的密码算法。因此,信息的发送者和信息的接收者在进行信息的传输与处 理时,必须共同持有该密码(称为对称密码)。在对称密钥密码算法中,加 密运算与解密运算使用同样的密钥,因此对称密码算法的安全性依赖于所用 的密钥。通常,使用的加密算法比较简便高效,如果密钥较长,那么其破译 也较为困难。由于系统的保密性主要取决于密钥的安全性,所以,在公开的 计算机网络上安全地传送和保管密钥是一个严峻的问题。 对称密码算法最典型的是DES(Data Encryption Standard,数据加密标 准)算法,它是一个分组加密算法,它以64 bit位(8字节)为分组对数据 加密,其中有效密钥长度为56 bit,奇偶校验占8 bit。64位一组的明文从算 法的一端输入,64位的密文从另一端输出。 (二)公钥密码算法 公钥密码算法是指加密密钥和解密密钥为两个不同密钥的密码算法。公 钥密码算法不同于对称密码算法,它使用了一对密钥:一个用于加密信息, 另一个则用于解密信息,通信双方无需事先交换密钥就可进行保密通信。其 中加密密钥不同于解密密钥,加密密钥公之于众,谁都可以用;解密密钥只 有解密人自己知道。这两个密钥之间存在着相互依存关系:即用其中任一个 密钥加密的信息只能用另一个密钥进行解密。 公钥密码算法中的密钥依据性质划分,可分为公钥和私钥两种。用户产 生一对密钥,将其中的一个向外界公开,称为公钥;另一个则自己保留,称 为私钥。凡是获悉用户公钥的任何人若想向该用户传送加密信息,只需用该 用户提供的公钥对信息加密,然后将获得的信息密文传送给用户便可。因为 公钥与私钥之间存在的依存关系,在用户安全保存私钥的前提下,只有用户 本身才能解密该信息,任何未获用户授权的其他使用者,包括信息的发送者 都无法将此信息解密。 若以公钥作为加密密钥,以用户专用密钥(私钥)作为解密密钥,则可 实现多个用户加密的信息只能由一个用户解读;反之,以用户私钥作为加密 密钥而以公钥作为解密密钥,则可实现由一个用户加密的信息多个用户可以 解读。前一种技术典型地可用于数字加密,后一种技术典型地可用于数字签 名。 RSA公钥密码算法是一种公认十分安全的公钥密码算法,它的命名取 自三个创始人:Rivest、Shamir和Adelman。RSA公钥密码算法是目前网络 上进行保密通信和数字签名的最有效的安全算法。RSA算法的安全性基于 数论中大素数分解的困难性,所以RSA算法采用足够大的整数来实现,因 子分解越困难,密码就越难以破译,加密强度就越高。 为了实现短信业务的保密传输,可以考虑在短信传输过程中引入加密技 术。 发明内容 本发明所要解决的技术问题是在于需要提供一种短信加密传输方法,旨 在利用加密技术实现短信的加密通讯。 为了解决上述技术问题,本发明提供了一种短信加密传输方法,包括: 发起方根据加密算法和加密密钥,将短信内容加密获得加密内容短信; 所述发起方将所述加密内容短信发送给接收方; 所述接收方根据解密算法和解密密钥对收到的所述加密内容短信进行 解密,获得短信内容。 根据上述的短信加密传输方法,所述发起方和接收方可以采用对称密码 算法传输所述短信。 进一步地,所述发起方将短信内容加密获得加密内容短信步骤之前,更 可以包括所述发起方与所述接收方协商加密密钥的步骤,所述协商加密密钥 的步骤可以包括: 所述发起方生成加密密钥,利用公钥密码算法和所述接收方公开的公有 密钥对所述加密密钥进行加密,生成密文; 所述发起方通过加密密钥短信将所述密文发送给所述接收方; 所述接收方利用所述公钥密码算法和与所述公有密钥对应的私有密钥 对所述密文进行解密,获得的所述加密密钥,将所述加密密钥作为所述对称 密码算法的解密密钥。 更进一步地,所述接收方获得所述加密密钥后,可以进一步将所述发起 方终端号码与所述加密密钥对应地保存在本机系统中;以及,所述加密密钥 可以包括随机生成的字符串;而且,所述加密密钥短信和所述加密内容短信 的正文头部可以为加密短信标识,所述接收方通过所述加密短信标识不同的 值,来区分所述加密密钥短信和所述加密内容短信,其中,所述加密短信标 识可以为不可见字符。 另外,所述公有密钥与私有密钥,包括可以利用公钥密码算法生成而获 得,或者可以通过证书授证机构分配而获得。 本发明提供了一种将短信加密后再进行传输的方法,保证了短信内容在 传输过程中的安全性,可广泛应用于具有保密传输需求的各种场景,具有巨 大的应用价值。 附图说明 图1是发起方和接收方进行加密密钥的协商流程。 图2是发起方向接收方发送加密内容短信的发送流程。 图3是接收方接收发起方所发短信的接收流程。 具体实施方式 以下将配合附图及实施例来详细说明本发明的实施方式,借此对本发明 如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解 并据以实施。 本发明的核心思路是,短信发起方将短信加密后发送到接收方,接收方 接收到短信之后,接收方用户根据提示输入解密信息,接收方终端根据用户 输入的解密信息对短信进行解密,获得短信内容。 基于上述本发明的核心思路,本发明的一个实施例中综合利用对称密码 算法和公钥密码算法来实现短信加密传输,首先对需要进行短信加密通讯的 移动终端都利用某种公钥密码算法R,获得(申请或者生成)一对公有密钥 (公钥)与私有密钥(私钥),并分别将各自的公钥在一定范围内公开。假 如移动终端A作为短信的发起方,想与作为短信接收方的移动终端B进行 加密短信通讯,则移动终端A首先产生一段密钥K(可以是随机生成的一 段字符串),然后利用公钥密码算法R及移动终端B公开的公有密钥(即 加密密钥)对密钥K进行加密,再将加密后的密文(Km)通过短信发送给 移动终端B;移动终端B收到短信后,利用公钥密码算法R及移动终端B 的私有密钥(解密密钥)对密文Km进行解密,解密后就可以得到密钥K; 后续移动终端A、B就可以采用某种对称密码算法及密钥K进行短信的加密 通讯了。 从上述采用公钥密码算法来实现短信加密传输过程可以看出,本实施例 有两大步骤:一是利用短信实现加密密钥的协商,二是实现短信内容的加密 传输,以下对这两个步骤进行详细说明。 (一)利用短信,实现发起方和接收方加密密钥的协商 (1)获得一对公有密钥与私有密钥 利用某种公钥密码算法R(比如RSA算法),各移动终端分别生成一 对公有密钥与私有密钥。也可以通过CA(Certificate Authority,证书授证) 机构(又称为证书授证中心)为每个用户分配一对公有密钥与私有密钥。将 获得的公有密钥及私有密钥保存到移动终端文件系统中。 (2)公开自己的公有密钥并获得对方的公有密钥 发起方及接收方,均利用网络、邮件、MMS(多媒体消息服务)等方 式将各自的公有密钥公布(发送)给对方。这样,无论发起方还是接收方, 均获得了对方的公有密钥。获得了对方的公有密钥之后,无论是发起方还是 接收方,都将获得的公有密钥与对方的终端号码关联起来,并保存到文件系 统中。以上发起方或接收方公布或者获得公有密钥的方式,不以上述列举的 网络、邮件及MMS方式为限,其他实现方式也应包含在内。 对于一个通信网络而言,各移动终端所公布的公有密钥都是互不相同 的。如果一个终端获得了其他多个终端所公布的公有密钥,那么所获得的这 些公有密钥之间,不会互相混淆。而且,这些公有密钥与各自的发布者,均 有一个一一对应的关联关系,表1示出了某终端所保存的这种关联关系。 表1、移动终端号码与公有密钥的对应关系 移动终端号码 公有密钥 号码1 公有密钥1 号码2 公有密钥2 号码3 公有密钥3 ...... ...... (3)加密密钥的协商 如图1所示,发起方和接收方进行加密密钥的协商,包括如下步骤: 步骤110,发起方生成一段密钥K,比如可以是随机生成的一段字符串, 当然,也可以是其他内容。考虑到移动终端短信长度不能超过140个字符, 以及下面所要提到的密钥传输中的头部信息长度,密钥K的长度较优地小 于135个字符;但为了提高密码的破译难度,密码K的长度较优地大于100 个字符。 步骤120,发起方将公钥密码算法R作为加密算法,将接收方所公开的 公有密钥(即加密密钥)对密钥K进行加密,生成密文Km。 步骤130,发起方将密文Km通过加密密钥短信发送给接收方。由于用 来传输密钥的加密密钥短信及用来传输内容的加密内容短信,与普通短信所 传送的内容都是通过短信的数据区(即短信正文)进行传输的,为了将加密 密钥短信、加密内容短信区别于普通短信,所以在短信正文头部用特殊的不 可见字符(普通短信都是可见字符)作为加密短信标识,来表明本短信传送 的是加密后的密钥或加密后的内容密文。例如:可以用不可见字符0xFFFF 表示后面数据是加密后的密钥,0xFFFE表示后面数据是加密后的内容密文。 步骤140,接收方收到短信后,根据短信中的加密短信标识(0xFFFF) 即可判断出本短信为加密密钥短信,其数据内容为加密密钥。利用公钥密码 算法R及移动终端的私有密钥(解密密钥)对密文Km进行解密,解密后就 可以得到密钥K,将来电号码也即发起方终端号码与密钥K一一对应地保 存在本机文件系统中,如表1所示。在密码未修改之前,发起方和接收方之 间的加密内容短信就以该密钥K作为加密、解密密钥。终端解密获得密钥K 之后,提示用户已经收到发起方的短信加密(解密)密钥。 对于接收方收到发起方发送的普通短信,接收方直接转普通短信处理流 程进行后续处理即可。 表2、接收方保存的发起方终端号码与加密密钥的对应关系 发起方终端号码 对称加密密钥 号码1 密钥1 号码2 密钥2 号码3 密钥3 ...... ...... 这样,用户就可以方便地发送加密密钥短信来实现发起方和接收方之间 对称加密密码的协商(改变)。由于密钥在发送过程中采用了公有密码算法 进行加密,保证了密钥在传输过程中是高度安全的。 发起方与接收方完成加密密钥的协商之后,就可以实现短信内容的加密 传输了。图2示出了发起方向接收方发送加密内容短信的传输流程示意,包 括如下步骤: 步骤210,发起方对短信内容进行编辑,编辑完成之后确定短信的接收 方并选择发送短信; 步骤220,发起方移动终端判断其本身与短信的接收方之间是否协商好 加密密钥,如果没有协商好则采用普通短信,将短信内容发送给接收方移动 终端(步骤221),否则进行步骤230; 步骤230,发起方移动终端向用户显示提示信息,向用户提示是选择普 通短信还是加密内容短信进行短信传输,如果用户选择采用普通短信进行传 输,则转普通短信发送流程(步骤221),否则进行步骤240; 步骤240,发起方移动终端用对称密码算法及接收方终端号码对应的密 钥,将短信内容进行加密,并将加密后的密文及加密短信标识等组成短信正 文后,发送给接收方移动终端。 可选的,发起方移动终端可以设置多种对称密码算法,发送短信的时候 选取(比如随机选取)其中一种算法,将该算法的标识填到加密短信标识 (0xFFFE)之后,且在加密后的短信密文之前,如表3所示,并利用该算 法将短信内容加密后填写到加密内容短信的数据区域。 表3、含有加密算法标识的短信正文 0xFFFE 算法标识 短信密文 短信正文中的加密短信标识和算法标识,一起组成为加密内容短信头 部,短信密文为数据区。 图3示出了接收方接收发起方发送的短信的流程,包括步骤如下: 步骤310,接收方移动终端收到发起方移动终端发送的短信,分析短信 头部字节,判断是否为普通短信(步骤311),如果是则进行普通短信的接 收流程(步骤312),否则转步骤320; 步骤320,接收方移动终端进一步短分析信头部字节,判断该短信是否 为加密密钥短信,如果是则利用公有密码算法及本机私有密钥解密短信密 文,将解密获得的密钥与发起方终端号码一一对应地保存到文件系统中(步 骤321),并提示终端用户收到发起方所发送的短信加密(解密)密钥;否 则该短信即为加密内容短信,转步骤330; 步骤330,接收方移动终端查找与发起方所协商的解密密钥,如果找到 解密密钥则用对称密码算法对密文进行解密,将解密后的明文显示给用户 (步骤331);如果没有查找到与发起方所协商的解密密钥,则向用户提示 错误信息(步骤332)。 可选的,移动终端可以设置多种对称密码算法,通过分析加密内容短信 头部信息中对称密码算法的标识选取相应的解密算法。 为了保证信息在移动终端中的安全性,本发明所涉及的所有需要保存的 重要数据都通过加密方式保存在文件系统中的,避免当移动终端丢失的时候 这些重要数据信息的泄漏。 根据上述内容,可以看出本发明的加密短信通讯有如下优点: (1)加密短信通讯的双方可以在事先未商量密码的情况下,利用公有 密码算法实现密钥的安全协商; (2)用户之间可以随时、安全地更改加密密钥; (3)采用加密短信传输短信内容,保证了短信内容传输过程的安全性; (4)利用公有密码算法实现了密钥的安全协商,又用对称密码算法对 普通短信进行加密,保证了在移动终端上的短信的加密效率; 综上所述,本发明可以广泛应用于具有保密需求的公司、政府部门、军 队等单位,具有巨大的应用价值。 虽然本发明所揭露的实施方式如上,但所述的内容并非用以限定本发 明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神 和范围的前提下,可以在实施的形式上及细节上作些许的更动与润饰。本发 明的专利保护范围,仍须以所附的权利要求书所界定者为准。