一种写入和读取电话卡联系人信息的方法、系统、终端与流程

文档序号:12693626阅读:413来源:国知局
一种写入和读取电话卡联系人信息的方法、系统、终端与流程

本发明涉及终端领域,特别是涉及一种写入和读取电话卡联系人信息的方法、系统、终端。



背景技术:

目前,电话卡的容量相比之前扩大很多,可以满足普通用户的需求。将联系人信息保存在电话卡中时,当用户更换手机时不需要重新导入联系人信息,因此在手机用户群体中部分人群首选电话卡作为保存联系人信息的方式。

现在人们对信息安全越来越重视,而针对电话卡的联系人信息安全机制并未同步跟进。为了防止电话卡内联系人信息泄漏,目前常用的技术有:针对电话卡入口的加密以及号码隐藏技术、针对手机上电话本数据库的加密技术。上述两种技术都存在以下缺陷:不能对电话卡联系人信息进行加密,不能防止电话卡访问过程的各阶段的数据泄漏。



技术实现要素:

本发明主要解决的技术问题是提供一种写入和读取电话卡联系人信息的方法、系统、终端,能够提高电话卡联系人信息的安全性。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种写入电话卡联系人信息的方法,包括:获取待写入的第一明文的所述联系人信息中第一记录数据;利用加密算法将所述第一记录数据加密,进而形成第一密文以写入所述电话卡;其中,所述加密过程在系统的底层模块中进行。

其中,所述获取待写入的第一明文的所述联系人信息中第一记录数据包括:所述第一明文的所述联系人信息包括记录数据和控制数据,所述底层模块逐一判断所述联系人信息中的数据是否为记录数据集合中的数据,进而获得待加密的所述第一记录数据。

其中,所述底层模块包括Android底层模块;所述利用加密算法将所述第一记录数据加密,进而形成第一密文以写入所述电话卡包括:所述Android底层模块将所述第一记录数据加密后形成的所述第一密文,分别经RIL模块、Modem模块后写入到所述电话卡。

其中,所述加密算法所形成的第一密文数据与所述第一明文数据的长度相同。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种读取电话卡联系人信息的方法,包括:获取所述电话卡内待读取的第二密文的所述联系人信息中加密后的第二记录数据;利用解密算法将加密后的所述第二记录数据解密,进而形成第二明文以供读取;其中,所述解密过程在系统的底层模块中进行。

其中,所述获取所述电话卡内待读取的第二密文的所述联系人信息中加密后的第二记录数据包括:所述第二密文的所述联系人信息包括控制数据和记录数据,所述底层模块逐一判断所述联系人信息中的数据是否为记录数据集合中的数据,进而获得待解密的所述第二记录数据。

其中,所述底层模块包括Android底层模块;所述获取所述电话卡内待读取的第二密文的所述联系人信息中加密后的第二记录数据之前包括:所述第二密文分别经Modem模块、RIL模块至所述Android底层模块。

其中,所述解密算法所形成的所述第二明文数据和所述第二密文数据的长度相同。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种写入和读取电话卡联系人信息的系统,包括底层模块,所述底层模块包括获取子模块和计算子模块,所述获取子模块用于获取待写入的第一明文的所述联系人信息中第一记录数据;所述计算子模块用于利用加密算法将所述第一记录数据加密,进而形成第一密文以写入;或所述获取子模块用于获取待读取的第二密文的所述联系人信息中加密后的第二记录数据;所述计算子模块利用解密算法将加密后的所述第二记录数据解密,进而形成第二明文以供读取。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种终端,包括存储器;卡接口电路;处理器,耦接所述存储器和所述卡接口电路,运行系统;所述处理器获取待写入的第一明文的所述联系人信息中第一记录数据,存入所述存储器,且利用加密算法将所述第一记录数据加密,进而形成第一密文,通过所述卡接口电路写入电话卡;或所述处理器通过所述卡接口电路获取所述电话卡内待读取的第二密文的所述联系人信息中加密后的第二记录数据,存入所述存储器,利用解密算法将加密后的所述第二记录数据解密,进而形成第二明文以供读取;

其中,所述加密和解密过程在系统的底层模块中进行。

