本发明涉及数据加密处理技术领域,尤其涉及一种通话密钥协商方法及系统。
背景技术:
目前在端到端的语音通话过程中可以直接使用基于对称密码算法的加密方式对通话内容进行加密,以保证通信的安全性。但是这种采用对称密码算法的对通话内容进行加密的方式需要通话双方在进行通信前以安全的方式事先进行密钥协商,例如:需要通话双方事先以发送短信的方式来完成通话密钥的协商,确保通话双方使用的是相同的通话密钥,其操作比较麻烦,用户体验较低。
技术实现要素:
本发明实施例提供一种通话密钥协商方法及终端,可以使通话双方的通信终端自动协商通话密钥,无需用户手动参与通话密钥协商的过程,方便了用户操作,提升了用户体验。
第一方面,本发明实施例提供了一种通话密钥协商方法,该方法包括:
在主叫终端和被叫终端的安全芯片内预置密钥协商参数,所述安全芯片不向外提供读取接口;
当主叫终端向被叫终端发起呼叫请求时,所述主叫终端和所述被叫终端自动根据所述安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥。
另一方面,本发明实施例提供了一种通话密钥协商系统,该系统包括密钥协商参数配置终端、主叫终端和被叫终端,所述主叫终端包括第一通话密钥协商单元,所述被叫终端包括第二通话密钥协商单元,其中:
所述密钥协商参数配置终端,用于在主叫终端和被叫终端的安全芯片内预置密钥协商参数,所述安全芯片不向外提供读取接口;
所述第一通话密钥协商单元和所述第二通话密钥协商单元,用于当主叫终端向被叫终端发起呼叫请求时,自动根据所述主叫终端和被叫终端的安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥。
本发明实施例通过在主叫终端和被叫终端的安全芯片内预置密钥协商参数,所述安全芯片不向外提供读取接口;然后当主叫终端向被叫终端发起呼叫请求时,所述主叫终端和所述被叫终端自动根据所述安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥,从而可以在需要进行加密通话时,使通话双方的终端自动协商通话密钥,无需用户手动参与通话密钥协商的过程,方便了用户操作,提升了用户体验。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种通话密钥协商方法的示意流程图;
图2是本发明实施例提供的一种通话密钥协商方法中步骤S102具体实现的示意流程图;
图3是本发明另一实施例提供的一种通话密钥协商方法的示意流程图;
图4是本发明另一实施例提供的一种通话密钥协商方法中获取加密因子的示意流程图;
图5是本发明实施例提供的一种通话密钥协商系统的示意性框图;
图6是本发明实施例提供的一种通话密钥协商系统中第一通话密钥协商单元和第二通话密钥协商单元的示意性框图;
图7是本发明另一实施例提供的一种通话密钥协商系统的示意性框图;
图8是本发明另一实施例提供的一种通话密钥协商系统的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
参见图1,是本发明实施例提供一种通话密钥协商方法的示意流程图,如图1所示,该方法可包括以下步骤:
在S101中,在主叫终端和被叫终端的安全芯片内预置密钥协商参数,所述安全芯片不向外提供读取接口。
在本实施例中,S101包括:
在所述主叫终端和被叫终端的安全芯片内预置用于对加密因子进行加密处理的第一密钥和用于根据所述加密因子生成所述通话密钥的第二密钥。
在S102中,当主叫终端向被叫终端发起呼叫请求时,所述主叫终端和所述被叫终端自动根据所述安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥。
图2示出了步骤S102的具体实现的示意流程图,参见图2所示,在本实施例中,步骤S102具体可以包括以下步骤:
在S201中,主叫终端向被叫终端发起通话请求;
在S202中,读取所述主叫终端的设备认证信息,根据所述设备认证信息生成加密因子;
在S203中,从主叫终端的安全芯片中获取一随机密钥,采用对称加密算法根据所述随机密钥对所述加密因子进行加密,得到加密因子密文;
在S204中,采用对称加密算法根据所述主叫终端安全芯片内预置的第一密钥对所述随机密钥进行加密,生成随机密钥密文;
在S205中,采用非对称加密算法根据所述主叫终端的私钥对所述加密因子密文和所述随机密钥参数密文进行签名计算,得到所述主叫终端的签名值;
在S206中,采用非对称加密算法根据所述被叫终端的公钥对所述加密因子密文、所述随机密钥密文以及所述签名值进行加密,并将加密后的密文发送至被叫终端;
在S207中,采用非对称加密算法根据所述被叫终端的私钥对所述密文进行解密,得到所述加密因子密文、所述随机密钥密文以及所述签名值;
在S208中,采用非对称加密算法根据所述主叫终端的公钥对所述加密因子密文、所述随机密钥密文以及所述签名值进行数字签名验证;
在S209中,若验证通过,则采用对称加密算法根据所述被叫终端安全芯片内预置的第一密钥对所述随机密钥密文进行解密,得到所述随机密钥;
在S210中,采用对称加密算法根据所述随机密钥对所述加密因子密文进行解密得到加密因子;
在S211中,所述主叫终端和所述被叫终端分别采用对称加密算法根据各自安全芯片内预置的第二密钥对所述加密因子进行加密生成最后的通话密钥,并将所述通话密钥存储在各自的安全芯片内。
需要说明的是,在本实施例中,所述主叫终端和所述被叫终端的安全芯片内均预先内置有相同的对称加密算法、非对称加密算法以及哈希加密算法,并在主叫终端和被叫终端开机时,主叫终端和被叫终端均会在各自的安全芯片内采用预置的非对称算法根据用户输入的参数生成一对密钥对存储在各自的安全芯片内,其中,密钥对包括对外开放的公钥和不对外开放的私钥,当主叫终端向被叫终端发起呼叫请求时,双方会互相交接对方的公钥,以便后续采用非对称加密算法来对主叫终端和被叫终端进行数字签名认证,校验通话双方的身份,确保了网络传输过程中的数据安全。另外,本实施例中由于采用随机密钥以及内置于安全芯片内部并且不公开的第一密钥和第二密钥来保护主叫终端和被叫终端之间传输数据的安全,从而能够确保通话密钥协商内容的安全,进一步提高了通话密钥协商的安全性。
以上可以看出,本实施例提供的一种通话密钥协商方法通过在主叫终端和被叫终端的安全芯片内预置密钥协商参数,所述安全芯片不向外提供读取接口;然后当主叫终端向被叫终端发起呼叫请求时,所述主叫终端和所述被叫终端自动根据所述安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥,从而可以在需要进行加密通话时,使通话双方的终端自动协商通话密钥,无需用户手动参与通话密钥协商的过程,方便了用户操作,提升了用户体验。
图3是本发明另一实施例提供的一种通话密钥协商方法的示意流程图。参见图3所示,相对于上一实施例,在本实施例中,所述当主叫终端向被叫终端发起呼叫请求时,所述主叫终端和所述被叫终端自动根据所述安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥之后还包括:
在S103中,在所述主叫终端和所述被叫终端进行通话的过程中,采用所述通话密钥对通话内容进行加密或解密。
在本实施例中,由于采用协商后的通话密钥对通话内容进行加密或解密处理,而通话密钥又存储在没有外部读取接口的安全芯片内,不会被人窃取,因此,即时有人在主叫终端和被叫终端的通信链路中截取了加密后的通话内容,由于无法获取到通话密钥,也不能窃取到双方的通话内容,从而能够确保通话的安全性。
进一步的,参见图4所示,相对于上一实施例,本实施例进一步限定了所述读取所述主叫终端的设备认证信息,根据所述设备认证信息生成加密因子包括:
在S401中,读取所述主叫终端的设备认证信息,所述设备认证信息包括所述主叫终端的设备标识信息和当前时间戳;
在S402中,采用哈希加密算法对所述设备认证信息进行哈希加密计算,得到32byte的加密数据;
在S403中,提取所述32byte的加密数据中的前16byte数据作为加密因子。
需要说明的是,在本实施例中,所述设备标识信息包括但不限于主叫终端的CPU ID、安全芯片的SN号、终端型号以及终端IMEI码等中的至少一种,并且由于加密因子是根据设备标识信息和当前时间戳进行哈希加密计算后得到的,其中当前时间戳是实时变化的,因此每次通话时所对应获取的加密因子均不相同,这样可以防止重放攻击等安全隐患,进一步提高通话的安全性。
另外,需要说明的是,本实施例中的步骤S301和步骤S302中的其他实现步骤均与图1所示实施例中采用的方式相同,因此在此不再赘述。
因此,可以看出,相对于上一实施例,本实施例提供的一种通信密钥协商方法不仅能够在需要进行加密通话时,使通话双方的终端自动协商通话密钥,无需用户手动参与通话密钥协商的过程,方便了用户操作,提升了用户体验,而且还能够防止重放攻击等安全隐患,进一步提高通话的安全性。
图5是本发明实施例提供的一种通话密钥协商系统的示意性框图。为了便于说明仅仅示出了与本实施例相关的部分。
参见图5所示,本实施例提供的一种通话密钥协商系统,包括密钥协商参数配置终端1、主叫终端2和被叫终端3,所述主叫终端2包括第一通话密钥协商单元21,所述被叫终端3包括第二通话密钥协商单元31,其中:
所述密钥协商参数配置终端1,用于在主叫终端2和被叫终端3的安全芯片内预置密钥协商参数,所述安全芯片不向外提供读取接口;
所述第一通话密钥协商单元21和所述第二通话密钥协商单元31,用于当主叫终端2向被叫终端3发起呼叫请求时,自动根据所述主叫终端2和被叫终端3的安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥。
可选的,所述密钥协商参数配置终端1具体用于:
在所述主叫终端2和被叫终端3的安全芯片内预置用于对加密因子进行加密处理的第一密钥和用于根据所述加密因子生成所述通话密钥的第二密钥。
可选的,参见图6所示,所述第一通话密钥协商单元21包括:
呼叫请求单元211,用于向所述被叫终端3发起通话请求;
加密因子获取单元212,用于读取所述主叫终端2的设备认证信息,根据所述设备认证信息生成加密因子;
第一加密单元213,用于从主叫终端2的安全芯片中获取一随机密钥,采用对称加密算法根据所述随机密钥对所述加密因子进行加密,得到加密因子密文;
第二加密单元214,用于采用对称加密算法根据所述主叫终端2安全芯片内预置的第一密钥对所述随机密钥进行加密,生成随机密钥密文;
签名单元215,用于采用非对称加密算法根据所述主叫终端2的私钥对所述加密因子密文和所述随机密钥参数密文进行签名计算,得到所述主叫终端2的签名值;
第三加密单元216,用于采用非对称加密算法根据所述被叫终端3的公钥对所述加密因子密文、所述随机密钥密文以及所述签名值进行加密,并将加密后的密文发送至被叫终端3;
第一通话密钥生成单元217,用于采用对称加密算法根据所述主叫终端2的安全芯片内预置的第二密钥对所述加密因子进行加密生成最后的通话密钥,并将所述通话密钥存储在所述主叫终端2的安全芯片内;
可选的,参见图6所示,所述第二通话密钥协商单元31包括:
第一解密单元311,用于采用非对称加密算法根据所述被叫终端3的私钥对所述密文进行解密,得到所述加密因子密文、所述随机密钥密文以及所述签名值;
签名验证单元312,用于采用非对称加密算法根据所述主叫终端2的公钥对所述加密因子密文、所述随机密钥密文以及所述签名值进行数字签名验证;
第二解密单元313,用于若验证通过,则确认与所述主叫终端2建立通话,并采用对称加密算法根据所述被叫终端3安全芯片内预置的第一密钥对所述随机密钥密文进行解密,得到所述随机密钥;
第三解密单元314,用于采用对称加密算法根据所述随机密钥对所述加密因子密文进行解密得到加密因子;
第二通话密钥生成单元315,用于采用对称加密算法根据所述被叫终端3的安全芯片内预置的第二密钥对所述加密因子进行加密生成最后的通话密钥,并将所述通话密钥存储在所述被叫终端3的安全芯片内。
可选的,参见图7所示,在另一实施例中,所述主叫终端2还包括第一通话内容加密单元22,所述被叫终端3还包括第二通话内容加密单元32,其中:
所述第一通话内容加密单元22和所述第二通话内容加密单元32均用于在所述主叫终端2和所述被叫终端3进行通话的过程中,采用所述通话密钥对通话内容进行加密或解密。
可选的,所述加密因子获取单元212具体用于:
读取所述主叫终端2的设备认证信息,所述设备认证信息包括所述主叫终端2的设备标识信息和当前时间戳;
采用哈希加密算法对所述设备认证信息进行哈希加密计算,得到32byte的加密数据;
提取所述32byte的加密数据中的前16byte数据作为加密因子。
需要说明的是,本发明实施例提供的上述终端中各个单元,由于与本发明图方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
因此,可以看出本发明实施例提供的通话密钥协商系统同样不仅能够在需要进行加密通话时,使通话双方的终端自动协商通话密钥,无需用户手动参与通话密钥协商的过程,方便了用户操作,提升了用户体验,而且还能够防止重放攻击等安全隐患,进一步提高通话的安全性。
参见图8,是本发明另一实施例提供的一种通话密钥协商系统的示意框图。为了便于说明,仅仅示出了与本实施例相关的部分。
参见图8所示,本实施例提供的一种通话密钥协商系统,包括密钥协商参数配置终端1、主叫终端2和被叫终端3,其中:
所述主叫终端2包括第一处理器810(processor),第一通信接口820(Communications Interface),第一存储器830(memory),第一总线840。
第一处理器810,第一通信接口820,第一存储器830通过第一总线840完成相互间的通信。
第一通信接口820,用于与电缆调制解调器通信。
第一处理器810,用于执行第一程序831。
所述被叫终端3包括第二处理器910,第二通信接口920,第二存储器930,第二总线940。
第二处理器910,第二通信接口920,第二存储器930通过第二总线940完成相互间的通信。
第二通信接口920,用于与电缆调制解调器通信。
第二处理器910,用于执行第二程序931。
具体地,第一程序831和第二程序931可以包括程序代码,所述程序代码包括计算机操作指令。
第一处理器810和第二处理器910可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
第一存储器830和第二存储器930,分别用于存放第一程序831和第二程序931。第一存储器830和第二存储器930可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
第一程序831和第二程序931具体用于执行以下步骤:
当主叫终端2向被叫终端3发起呼叫请求时,自动根据所述主叫终端2和被叫终端3的安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥。
可选的,所述当主叫终端2向被叫终端3发起呼叫请求时,所述主叫终端2和所述被叫终端3自动根据所述安全芯片内预置的密钥协商参数按照预设规则协商确定对本次通话过程中的通话内容进行加密的通话密钥包括:
主叫终端2向被叫终端3发起通话请求;
读取所述主叫终端2的设备认证信息,根据所述设备认证信息生成加密因子;
从主叫终端2的安全芯片中获取一随机密钥,采用对称加密算法根据所述随机密钥对所述加密因子进行加密,得到加密因子密文;
采用对称加密算法根据所述主叫终端2安全芯片内预置的第一密钥对所述随机密钥进行加密,生成随机密钥密文;
采用非对称加密算法根据所述主叫终端2的私钥对所述加密因子密文和所述随机密钥参数密文进行签名计算,得到所述主叫终端2的签名值;
采用非对称加密算法根据所述被叫终端3的公钥对所述加密因子密文、所述随机密钥密文以及所述签名值进行加密,并将加密后的密文发送至被叫终端3;
采用非对称加密算法根据所述被叫终端3的私钥对所述密文进行解密,得到所述加密因子密文、所述随机密钥密文以及所述签名值;
采用非对称加密算法根据所述主叫终端2的公钥对所述加密因子密文、所述随机密钥密文以及所述签名值进行数字签名验证;
若验证通过,则确认与所述主叫终端2建立通话,并采用对称加密算法根据所述被叫终端3安全芯片内预置的第一密钥对所述随机密钥密文进行解密,得到所述随机密钥;
采用对称加密算法根据所述随机密钥对所述加密因子密文进行解密得到加密因子;
所述主叫终端2和所述被叫终端3分别采用对称加密算法根据各自安全芯片内预置的第二密钥对所述加密因子进行加密生成最后的通话密钥,并将所述通话密钥存储在各自的安全芯片内。
可选的,所述读取所述主叫终端2的设备认证信息,根据所述设备认证信息生成加密因子包括:
读取所述主叫终端2的设备认证信息,所述设备认证信息包括所述主叫终端2的设备标识信息和当前时间戳;
采用哈希加密算法对所述设备认证信息进行哈希加密计算,得到32byte的加密数据;
提取所述32byte的加密数据中的前16byte数据作为加密因子。
可选的,所述第一程序831和所述第二程序931还用于执行以下步骤:
在所述主叫终端2和所述被叫终端3进行通话的过程中,采用所述通话密钥对通话内容进行加密或解密。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端中的单元可以根据实际需要进行合并、划分和删减。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个终端可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台终端(可以是手机、IPAD等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。