【技术实现步骤摘要】
一种安全通信的方法和系统
本专利技术涉及信息安全领域,尤其涉及一种安全通信的方法和系统。
技术介绍
终端是一种多功能设备,能够获取银行卡信息,具有通讯功能,即终端与计算机联成网络后,可根据接收到的指令完成信息交换功能,使用方便快捷。现有的终端产品在与服务器进行通信时,只对个人标识码(PIN)和账户进行加密,而且进行加密的密钥固定不变,一旦密钥被窃取,则难以保证通信的安全性。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种安全通信的方法和系统,提升了终端产品在通信过程中的安全性。本专利技术提供的一种安全通信的方法,应用于包括第一终端、第二终端和服务器的系统中,包括:步骤S0:所述服务器通过所述第二终端向所述第一终端发送第一获取指令;步骤S1:所述第一终端生成第一随机数,根据所述第一随机数和自身保存的处理标识列表生成终端数据,通过所述第二终端向所述服务器发送所述终端数据;步骤S2:所述服务器根据所述终端数据获取所述处理标识列表,检查自身是否支持所述处理标识列表中的标识信息对应的处理机制,是则根据所述处理标识列表中与所述服务器支持的处理机制对应的标识信息, ...
【技术保护点】
一种安全通信的方法,应用于包括第一终端、第二终端和服务器的系统中,其特征在于,所述方法包括:步骤S0:所述服务器通过所述第二终端向所述第一终端发送第一获取指令;步骤S1:所述第一终端生成第一随机数,根据所述第一随机数和自身保存的处理标识列表生成终端数据,通过所述第二终端向所述服务器发送所述终端数据;步骤S2:所述服务器根据所述终端数据获取所述处理标识列表,检查自身是否支持所述处理标识列表中的标识信息对应的处理机制,是则根据所述处理标识列表中与所述服务器支持的处理机制对应的标识信息,设置服务器处理标识,执行步骤S3;否则断开与所述第二终端之间的连接,结束;步骤S3:所述服务器 ...
【技术特征摘要】
1.一种安全通信的方法,应用于包括第一终端、第二终端和服务器的系统中,其特征在于,所述方法包括:步骤S0:所述服务器通过所述第二终端向所述第一终端发送第一获取指令;步骤S1:所述第一终端生成第一随机数,根据所述第一随机数和自身保存的处理标识列表生成终端数据,通过所述第二终端向所述服务器发送所述终端数据;步骤S2:所述服务器根据所述终端数据获取所述处理标识列表,检查自身是否支持所述处理标识列表中的标识信息对应的处理机制,是则根据所述处理标识列表中与所述服务器支持的处理机制对应的标识信息,设置服务器处理标识,执行步骤S3;否则断开与所述第二终端之间的连接,结束;步骤S3:所述服务器生成第二随机数,根据所述第二随机数和所述服务器处理标识生成服务器数据,通过所述第二终端向所述第一终端发送所述服务器数据和自身保存的服务器证书;步骤S4:所述第一终端根据自身保存的认证中心证书对所述服务器证书进行验证,判断是否验证成功,是则根据所述服务器数据获取所述服务器处理标识,根据所述服务器处理标识设置终端处理标识,执行步骤S5,否则通过所述第二终端向所述服务器返回错误信息,所述服务器断开与所述第二终端之间的连接,结束;步骤S5:所述第一终端根据所述终端数据和所述服务器数据生成签名值,生成一个预设长度的第三随机数作为共享主密钥,根据所述服务器证书的公钥对所述共享主密钥进行加密得到第一加密数据,通过所述第二终端向所述服务器发送所述签名值、所述第一加密数据和所述第一终端保存的终端证书;步骤S6:所述服务器根据自身保存的认证中心证书对所述终端证书进行验证,判断是否验证成功,是则执行步骤S7,否则断开与所述第二终端之间的连接,结束;步骤S7:所述服务器根据所述终端证书对所述签名值进行验证,判断是否验证成功,是则根据所述服务器证书的私钥对所述第一加密数据进行解密,得到所述共享主密钥,执行步骤S8,否则断开与所述第二终端之间的连接,结束;步骤S8:所述服务器根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第一预设字符串和所述共享主密钥生成第一完成消息,通过所述第二终端向所述第一终端发送所述第一完成消息;步骤S9:所述第一终端根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第一预设字符串和所述共享主密钥对所述第一完成消息进行验证,判断是否验证成功,是则执行步骤S10,否则通过所述第二终端向所述服务器返回错误信息,所述服务器断开与所述第二终端之间的连接,结束;步骤S10:所述第一终端根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第二预设字符串和所述共享主密钥生成第二完成消息,通过所述第二终端向所述服务器发送所述第二完成消息,根据所述共享主密钥、第三预设字符串、所述第一随机数和所述第二随机数生成第一通信密钥;步骤S11:所述服务器根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第二预设字符串和所述共享主密钥对所述第二完成消息进行验证,判断是否验证成功,是则根据所述共享主密钥、所述第三预设字符串、所述第一随机数和所述第二随机数生成第二通信密钥,执行步骤S12,否则断开与所述第二终端的连接,结束;步骤S12:所述服务器使用与所述服务器处理标识对应的所述处理机制和所述第二通信密钥对明文指令进行处理,得到通信指令,通过所述第二终端向所述第一终端发送所述通信指令;步骤S13:所述第一终端根据所述第一通信密钥对所述通信指令进行验证,判断是否验证成功,是则执行步骤S14,否则通过所述第二终端向所述服务器返回错误信息,所述服务器断开与所述第二终端之间的连接,结束;步骤S14:所述第一终端使用所述终端处理标识对应的处理机制和所述第一通信密钥对所述通信指令进行处理,得到所述明文指令,根据所述明文指令的内容执行相应操作,得到明文响应,使用所述终端处理标识对应的处理机制和所述第一通信密钥对所述明文响应进行处理,得到通信响应,通过所述第二终端向所述服务器发送所述通信响应;步骤S15:所述服务器根据所述第二通信密钥对所述通信响应进行验证,判断是否验证成功,是则使用与所述服务器处理标识对应的处理机制和所述第二通信密钥对所述通信响应进行处理,得到所述明文响应,结束;否则向所述第二终端返回错误信息,结束。2.根据权利要求1所述的方法,其特征在于,所述步骤S0中,所述服务器通过所述第二终端向所述第一终端发送第一获取指令之前包括:步骤S0-1:所述服务器通过所述第二终端向所述第一终端发送第二获取指令;步骤S0-2:所述第一终端获取自身的设备信息,通过所述第二终端向所述服务器发送所述设备信息;步骤S0-3:所述服务器根据所述设备信息判断是否已与所述第一终端建立安全通道,是则根据所述共享主密钥、所述第三预设字符串、所述第一随机数和所述第二随机数,生成所述第二通信密钥,执行步骤S12,否则执行步骤S0。3.根据权利要求1所述的方法,其特征在于,所述步骤S1中,所述根据第一随机数和自身保存的处理标识列表生成终端数据具体为:所述第一终端将所述第一随机数和所述处理标识列表进行拼接,得到所述终端数据。4.根据权利要求1所述的方法,其特征在于,所述服务器根据所述第二随机数和所述服务器处理标识生成服务器数据具体为:所述服务器将所述第二随机数和所述服务器处理标识进行拼接,得到所述服务器数据。5.根据权利要求1所述的方法,其特征在于,所述第一终端根据所述终端数据和所述服务器数据生成签名值具体为:所述第一终端将所述终端数据和所述服务器数据进行拼接后得到待签名数据,对所述待签名数据进行摘要运算得到第一摘要,使用所述第一终端的私钥对所述第一摘要进行签名运算得到所述签名值;所述服务器根据所述终端证书对所述签名值进行验证,判断是否验证成功,具体为:所述服务器将所述终端数据和所述服务器数据进行拼接后得到验证数据,对所述验证数据进行摘要运算得到第一验证摘要,使用所述终端证书中的公钥对所述签名值进行计算,得到所述第一摘要,判断所述第一验证摘要与所述第一摘要是否相同,是则验证成功,否则验证失败。6.根据权利要求1所述的方法,其特征在于,所述服务器根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第一预设字符串和所述共享主密钥生成第一完成消息,具体为:所述服务器对所述服务器证书进行摘要运算得到第二摘要,对所述终端证书进行摘要运算得到第三摘要,将所述终端数据、所述服务器数据、所述第二摘要、所述第三摘要、所述签名值和所述第一加密数据进行拼接后得到第一数据,对所述第一数据进行摘要运算得到第四摘要,将所述第一预设字符串和所述第四摘要进行拼接,得到第二数据,使用所述共享主密钥的第一预设部分对所述第二数据进行基于哈希运算的消息认证码运算得到所述第一完成消息;所述第一终端根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第一预设字符串和所述共享主密钥对所述第一完成消息进行验证,判断是否验证成功,具体为:所述第一终端对所述服务器证书进行摘要运算得到第二验证摘要,对所述终端证书进行摘要运算得到第三验证摘要,将所述终端数据、所述服务器数据、所述第二验证摘要、所述第三验证摘要、所述签名值和所述第一加密数据进行拼接,得到第一验证数据,对所述第一验证数据进行摘要运算得到第四验证摘要,将所述第一预设字符串和所述第四验证摘要进行拼接后得到第二验证数据,使用所述共享主密钥的第一预设部分对所述第二验证数据进行基于哈希运算的消息认证码运算得到第一验证消息;判断所述第一验证消息与所述第一完成消息是否相同,是则验证成功,否则验证失败。7.根据权利要求1所述的方法,其特征在于,所述第一终端根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第二预设字符串和所述共享主密钥生成第二完成消息具体为:所述第一终端对所述服务器证书进行摘要运算得到第五摘要,对所述终端证书进行摘要运算得到第六摘要,将所述终端数据、所述服务器数据、所述第五摘要、所述第六摘要、所述签名值和所述第一加密数据进行拼接后得到第三数据,对所述第三数据进行摘要运算得到第七摘要,将所述第二预设字符串和所述第七摘要进行拼接,得到第四数据,使用所述共享主密钥的第一预设部分对所述第四数据进行基于哈希运算的消息认证码运算得到所述第二完成消息;所述服务器根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第二预设字符串和所述共享主密钥对所述第二完成消息进行验证,判断是否验证成功,具体为:所述服务器对所述服务器证书进行摘要运算得到第五验证摘要,对所述终端证书进行摘要运算得到第六验证摘要,将所述终端数据、所述服务器数据、所述第五验证摘要、所述第六验证摘要、所述签名值和所述第一加密数据进行拼接,得到第三验证数据,对所述第三验证数据进行摘要运算得到第七验证摘要,将所述第二预设字符串和所述第七验证摘要进行拼接后得到第四验证数据,使用所述共享主密钥的第一预设部分对所述第四验证数据进行基于哈希运算的消息认证码运算得到第二验证消息;判断所述第二验证消息与所述第二完成消息是否相同,是则验证成功,否则验证失败。8.根据权利要求1所述的方法,其特征在于,所述第一通信密钥包括第一加密密钥和第一消息认证码密钥;所述根据所述共享主密钥、第三预设字符串、所述第一随机数和所述第二随机数生成第一通信密钥具体为:步骤A:将所述第三预设字符串、所述第一随机数和所述第二随机数进行拼接得到第五数据;步骤B:使用所述共享主密钥的第二预设部分对所述第五数据进行基于哈希运算的消息认证码运算得到第六数据,将所述第六数据的第一部分作为所述第一通信密钥中的所述第一加密密钥,将所述第六数据的第二部分作为所述第一通信密钥中的所述第一消息认证码密钥;所述第二通信密钥包括第二加密密钥和第二消息认证码密钥;所述根据所述共享主密钥、第三预设字符串、所述第一随机数和所述第二随机数生成第二通信密钥具体为:步骤C:将所述第三预设字符串、所述第一随机数和所述第二随机数进行拼接得到第七数据;步骤D:使用所述共享主密钥的第二预设部分对所述第七数据进行基于哈希运算的消息认证码运算得到第八数据,将所述第八数据的第一部分作为所述第二通信密钥中的所述第二加密密钥,将所述第六数据的第二部分作为所述第二通信密钥中的所述第二消息认证码密钥。9.根据权利要求8所述的方法,其特征在于,所述服务器使用与所述服务器处理标识对应的所述处理机制和所述第二通信密钥对明文指令进行处理,得到通信指令,具体为:所述服务器使用与所述服务器处理标识对应的所述处理机制和所述第二通信密钥中的所述第二加密密钥对所述明文指令进行处理,得到密文指令;根据所述第二通信密钥中的所述第二消息认证码密钥对所述密文指令进行消息认证码运算,得到第一认证码;对所述密文指令和所述第一认证码进行组合得到的所述通信指令;所述根据所述第一通信密钥对所述通信指令进行验证,判断是否验证成功,具体为:所述第一终端根据所述第一通信密钥中的所述第一消息认证码密钥对所述通信指令中的所述密文指令进行消息认证码运算,得到第二认证码,判断所述第二认证码是否与所述通信指令中的所述第一认证码相同,是则验证成功,否则验证失败;所述第一终端使用与所述终端处理标识对应的处理机制和所述第一通信密钥对所述通信指令进行处理,得到所述明文指令,具体为:所述第一终端使用与所述终端处理标识对应的所述处理机制和所述第一通信密钥中的所述第一加密密钥对所述通信指令中的所述密文指令进行处理,得到所述明文指令。10.根据权利要求8所述的方法,其特征在于,所述使用所述终端处理标识对应的处理机制和所述第一通信密钥对所述明文响应进行处理,得到通信响应,具体为:所述第一终端使用与所述终端处理标识对应的处理机制和所述第一通信密钥中的所述第一加密密钥对所述明文响应进行处理,得到的密文响应;根据所述第一通信密钥中的所述第一消息认证码密钥对所述密文响应进行消息认证码运算,得到的第三认证码;对所述密文响应和所述第三认证码进行组合得到所述通信响应;所述根据所述第二通信密钥对所述通信响应进行验证,判断是否验证成功,具体为:所述服务器根据所述第二通信密钥中的所述第二消息认证码密钥对所述通信响应中的所述密文响应进行消息认证码运算,得到第四认证码,判断所述第四认证码是否与所述通信响应中的所述第三认证码相同,是则验证成功,否则验证失败;所述使用与所述服务器处理标识对应的处理机制和所述第二通信密钥对所述通信响应进行处理,得到所述明文响应,具体为:所述服务器使用与所述服务器处理标识对应的所述处理机制和所述第二通信密钥中的所述第二加密密钥对所述通信响应中的所述密文响应进行处理,得到所述明文响应。11.一种安全通信的系统,其特征在于,包括第一终端、第二终端和服务器;所述第一终端包括第一接收模块、第一生成模块、第一验证模块、第一设置模块、加密模块、第二验证模块、第三验证模块、第一处理模块和第一发送模块;所述第一接收模块,用于通过所述第二终端接收来自所述服务器的第一获取指令、服务器数据、服务器证书、第一完成消息和通信指令;所述第一生成模块,用于当所述第一接收模块接收到所述第一获取指令时,生成第一随机数,根据所述第一随机数和所述第一终端保存的处理标识列表生成终端数据;当所述第一设置模块设置终端处理标识后,根据所述终端数据和所述服务器数据生成签名值,生成一个预设长度的第三随机数作为共享主密钥;当所述第二验证模块对所述第一完成消息验证成功后,根据所述服务器证书、终端证书、所述终端数据、所述服务器数据、所述签名值、所述加密模块加密得到的第一加密数据、第二预设字符串和所述共享主密钥生成第二完成消息,根据所述共享主密钥、第三预设字符串、所述第一随机数和所述服务器数据中的第二随机数生成第一通信密钥;所述第一验证模块,用于根据所述第一终端保存的认证中心证书对所述第一接收模块接收到的所述服务器证书进行验证,判断是否验证成功;所述第一设置模块,用于当所述第一验证模块对所述服务器证书验证成功时,根据所述第一接收模块接收到的所述服务器数据获取服务器处理标识,根据所述服务器处理标识设置终端处理标识;所述加密模块,用于根据所述服务器证书的公钥对所述第一生成模块生成的所述共享主密钥进行加密得到所述第一加密数据;所述第二验证模块,用于根据所述服务器证书、所述终端证书、所述终端数据、所述服务器数据、所述签名值、所述第一加密数据、第一预设字符串和所述共享主密钥对所述第一接收模块接收到的所述第一完成消息进行验证,判断是否验证成功;所述第三验证模块,用于根据所述第一通信密钥对所述第一接收模块接收到的所述通...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。