本发明的有益效果是:区别于现有技术的情况,本发明所提供的写入和读取电话卡联系人信息的方法,一方面,加密和解密过程均在系统的底层模块中进行,保密能力是固化在操作系统中的,被外界恶意攻击更改的可能性大大降低,因此联系人信息的安全性大大提高;另一方面,本发明加密解密过程针对的是联系人信息中具有真实信息数据的记录数据,从而进一步提高联系人信息的安全性。

附图说明

图1是本发明写入电话卡联系人信息的方法一实施方式的流程示意图;

图2是Android系统架构示意图;

图3是本发明读取电话卡联系人信息的方法一实施方式的流程示意图;

图4是本发明写入和读取电话卡联系人信息的系统一实施方式的结构示意图;

图5是本发明终端一实施方式的结构示意图。

具体实施方式

请参阅图1,图1为本发明写入电话卡联系人信息的方法一实施方式的流程示意图,该方法包括:

S101:获取待写入的第一明文的联系人信息中第一记录数据;

具体地,联系人信息包括记录数据和控制数据,记录数据中包含了联系人的真实信息记录,如联系人姓名、号码、工作地址、邮箱、微信号、QQ号等类似的数据,而控制数据主要是用于过程的控制,如如何控制电话本同步、如何配置容量参数等,因此记录数据是需要着重保护加密的。一般电话卡会包括两个合集,一个是记录数据的合集,另一个是控制数据的合集,系统的底层模块逐一判断待写入的第一明文的联系人信息中的数据是否为记录数据集合中的数据,进而获得待加密的第一记录数据。

S102:利用加密算法将第一记录数据加密,进而形成第一密文以写入电话卡;

具体地,本发明中加密过程在系统的底层模块中进行。由于电话卡的存储特性,电话卡中每个文件的每条记录都是定长的,因此在加密算法的选择上需要保证采用该加密算法所形成的第一密文数据与第一明文数据的长度相同。以Android系统为例,在其他实施例中,也可为其他系统如Windows系统、Symbian系统、IOS系统等。此时底层模块为Android底层模块,请结合图2,图2为Android系统架构示意图,其中RIL模块起适配的作用,Modem模块起调制解调的作用。如图2中实线箭头所示,写入电话卡联系人信息具体包括:Android底层模块逐一判断待写入的第一明文的联系人信息中的数据是否为记录数据集合中的数据,进而获得待加密的第一记录数据,然后利用加密算法将第一记录数据加密后形成的第一密文分别经RIL模块、Modem模块后写入到电话卡。在本实施例中该加密算法可以是RC4算法,在其他实施例中也可为其他算法,本发明对此不作限定。Android底层模块和RIL模块之间是通过原语进行写入,RIL模块和Modem模块之间通过AT命令进行写入,Modem模块和电话卡之间通过APDU命令进行写入。

在一个应用场景中,以USIM电话卡为例,USIM电话卡中最多可以存储有三种电话本,且分别存储在USIM卡中不同的目录下:MF/DFTELECOM/DFPHONEBOOK、MF/DFGSM/DFPHONEBOOK、ADF USIM/DFPHONEBOOK。以其中一个MF/DFTELECOM/DFPHONEBOOK目录为例,该目录下的文件包括多个控制文件的合集和多个记录文件的合集。其中,EFAND文件用于保存电话本条目的基本信息,属于记录数据,如下表1所示,下表1为待写入的联系人信息的记录数据。用户名称一栏可以是汉字也可以是英文,如果是汉字可能会使用80、81、82编码方式,如果用英文则是使用bit8为0的7bit编码,所占字节长度可从EFAND文件的属性中通过APDU命令读取出来,为制卡公司根据运营商需求预置,假设此时X为10;电话号码长度记录一般占1个字节;号码类型可以是移动、联通、电信或者地区记录,该记录数据一般占1个字节;具体电话号码,可以是手机号、座机号等,一般采用16进制数据保存,且字节长度一般为10;在呼叫时要求的相关能力和配置参数一栏表示在容量配置参数文件记录中是否保存有与该条信息相应的配置信息,该栏字节长度一般为1;扩展记录标识,该项表示待写入的联系人信息中具有超过EFAND存储的内容,一般为1个字节长度。经计算获得,此时该项EFAND的记录数据长度为24个字节。此时底层模块调用加密算法对表1中的数据进行加密,在本实施例中,可以调用RC4算法,在其他实施例中,也可为其他算法,本发明对此不作限定。RC4算法的流程为:首先选定密钥,假设此时选取的密钥为8个字节的序列;然后将该密钥输入到一个伪随机数发生器中,进而输出一串8字节的随机数,即密钥流;密钥流通过与同一时刻的明文进行异或运算进而产生密文;为将本实施例中待加密的24字节记录数据逐个加密,需将上述密钥序列(8字节)重复使用三次过程即可。

