一种基于虚拟客户识别模块的通信方法及装置
技术领域
本发明属于虚拟客户识别模块技术领域,尤其涉及一种基于虚拟客户识别模块的通信方法及装置。
背景技术
在现有的蜂窝网络中,移动终端,如手机需要实体SIM卡(Subscriber IdentityModule,客户识别模块)的支持才可以访问蜂窝网络。但是,实体SIM卡目前是由运营商发行,且运营商发行的实体SIM卡一般情况下只能访问该运营商的网络,即实体SIM卡将移动终端“锁定”在一个网络上。
为解决实体SIM卡的上述问题,产生了虚拟SIM卡,之所以称之为虚拟SIM卡,是因为该虚拟SIM卡采用嵌入式技术,在出厂时会被预装在移动终端里,由于虚拟SIM卡并未锁定于某个运营商网络,因此用户可以通过移动终端的***界面切换运营商服务,省去了将实体SIM卡拿出和更换的环节。
例如用户通过移动终端的***界面可以快速改变运营商并保留手机号码,选择更优的服务和价格,选择当下信号覆盖最好的运营商,无论是在本地,还是外地或国外漫游,都可以选择更符合成本效益的短期合约,避免长途和漫游费
虽然现有的虚拟SIM卡可以带来很大的方便以及低资费的漫游业务。但是,虚拟SIM卡的关键参数,例如Ki(Key identifier,手机鉴权密钥)在下发到modem(调制解调器)芯片之后,都是以明文的方式参与业务处理,存在一定的泄露风险。
发明内容
有鉴于此,本发明提供一种基于虚拟SIM卡的通信方法及装置,用于提高虚拟SIM卡中各个参数的安全性。
本发明提供一种基于虚拟SIM卡的通信方法,应用于移动终端中,所述方法包括:
在所述移动终端使用所述虚拟SIM卡的情况下,向服务器发送第一消息,所述第一消息用于指示所述移动终端当前正在使用所述虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互;
接收服务器发送的加密后的第一参数;
基于所述加密后的第一参数与所述服务器进行业务交互。
优选地,所述向服务器发送第一消息,包括:
向所述服务器发送注册请求消息,所述注册请求消息中携带有所述虚拟SIM卡的标识信息,所述虚拟SIM卡的标识信息用于指示所述移动终端当前正在使用所述虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
优选地,所述向服务器发送第一消息,包括:
向所述服务器发送无线连接请求消息,所述无线连接请求消息中携带有所述虚拟SIM卡的标识信息,所述虚拟SIM卡的标识信息用于指示所述移动终端当前正在使用所述虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
优选地,所述方法还包括:
获取加密密钥和加密算法,所述加密密钥和所述加密算法用于对所述虚拟SIM卡的第一参数进行解密;
判断所述移动终端配置的通信模块的级别是否满足通信安全要求;
如果是,则使用所述加密密钥和所述加密算法对所述第一参数进行解密;
如果否,则控制所述移动终端直接存储加密后的第一参数。
优选地,所述判断所述移动终端配置的通信模块的级别是否满足通信安全要求,包括:判断所述通信模块的标识信息是否为预设标识信息。
本发明还提供一种基于虚拟客户识别模块SIM卡的通信装置,应用于移动终端中,所述装置包括:
发送单元,用于在所述移动终端使用所述虚拟SIM卡的情况下向服务器发送第一消息,所述第一消息用于指示所述移动终端当前正在使用所述虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互;
接收单元,用于接收服务器发送的加密后的第一参数;
交互单元,用于基于所述加密后的第一参数与所述服务器进行业务交互。
优选地,所述发送单元用于向所述服务器发送注册请求消息,所述注册请求消息中携带有所述虚拟SIM卡的标识信息,所述虚拟SIM卡的标识信息用于指示所述移动终端当前正在使用所述虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
优选地,所述发送单元用于向所述服务器发送无线连接请求消息,所述无线连接请求消息中携带有所述虚拟SIM卡的标识信息,所述虚拟SIM卡的标识信息用于指示所述移动终端当前正在使用所述虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
优选地,所述装置还包括:
获取单元,用于获取加密密钥和加密算法,所述加密密钥和所述加密算法用于对所述虚拟SIM卡的第一参数进行解密;
判断单元,用于判断所述移动终端配置的通信模块的级别是否满足通信安全要求;
控制单元,用于在所述移动终端配置的通信模块的级别满足通信安全要求的情况下,则使用所述加密密钥和所述加密算法对所述第一参数进行解密;以及用于在所述移动终端配置的通信模块的级别不满足通信安全要求的情况下,控制所述移动终端直接存储加密后的第一参数。
优选地,所述判断单元用于判断所述通信模块的标识信息是否为预设标识信息,以判断所述移动终端配置的通信模块的级别是否满足通信安全要求。
与现有技术相比,本发明提供的上述技术方案具有如下优点:
本发明提供的上述技术方案中,在向服务器发送第一消息以指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与服务器进行业务交互的情况下,可以采用接收到的加密后的第一参数与服务器进行业务交互,这样移动终端在获取到第一参数后,可以不再以明文方式使用第一参数进行业务交互,从而提高虚拟SIM卡中第一参数的安全性,例如可以基于加密后的Ki与服务器进行业务交互,以提高Ki的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于虚拟SIM卡的通信方法的一种流程图;
图2是本发明实施例提供的基于虚拟SIM卡的通信方法的另一种流程图;
图3是本发明实施例提供的基于虚拟SIM卡的通信装置的一种结构示意图;
图4是本发明实施例提供的基于虚拟SIM卡的通信装置的另一种结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,其示出了本发明实施例提供的基于虚拟SIM卡的通信方法,应用于移动终端中,此移动终端可以基于虚拟SIM卡与运营商网络使用的服务器进行通信,以使移动终端可以采用虚拟SIM来完成各项业务。具体的,上述图1所示基于虚拟SIM卡的通信方法可以包括以下步骤:
101:在移动终端使用虚拟SIM卡的情况下,向服务器发送第一消息,第一消息用于指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,这样服务器在接收到第一消息后,会以加密后的第一参数与移动终端进行业务交互。而若移动终端采用加密后的第一参数进行业务交互,而服务器采用明文的第一参数(即未加密的第一参数)进行业务交互时,会导致移动终端和服务器无法识别对方发送的消息,因此在移动终端想要使用加密后的第一参数与服务器进行业务交互时,首先需要发送第一消息来告知服务器。
在本发明实施例中,移动终端可以采用与服务器进行交互的某个消息,其采用的消息用于指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,如在激活虚拟SIM卡后启动注册流程的过程中,移动终端向服务器发送的注册请求消息或者无线连接请求消息中可以携带有虚拟SIM卡的标识信息,所述虚拟SIM卡的标识信息用于指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,这样在不改变现有业务交互流程的前提下,通过在现有的注册请求消息或者无线连接请求消息中增加一虚拟SIM卡的标识信息的方式即可告知服务器移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
其中上述虚拟SIM卡的标识信息可以采用二进制序列形式,二进制序列0101表示移动终端正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,而二进制序列0011表示移动终端正在使用实体SIM卡,因此在本发明实施例中可以通过判断第一消息中携带的是哪个二进制序列来确定移动终端是否正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
当然虚拟SIM卡的标识信息为一序列时,其还可以采用除二进制序列之外的形式,如虚拟SIM卡的标识信息为一数字序列和/或字母序列,如可以采用数字1和2这两个数字来确定移动终端是否正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,其中数字1可以指示移动终端正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,而数字2则指示移动终端正在使用实体SIM卡。
102:接收服务器发送的加密后的第一参数。其中第一参数的加密是使用服务器与移动终端预先协商通过的加密密钥和加密算法,所协商的加密密钥和加密算法可以采用现有方式,如加密算法可以是非对称加密算法,比如RSA公钥加密算法,其中RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,RSA就是他们三人姓氏开头字母拼在一起组成的。
当协商通过后,服务器可以使用协商通过的加密密钥和加密算法对第一参数进行加密。在本发明实施例中,第一参数是移动终端和服务器进行业务交互时使用的参数,例如在虚拟SIM卡的鉴权业务中,对虚拟SIM卡中的Ki进行加密,这样就可以使用加密后的Ki进行鉴权业务。
103:基于加密后的第一参数与服务器进行业务交互。以鉴权业务为例,服务器在与移动终端之间执行鉴权业务时,服务器将使用加密后的Ki作为输入来计算鉴权向量,然后将鉴权向量携带于鉴权请求消息中发送给移动终端。移动终端在接收到鉴权请求消息之后,将会利用自身保存的加密后的Ki作为输入对鉴权向量进行验证,以验证服务器的身份。在身份验证通过后,移动终端再利用加密后的Ki计算鉴权响应,并发送给服务器。当服务器确定鉴权响应正确时,服务器进行后续的注册流程。
从上述技术方案可知,本发明实施例提供的基于虚拟SIM卡的通信方法在向服务器发送第一消息以指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与服务器进行业务交互的情况下,可以采用接收到的加密后的第一参数与服务器进行业务交互,这样移动终端在获取到第一参数后,可以不再以明文方式使用第一参数进行业务交互,从而提高虚拟SIM卡中第一参数的安全性,例如可以基于加密后的Ki与服务器进行业务交互,以提高Ki的安全性。
为了进一步提高虚拟SIM卡的第一参数的安全性,本发明实施例提供的基于虚拟SIM卡的通信方法还可以进一步判断是否对加密后的第一参数进行解密存储,具体过程如图2所示,在图1基础上还包括:
104:获取加密密钥和加密算法,加密密钥和加密算法用于对虚拟SIM卡的第一参数进行解密。
为能够获取加密密钥和加密算法,移动终端和服务器之间需要进行协商,其中协商的目的是确定双方在进行业务交互时采用何种加密密钥和加密算法,其过程可以是:与服务器协商加密第一参数使用的加密密钥和加密算法,在与服务器协商通过后,获取协商通过的加密密钥和加密算法。具体步骤可以如下:
移动终端向服务器发送携带有加密密钥和加密算法的协商请求消息,其中协商请求消息中携带的加密密钥和加密算法可以是移动终端自身配置的,用于双方通信使用的加密密钥和加密算法,因此需要请求服务器是否可以采用移动终端自身配置的加密密钥和加密算法对第一参数进行加密,以使得服务器可以获知移动终端采用的加密密钥和加密算法,这样服务器才可以采用相应方式来处理;
当服务器同意移动终端配置的加密密钥和加密算法后,向移动终端发送协商肯定消息,以指示同意使用移动终端配置的加密密钥和加密算法对第一参数进行加密。若服务器不同意移动终端配置的加密密钥和加密算法,则需要向移动终端发送协商否定消息,以指示移动终端重新配置加密密钥和加密算法,或者向移动终端发送服务器配置的加密密钥和加密算法。
在本发明实施例中,移动终端和服务器在进行加密密钥和加密算法的协商过程中,可以通过wifi(Wireless Fidelity,无线局域网)或者蜂窝网络与服务器进行协商。
105:判断移动终端配置的通信模块的级别是否满足通信安全要求,如果是,执行步骤106,如果否执行步骤107。其中判断通信模块的级别是否满足通信安全要求的目的在于:是否将加密后的第一参数进行解密存储,以从移动终端的应用层发送解密后的第一参数至通信模块中。
在本发明实施例中,判断移动终端配置的通信模块的级别是否满足通信安全要求的可行方式是:判断所述通信模块的标识信息是否为预设标识信息,如果是判定移动终端配置的通信模块的级别满足通信安全要求,如果否则判定移动终端配置的通信模块的级别不满足通信安全要求。其中预设标识信息是预先配置的安全级别较高的各个通信模块的标识信息,如高德的通信模块。
106:使用所述加密密钥和所述加密算法对所述第一参数进行解密,当通信模块的级别满足通信安全要求时,说明通信模块的安全性较高,可以存储解密后的第一参数,至此移动终端可以使用所述加密密钥和所述加密算法对所述第一参数进行解密,以明文方式在通信模块或者移动终端的应用层进行存储。
107:控制所述移动终端直接存储加密后的第一参数,即不对第一参数进行解密,以防止通过通信模块获取第一参数,进而可以提高第一参数的安全性。
请参阅图3,其示出了本发明实施例提供的基于虚拟客户识别模块SIM卡的通信装置的结构示意图,其应用于移动终端中,可以包括:发送单元11、接收单元12和交互单元13。
发送单元12,用于在所述移动终端使用所述虚拟SIM卡的情况下向服务器发送第一消息,第一消息用于指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
在本发明实施例中,发送单元11可以采用与服务器进行交互的某个消息,其采用的消息用于指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,如在激活虚拟SIM卡后启动注册流程的过程中,发送单元12向服务器发送的注册请求消息或者无线连接请求消息中可以携带有虚拟SIM卡的标识信息,所述虚拟SIM卡的标识信息用于指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,这样在不改变现有业务交互流程的前提下,通过在现有的注册请求消息或者无线连接请求消息中增加一虚拟SIM卡的标识信息的方式即可告知服务器移动终端当前正在使用虚拟SIM卡。
其中上述虚拟SIM卡的标识信息可以采用二进制序列形式,二进制序列0101表示移动终端正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,而二进制序列0011表示移动终端正在使用实体SIM卡,因此在本发明实施例中可以通过判断第一消息中携带的是哪个二进制序列来确定移动终端是否正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互。
当然虚拟SIM卡的标识信息为一序列时,其还可以采用除二进制序列之外的形式,如虚拟SIM卡的标识信息为一数字序列和/或字母序列,如可以采用数字1和2这两个数字来确定移动终端是否正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,其中数字1可以指示移动终端正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互,而数字2则指示移动终端正在使用实体SIM卡。
接收单元12,用于接收服务器发送的加密后的第一参数。其中第一参数的加密是使用服务器与移动终端预先协商通过的加密密钥和加密算法,所协商的加密密钥和加密算法可以采用现有方式,如加密算法可以是非对称加密算法,比如RSA公钥加密算法,其中RSA公钥加密算法是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的,RSA就是他们三人姓氏开头字母拼在一起组成的。
当协商通过后,服务器可以使用协商通过的加密密钥和加密算法对第一参数进行加密。在本发明实施例中,第一参数是移动终端和服务器进行业务交互时使用的参数,例如在虚拟SIM卡的鉴权业务中,对虚拟SIM卡中的Ki进行加密,这样就可以使用加密后的Ki进行鉴权业务。
交互单元13,用于基于加密后的第一参数与服务器进行业务交互。以鉴权业务为例,服务器在与移动终端之间执行鉴权业务时,服务器将使用加密后的Ki作为输入来计算鉴权向量,然后将鉴权向量携带于鉴权请求消息中发送给移动终端。移动终端在接收到鉴权请求消息之后,交互单元14将会利用自身保存的加密后的Ki作为输入对鉴权向量进行验证,以验证服务器的身份。在身份验证通过后,移动终端再利用加密后的Ki计算鉴权响应,并发送给服务器。当服务器确定鉴权响应正确时,服务器进行后续的注册流程。
从上述技术方案可知,本发明实施例提供的基于虚拟SIM卡的通信装置在向服务器发送第一消息以指示移动终端当前正在使用虚拟SIM卡,并且使用加密后的第一参数与所述服务器进行业务交互的情况下,可以采用加密后的第一参数与服务器进行业务交互,这样移动终端在获取到第一参数后,可以不再以明文方式使用第一参数进行业务交互,从而提高虚拟SIM卡中第一参数的安全性,例如可以基于加密后的Ki与服务器进行业务交互,以提高Ki的安全性。
请参阅图4,其示出了本发明实施例提供的基于虚拟SIM卡的通信装置的另一种结构示意图,在图3基础上,还包括:获取单元14、判断单元15和控制单元16。
获取单元11,用于获取加密密钥和加密算法,加密密钥和加密算法用于对虚拟SIM卡的第一参数进行解密。为能够获取加密密钥和加密算法,移动终端和服务器之间需要进行协商,其中协商的目的是确定双方在进行业务交互时采用何种加密密钥和加密算法,其过程可以是:获取单元11与服务器协商加密第一参数使用的加密密钥和加密算法,在与服务器协商通过后,获取协商通过的加密密钥和加密算法。在本发明实施例中,获取单元11在进行加密密钥和加密算法的协商过程中,可以通过wifi或者蜂窝网络与服务器进行协商。
判断单元15,用于判断所述移动终端配置的通信模块的级别是否满足通信安全要求。其中判断通信模块的级别是否满足通信安全要求的目的在于:是否将加密后的第一参数进行解密存储,以从移动终端的应用层发送解密后的第一参数至通信模块中。
在本发明实施例中,判断移动终端配置的通信模块的级别是否满足通信安全要求的可行方式是:判断所述通信模块的标识信息是否为预设标识信息,如果是判定移动终端配置的通信模块的级别满足通信安全要求,如果否则判定移动终端配置的通信模块的级别不满足通信安全要求。其中预设标识信息是预先配置的安全级别较高的各个通信模块的标识信息,如高德生成的通信模块。
控制单元16,用于在所述移动终端配置的通信模块的级别满足通信安全要求的情况下,则使用所述加密密钥和所述加密算法对所述第一参数进行解密;以及用于在所述移动终端配置的通信模块的级别不满足通信安全要求的情况下,控制所述移动终端直接存储加密后的第一参数。
当通信模块的级别满足通信安全要求时,说明通信模块的安全性较高,可以存储解密后的第一参数,至此控制单元16可以使用所述加密密钥和所述加密算法对所述第一参数进行解密,以明文方式在通信模块或者移动终端的应用层进行存储。而在所述移动终端配置的通信模块的级别不满足通信安全要求的情况下,控制所述移动终端直接存储加密后的第一参数,即不对第一参数进行解密,以防止通过通信模块获取第一参数,进而可以提高第一参数的安全性。
最后,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。