1.一种基于云端的安全即时通信方法,该方法包括以下步骤:
1)密钥管理中心(KMC)根据通信信道ID为通信双方生成随机的终端会话密钥(TAK);
2)所述密钥管理中心采用传输主密钥(TMK)对所述终端会话密钥加密后发送后所述通信双方;
3)所述通信双方接收终端会话密钥加密数据,并解密得到所述终端会话密钥;
4)所述通信双方中的发送端通过所述终端会话密钥加密挑战数据包并发送给接收端;
5)所述接收端接收并解密得到所述挑战数据包,并将明文挑战数据包发送给所述发送端;
6)所述发送端接收到所述明文挑战数据包,并判断与其发送的挑战数据包是否匹配;
7)如果匹配,则建立与所述接收端的加密信道,随后双方进行安全通信,如果匹配失败,则跳转到步骤8);
8)结束通信。
2.根据权利要求1所述的方法,所述传输主密钥通过以下步骤获得:
2.1)由所述密钥管理中心定期产生所述传输主密钥;
2.2)所述密钥管理中心采用终端本地主密钥(TLMK)加密所述传输主密钥,并发送给用户;
2.3)用户接收传输主密钥加密数据,并解密得到所述传输主密钥。
3.根据权利要求2所述的方法,所述传输主密钥通过广播的方式发送给所有用户。
4.根据权利要求2所述的方法,所述终端本地主密钥通过以下步骤获得:
4.1)用户向所述密钥管理中心申请所述终端本地主密钥,采用本地主密钥(LMK)对申请信息加密;
4.2)所述密钥管理中心接收并解密得到所述申请信息;
4.3)所述密钥管理中心为用户分配所述终端本地主密钥,并通过终端初始化密钥(TIK)加密后发送给用户;
4.4)所述用户接收终端本地主密钥加密数据,并解密得到所述终端本地主密钥;
4.5)注销所述终端初始化密钥。
5.根据权利要求4所述的方法,所述终端初始化密钥通过以下步骤获得:
5.1)新用户向所述密钥管理中心发送注册申请;
5.2)所述密钥管理中心接收到所述注册申请后,为所述新用户分配所述终端初始化密钥,并向所述新用户发送验证信息;
5.3)所述新用户接收到所述验证信息,并在本地生成所述终端初始化密钥。
6.根据权利要求5所述的方法,在本地通过时间戳技术对所述验证信息的时间戳进行匹配,如果接收的所述验证信息时间戳合法,则所述密钥管理中心生成的终端初始化密钥和本地生成的终端初始化密钥是相同的。
7.根据权利要求1所述的方法,可以通过以下步骤对通信数据进行安全保存:
7.1)随机产生对称密钥;
7.2)通过所述对称密钥加密待存储的通信数据;
7.3)采用所述终端本地主密钥加密所述对称密钥;
7.4)将经加密的通信数据和对称密钥存储在本地指定位置。
8.根据权利要求4所述的方法,所述本地主密钥为核心根密钥,用来保护所述密钥管理中心运行过程中所产生的各种需要保护的密钥和数据,所述本地主密钥存放于专用的密码存储介质中,该本地主密钥只能在专用的密码设备中使用,属于长期密钥,在所述密钥管理中心全生命周期中一直存在,不进行更换。
9.根据权利要求1所述的方法,每次建立所述加密信道所采用的所述终端会话密钥不同。
10.一种基于云端的安全即时通信系统,该系统包括:在云端设置的发送端、接收端、通信应用服务器以及本地设置的密钥管理中心(KMC),所述密钥管理中心产生终端初始化密钥(TIK)、传输主密钥(TMK)、终端本地主密钥(TLMK)、终端会话密钥(TAK),并发送给所述发送端和接收端;每个所述发送端和接收端均包括一通信模块和密钥模块,通过所述通信模块接收这些密钥数据,所述密钥模块负责解密、保存、管理这些密钥数据,并利用接收的所述终端会话密钥建立加密信道,每次建立所述加密信道所采用的所述终端会话密钥不同。
11.根据权利要求10所述的系统,所述密钥管理中心定期产生所述传输主密钥,并广播给所有发送端和接收端。
12.根据权利要求10或11所述的系统,所述密钥管理中心根据用户请求,生成终端本地主密钥或终端会话密钥,并发送给用户。