表1待写入的联系人信息的记录数据

请参阅图3,图3为本发明读取电话卡联系人信息的方法一实施方式的流程示意图,包括:

S301:获取电话卡内待读取的第二密文的联系人信息中加密后的第二记录数据;具体地,第二密文的联系人信息包括控制数据和加密后的记录数据,底层模块逐一判断联系人信息中的数据是否为记录数据集合中的数据,进而获得待解密的第二记录数据。

S302:利用解密算法将加密后的第二记录数据解密,进而形成第二明文以供读取;

具体地,本发明中解密过程在系统的底层模块中进行。由于电话卡的存储特性,电话卡中每个文件的每条记录都是定长的,因此在解密算法的选择上需要保证采用该解密算法所形成的第二明文数据与第二密文数据的长度相同,如在本实施例中可以采用上述实施例中的RC4算法,加密与解密过程互为逆运算。以Android系统为例,底层模块包括Android底层模块;请结合图2,如图2中的虚线箭头所示,读取电话卡联系人信息具体包括:电话卡内待读取的第二密文的联系人信息分别经Modem模块、RIL模块至Android底层模块后,Android底层模块获得第二密文中待解密的第二记录数据,利用解密算法进而获得第二明文数据以供读取。Android底层模块和RIL模块之间是通过原语进行读取,RIL模块和Modem模块之间通过AT命令进行读取,Modem模块和电话卡之间通过APDU命令进行读取。

请参阅图4,图4为本发明写入和读取电话卡联系人信息的系统一实施方式的结构示意图,包括底层模块40,底层模块40包括获取子模块401和计算子模块402。

具体地,写入待写入联系人信息时,获取子模块401用于获取待写入的第一明文的联系人信息中第一记录数据;计算子模块402用于利用加密算法将第一记录数据加密,进而形成第一密文以写入;或者读取待读取联系人信息时,获取子模块401用于获取待读取的第二密文的联系人信息中加密后的第二记录数据;计算子模块402利用解密算法将加密后的第二记录数据解密,进而形成第二明文以供读取。需要知道的是,在本发明所提供的系统中,加密和解密过程均在底层模块40中进行,系统可能包含的其他模块只涉及数据的读取和写入的过程。

请参阅图5,图5为本发明终端一实施方式的结构示意图,该终端可以运行上述实施例中任一写入或者读取联系人信息的方法,该终端包括:

存储器501,具体地,存储器501用于存储系统、处理器503执行的指令以及记录数据等。

卡接口电路502,与电话卡电连接,进而进行数据传输。

处理器503,耦接存储器501和卡接口电路502,接收指令,运行系统;上述运行的系统包括底层模块。

具体地,写入电话卡联系人信息时,处理器503获取待写入的第一明文的联系人信息中第一记录数据,存入存储器501,且利用加密算法将第一记录数据加密,进而形成第一密文,通过卡接口电路502写入电话卡;或者读取电话卡联系人信息时,处理器503通过卡接口电路502获取电话卡内待读取的第二密文的联系人信息中加密后的第二记录数据,存入存储器501,利用解密算法将加密后的第二记录数据解密,进而形成第二明文以供读取;需要注意的是,上述加密和解密过程在系统的底层模块中进行。

需要说明的是,在本发明中,电话卡可以是SIM卡、USIM卡、RUIM卡、UIM卡中的任一种;上述实施例中的存储器501可以是上述任一种电话卡,也可以是终端中其他具有存储功能的介质。

总而言之,区别于现有技术的情况,本发明所提供的写入和读取电话卡联系人信息的方法,一方面,加密和解密过程均在系统的底层模块中进行,保密能力是固化在操作系统中的,被外界恶意攻击更改的可能性大大降低,因此联系人信息的安全性大大提高;另一方面,本发明加密解密过程针对的是联系人信息中具有真实信息数据的记录数据,从而进一步提高联系人信息的安全性。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1