我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:爱彩网 > 二级密钥 >

传输密钥生成方法、终端及服务器与流程

归档日期:06-06       文本归类:二级密钥      文章编辑:爱尚语录

  随着信息技术的发展,办公生产场所的专用网络覆盖率得到了全面的提高,但是实际应用中仍存在专用网络覆盖不到的区域,从而导致信息业务处理与管理监督上存在“盲点”。为了提高专用网络覆盖不到的区域中信息业务的处理能力,个人数字助理(personal digital assistant,PDA)被引入企业的生产管理中。

  PDA是一种小型便携嵌入式设备,一般安装有适用于智能手持类终端的操作系统,具有无限通信模块,是供使用者沟通、连接和互动的数字设备,将PDA引入到企业的生产过程中可以弥补原有专用网络覆盖不到的区域的业务处理薄弱环节。

  然而,使用PDA存在通信不安全的问题。一方面,由于PDA中的安全快闪存储(trans-flash,TF)卡、用户身份识别模块(subscriber identity module,SIM)等为外接模块,这些外接模块可以从PDA中取出并复制,攻击者很容易根据复制的这些外接模块伪造一个合法的PDA,进而根据伪造的合法的PDA很容易通过服务器的认证。另一方面,在数据传输时,PDA和服务器通信经过的传输通道包括非专用网络和专用网络,然而非专用网络的传输通道存在数据被窃听的风险,传输安全性低。

  本申请提供一种传输密钥生成方法、终端及服务器,使得可以保障终端和服务器的通信安全。

  一方面,提供一种传输密钥生成方法,该方法包括:终端根据该终端的物理特征生成物理特征码,该物理特征具有不可复制性,该物理特征码用于唯一标识该终端;该终端获取公共参数,其中,该公共参数为该终端或服务器随机生成的;该终端基于该物理特征码、该公共参数和第一时间戳生成第一传输密钥。本申请实施例提供的传输密钥生成方法,终端使用的物理特征具有不可复制性,终端根据物理特征生成物理特征码,终端使用该物理特征码、公共参数和第一时间戳生成传输密钥。由于终端的物理特征不可复制,入侵者在无法获取终端的物理特征的情况下无法伪造一个物理特征完全相同的终端,因此无法破解终端和服务器利用终端的物理特征协商生成的传输密钥,因此,终端使用该传输密钥与服务器进行通信时可以保障终端和服务器的通信安全。

  一种可能的实现方式中,终端基于该物理特征码、该公共参数和第一时间戳生成第一传输密钥,包括:该终端根据该物理特征码生成第一参数;该终端接收该服务器发送的第二参数和该第二参数的哈希值;该终端根据该第二参数的哈希值确定该第二参数是否被修改;若该第二参数没有被修改,则该终端根据该第一参数和该第二参数生成该第一传输密钥。基于该方案,由于第一参数为终端根据物理特征码生成的,因此第一参数与终端的物理特征密切相关,在第二参数没有被修改的前提下,终端根据与终端的物理特征相关的第一参数和具有随机性的第二参数生成第一传输密钥,由于第一参数为协商密钥过程中生成的且不在传输信道中传输,则可以使得入侵者无法通过传输信道获取第一参数,进而即使入侵者从传输信道中截获公共参数和第二参数也无法获得第一传输密钥,从而保障了终端和服务器的通信安全。

  一种可能的实现方式中,终端根据该第一参数和该第二参数生成该第一传输密钥,包括:该终端根据该第一参数、该第二参数和该公共参数生成该第一传输密钥。基于该方案,可以实现终端根据第一参数、第二参数和公共参数生成第一传输密钥,从而增加了本申请实施例中传输密钥生成方法的应用场景。

  一种可能的实现方式中,终端获取公共参数,包括:该终端根据任意一个时刻生成第二时间戳;该终端根据该第二时间戳随机生成该公共参数;或,该终端接收该服务器发送的该公共参数和该公共参数的哈希值;该终端根据该公共参数的哈希值确定该公共参数是否被修改;若该公共参数没有被修改,则该终端获取该公共参数。基于该方案,终端可以通过两种方式获取公共参数,终端可以根据任意一个时间戳生成公共参数,也可以接收服务器发送的公共参数。

  一种可能的实现方式中,在该终端根据该第二时间戳随机生成该公共参数之后,还包括:该终端根据该公共参数确定该公共参数的哈希值;该终端向该服务器发送该公共参数和该公共参数的哈希值。基于该方案,终端在根据第二时间戳生成公共参数之后,终端将生成的公共参数发送给服务器,可以保障终端和服务器使用的公共参数相同。

  一种可能的实现方式中,在该终端获取公共参数之前,还包括:该终端获取该服务器的公钥;该终端根据该物理特征码确定该物理特征码的哈希值;该终端使用该服务器的公钥将该物理特征码和该物理特征码的哈希值加密,得到第一消息;该终端向该服务器发送第一消息;该终端接收该服务器发送的该第二消息,该第二消息用于指示该终端已注册。基于该方案,可以使得服务器根据终端的物理特征码验证终端是否在服务器中已经注册,保障了终端和服务器生成传输密钥的安全性。

  一种可能的实现方式中,在该终端根据该物理特征码生成第一参数之后,还包括:该终端根据该第一参数和该公共参数生成第四参数;该终端根据该第四参数确定该第四参数的哈希值;该终端向该服务器发送该第四参数和该第四参数的哈希值。基于该方案,根据第一参数和公共参数生成的第四参数也与终端的物理特征密切相关,终端将与终端的物理特征密切相关的第四参数和第四参数的哈希值发送给服务器,可以使得服务器在接收到没有被修改的第四参数之后在生成第二参数密钥的过程中使用与终端的物理特征密切相关的第四参数。

  一种可能的实现方式中,终端根据该物理特征生成物理特征码,包括:该终端根据该物理特征和该终端的PIN码生成该物理特征码。终端根据物理特征和终端的PIN码生成的物理特征码不仅与终端中不可复制的物理特征相关,并且与终端的PIN码相关,在密钥协商过程中,可以更新PIN码,当PIN码更新时,终端的物理特征码也可以相应地更新,从而终端和服务器协商的传输密钥也可以相应地更新,进一步保障了终端和服务器的通信安全。

  一种可能的实现方式中,终端根据该物理特征码确定该物理特征码的哈希值,包括:该终端根据该物理特征码和该终端的PIN码确定目标哈希值;该终端使用该服务器的公钥将该物理特征码和该物理特征码的哈希值加密,得到第一消息,包括:该终端使用该服务器的公钥将该物理特征码、该终端的PIN码和该目标哈希值加密,得到该第一消息。基于该方案,可以实现根据终端的物理特征码和终端的PIN码确定终端是否在服务器中已经注册,通过使用PIN码和物理特征生成的物理特征码以及PIN码在服务器中的注册,可以进一步加强终端在服务器中的身份认证,若PIN码或者物理特征码任意一个错误,则表明该终端可能为非法终端,此时服务器不再和该终端协商生成传输密钥。

  一种可能的实现方式中,终端基于该物理特征码、该公共参数和第一时间戳生成第一传输密钥,包括:该终端基于该物理特征码、该公共参数、该第一时间戳和该终端的PIN码生成第一传输密钥;该第二传输密钥为该服务器基于该物理特征码、该公共参数和该第一时间戳生成的包括:该第二传输密钥为该服务器基于该物理特征码、该公共参数、该第一时间戳和该终端的PIN码生成的。基于该方案,终端和服务器协商传输密钥时不仅使用与终端物理特征相关的物理特征码,还使用了终端的PIN码,进一步增加了传输密钥的加密强度,从而使得终端和服务器通信时使用该传输密钥加密的安全性。

  一种可能的实现方式中,终端根据该第一参数和该第二参数生成该第一传输密钥,包括:该终端根据该第一参数、该第二参数和该终端的PIN码生成该第一传输密钥。基于该方案,可以实现终端根据该第一参数、该第二参数和该终端的PIN码生成该第一传输密钥,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了终端在与服务器协商密钥前终端的合法性,而且保障了终端的使用者的合法性,进一步增加了传输密钥的加密强度,从而保障了终端和服务器的通信安全。

  一种可能的实现方式中,终端根据该第一参数、该第二参数和该公共参数生成该第一传输密钥,包括:该终端根据该第一参数、该第二参数、该终端的PIN码和该公共参数生成该第一传输密钥。基于该方案,可以实现终端根据该第一参数、该第二参数、该终端的PIN码和该公共参数生成该第一传输密钥,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了终端在与服务器协商密钥前终端的合法性,而且保障了终端的使用者的合法性,进一步增加了传输密钥的加密强度,从而保障了终端和服务器的通信安全。

  一种可能的实现方式中,公共参数包括第一公共参数和第二公共参数;终端根据该第一参数和该公共参数生成该第四参数,包括:该终端根据该第一参数、该第一公共参数和该第二公共参数生成该第四参数;该终端根据该第一参数、该第二参数和该公共参数生成该第一传输密钥,包括:该终端根据第一参数、该第二参数和该第二公共参数生成该第一传输密钥。基于该方案,可以实现终端根据第一参数、第二参数和第二公共参数生成该第一传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  一种可能的实现方式中,终端根据该第一参数、该第二参数和该第二公共参数生成该第一传输密钥,包括:该终端根据该第一参数、该第二参数、该终端的PIN码和该第二公共参数生成该第一传输密钥。基于该方案,可以实现终端根据第一参数、第二参数、终端的PIN码和第二公共参数生成第一传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  又一方面,提供一种传输密钥生成方法,该方法包括:服务器获取公共参数,其中,该公共参数为该服务器或终端随机生成的;该服务器根据任意一个时刻生成第一时间戳;该服务器基于物理特征码、该公共参数和该第一时间戳生成第二传输密钥,其中,该物理特征码可以唯一标识该终端。本申请实施例提供的传输密钥生成方法,服务器使用物理特征码、公共参数和第一时间戳生成传输密钥。一方面,由于终端的物理特征不可复制,入侵者在无法获取终端的物理特征的情况下无法伪造一个物理特征完全相同的终端;再一方面,由于第一时间戳的随机性,入侵者无法知道服务器何时使用时间戳与终端协商密钥,进而无法破解终端和服务器协商生成的传输密钥,因此,终端使用该传输密钥与服务器进行通信时可以保障终端和服务器的通信安全。

  一种可能的实现方式中,服务器基于物理特征码、该公共参数和该第一时间戳生成第二传输密钥,包括:该服务器根据该第一时间戳生成第三参数;该服务器接收该终端发送的第四参数和该第四参数的哈希值;该服务器根据该第四参数的哈希值确定该第四参数是否被修改;若该第四参数没有被修改,则该服务器根据该第三参数和该第四参数生成该第二传输密钥。基于该方案,根据第一时间戳生成的第三参数具有随机性,服务器接收与终端的物理特征密切相关的第四参数和第四参数的哈希值,可以使得服务器在生成第二参数密钥的过程中使用与终端的物理特征密切相关的第四参数,由于第三参数为协商密钥过程中生成的且不在传输信道中传输,则可以使得入侵者无法通过传输信道获取第三参数,进而即使入侵者从传输信道中截获公共参数和第四参数也无法获得第二输密钥,从而保障了终端和服务器的通信安全。

  一种可能的实现方式中,服务器根据该第三参数和该第四参数生成该第二传输密钥,包括:该服务器根据该第三参数、该第四参数和该公共参数生成该第二传输密钥。基于该方案,可以实现服务器根据第三参数、第四参数和公共参数生成该第二传输密钥,从而增加了本申请实施例中传输密钥生成方法的应用场景。

  一种可能的实现方式中,服务器获取公共参数,包括:该服务器根据任意一个时刻生成第三时间戳;该服务器根据该第三时间戳随机生成该公共参数;或,该服务器接收该终端发送的该公共参数和该公共参数的哈希值;该服务器根据该公共参数的哈希值确定该公共参数是否被修改;若该公共参数没有被修改,则该服务器获取该公共参数。基于该方案,服务器可以通过两种方式获取公共参数,服务器可以根据任意一个时间戳生成公共参数,也可以接收终端发送的公共参数。

  一种可能的实现方式中,在该服务器根据该第三时间戳随机生成该公共参数之后,还包括:该服务器根据该公共参数确定该公共参数的哈希值;该服务器向该终端发送该公共参数和该公共参数的哈希值。基于该方案,服务器在根据第三时间戳生成公共参数之后,服务器将生成的公共参数发送给终端,可以保障终端和服务器使用的公共参数相同。

  一种可能的实现方式中,在该服务器获取公共参数之前,还包括:该服务器接收该终端发送的第一消息;该服务器根据该服务器的私钥对该第一消息解密;该服务器根据该物理特征码的哈希值确定该物理特征码是否被修改;若该物理特征码没有被修改,则该服务器根据该物理特征码确定该服务器中是否存在与该物理特征码相同的物理特征码;若该服务器中存在与该物理特征码相同的物理特征码,则该服务器生成第二消息,该第二消息用于指示该终端已注册;该服务器向该终端发送该第二消息。基于该方案,服务器可以根据终端的物理特征码验证终端是否在服务器中已经注册,保障了终端和服务器生成传输密钥的安全性。

  一种可能的实现方式中,在该服务器确定该服务器中是否存在与该物理特征码相同的物理特征码之后,还包括:若该服务器中不存在与该物理特征码相同的物理特征码,该服务器根据该物理特征码注册该终端;在该服务器确定该终端在该服务器中已注册之后,该服务器存储该物理特征码;该服务器向该终端发送该第二消息。基于该方案,服务器可以根据物理特征码注册终端。

  一种可能的实现方式中,在该服务器根据该服务器的私钥对该第一消息解密之后,该服务器根据该物理特征码的哈希值确定该物理特征码是否被修改,包括:该服务器根据该目标哈希值确定该物理特征码和/或该终端的PIN码是否被修改;若该物理特征码没有被修改,则该服务器根据该物理特征码确定该服务器中是否存在与该物理特征码相同的物理特征码,包括:若该物理特征码没有被修改且该终端的PIN码没有被修改,则该服务器根据该物理特征码确定该服务器中是否存在与该物理特征码相同的物理特征码,且该服务器根据该终端的PIN码确定该服务器中是否存在与该终端的PIN码相同的PIN码;若该服务器中存在与该物理特征码相同的物理特征码,则该服务器生成第二消息,该第二消息用于指示该终端已注册,包括:若该服务器中存在与该物理特征码相同的物理特征码,且该服务器中存在与该终端的PIN码相同的PIN码,则该服务器生成第二消息,该第二消息用于指示该终端已注册。基于该方案,服务器可以根据终端的物理特征码和终端的PIN码验证终端是否在服务器中已经注册,保障了终端和服务器生成传输密钥的安全性。

  一种可能的实现方式中,若该服务器中不存在与该物理特征码相同的物理特征码,该服务器根据该物理特征码注册该终端,包括:若该服务器中不存在与该物理特征码相同的物理特征码和/或与该终端的PIN码相同的PIN码,该服务器根据该物理特征码和该终端的PIN码注册该终端;该服务器存储该物理特征码,包括:该服务器存储该物理特征码和该终端的PIN码。基于该方案,服务器可以根据物理特征码和终端的PIN码注册终端。

  一种可能的实现方式中,在该服务器根据该第一时间戳生成第三参数之后,还包括:该服务器根据该第三参数和该公共参数生成第二参数;该服务器根据该第二参数确定该第二参数的哈希值;该服务器向该终端发送该第二参数和该第二参数的哈希值。基于该方案,根据第三参数和公共参数生成的第二参数也具有随机性,服务器将具有随机性的第二参数和第二参数的哈希值发送给重大,可以使得终端在接收到没有被修改的第二参数之后在生成第一参数密钥的过程中使用具有随机性的第二参数和与终端的物理特征码密切相关的第一参数。

  一种可能的实现方式中,服务器基于物理特征码、该公共参数和第一时间戳生成第二传输密钥,包括:该服务器基于该物理特征码、该公共参数、该第一时间戳和该终端的PIN码生成该第二传输密钥;该第一传输密钥为该终端基于该物理特征码、该公共参数和该第一时间戳生成的,包括:该第一传输密钥为该终端基于该物理特征码、该公共参数、该第一时间戳和该终端的PIN码生成的。基于该方案,终端和服务器协商传输密钥时不仅使用与终端物理特征相关的物理特征码,还使用了终端的PIN码,进一步增加了传输密钥的加密强度,从而使得终端和服务器通信时使用该传输密钥加密的安全性。

  一种可能的实现方式中,服务器根据该第三参数和该第四参数生成该第二传输密钥,包括:该服务器根据该第三参数、该第四参数和该终端的PIN码生成该第二传输密钥。基于该方案,可以实现服务器根据第三参数、第四参数和终端的PIN码生成该第一传输密钥,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了终端在与服务器协商密钥前终端的合法性,而且保障了终端的使用者的合法性,进一步增加了传输密钥的加密强度,从而保障了终端和服务器的通信安全。

  一种可能的实现方式中,服务器根据该第三参数、该第四参数和该公共参数生成该第二传输密钥,包括:该服务器根据该第三参数、该第四参数、该终端的PIN码和该公共参数生成该第二传输密钥。基于该方案,可以实现服务器根据第三参数、第四参数、终端的PIN码和该公共参数生成该第一传输密钥,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了终端在与服务器协商密钥前终端的合法性,而且保障了终端的使用者的合法性,进一步增加了传输密钥的加密强度,从而保障了终端和服务器的通信安全。

  一种可能的实现方式中,公共参数包括第一公共参数和第二公共参数;该服务器根据该第三参数和该公共参数生成第二参数包括:该服务器根据该第三参数、该第一公共参数和该第二公共参数生成该第二参数;服务器根据该第三参数、该第四参数和该公共参数生成该第二传输密钥,包括:服务器根据该第三参数、该第四参数和该第二公共参数生成该第二传输密钥。基于该方案,可以实现终端根据第三参数、第四参数和第二公共参数生成该第一传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  一种可能的实现方式中,服务器根据该第三参数、该第四参数和该第二公共参数生成该第二传输密钥,包括:该服务器根根据该第三参数、该第四参数、该终端的PIN码和该第二公共参数生成该第一传输密钥。基于该方案,可以实现终端根据第三参数、第四参数、终端的PIN码和第二公共参数生成第一传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  又一方面,提供一种终端,该终端具有实现上述方法中终端行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

  又一方面,提供一种服务器,该服务器具有实现上述方法中接收设备行为的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

  又一方面,提供一种传输密钥生成系统,该系统包括上述各方面所述的终端和上述各方面所述的服务器。

  又一方面,提供一种终端,包括:处理器、存储器和通信接口;该存储器用于存储计算机执行指令,当该终端运行时,该处理器执行该存储器存储的该计算机执行指令,以使该终端执行上述各方面的传输密钥生成方法。

  又一方面,提供一种服务器,包括:处理器、存储器和通信接口;该存储器用于存储计算机执行指令,当该发送设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该服务器执行上述各方面的传输密钥生成方法。

  又一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的传输密钥生成方法。

  又一方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上执行时,使得计算机执行上述各方面的传输密钥生成方法。

  另外,上述设备实施例中任一种设计方式所带来的技术效果可参见上述传输密钥生成方法实施例中不同设计方式所带来的技术效果,此处不再赘述。

  明文是加密之前的内容。密文是加密之后的内容。比如:明文为数字123,在加密机制为采用字母表加密的情况下,比如123对应abc,则加密之后的密文为abc。

  一个公钥(public key)与一个私钥(private key)组成一个密钥对。其中,公钥是密钥对中公开的部分,私钥则是密钥对中非公开的部分。公钥通常用于加密数据、验证数字签名,私钥通常用于解密加密的数据、签名数据。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密,必须用公钥解密,否则解密将不会成功。

  签名和验签是指用一段密码对明文进行加密,再检测明文有没有被篡改。通常,是用发送者的私钥对数据进行签名,然后接收者用发送者的公钥去验证这个数据是否修改过。比如,A采用A的私钥对数据C进行签名;B采用A的公钥对数据C进行验签。

  根据非对称密码学的原理,每个证书持有者都有一对公钥和私钥,这两个密钥可以互相加解密。数字证书是由电子商务认证授权机构(certificate authority,CA)对证书持有者真实身份验证之后,用CA的根证书对申请者的一些基本信息以及申请者的公钥进行签名(相当于加盖发证书的公章)后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,任何人都可以查询和下载,数字证书和公钥一样是公开的。

  哈希算法可将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值就称为哈希值。哈希值是一段数据的数值表示形式。散列一段纯文本时,即使只更改段落中的一个字母,随后的散列计算都会产生不同的值。如果哈希已进行强加密,其值将发生显著更改。例如,如果更改了消息的一个位,强哈希函数就可能生成相差50%的输出。很多输入值可能会散列为相同的输出值。但是,要找到散列为同一个值的两个不同的输入,在计算上是不可行的。

  需要说明的是,本申请实施例中的“/”表示或的意思,例如,A/B可以表示A或B;本申请实施例中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,“多个”是指两个或多于两个。

  图1为本申请实施例提供的通信系统的架构示意图。如图1所示,该通信系统包括终端和安全接入平台的服务器。其中,终端通过传输网络与安全接入平台的服务器进行通信,该传输网络包括运营商网络和接入点(access point name,APN)专用网络。可选的,如图1所示,该通信系统还可以包括CA的服务器。终端可以将生成的终端的公钥和终端的信息发送给CA的服务器,由CA的服务器根据终端的公钥和终端的信息生成终端的数字证书。任意一个设备需要和该终端进行通信都可以从CA的服务器中获取该终端的数字证书。终端也可以从CA中获取服务器的数字证书,其中,服务器的数字证书包括服务器的信息和服务器的公钥。比如,图1中,安全接入平台的服务器需要和终端通信时,安全接入平台的服务器可以从CA的服务器中获取该终端的数字证书,该终端可以从CA的服务器中获取该安全接入平台的服务器的数字证书。

  如图2所示,图1中的终端和安全接入平台的服务器可以通过图2中的计算机设备来实现。

  图2为本申请实施例提供的一种计算机设备200的硬件结构示意图,该服务器200包括处理器201,通信总线可以是一个通用处理器,例如中央处理器(central processing unit,CPU),网络处理器(network processor,NP),或CPU和NP的组合。

  通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信。通信接口204包括有线通信接入口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。

  存储器203可用于存储程序代码。处理器201用于执行存储器203中存储的程序代码,从而实现本申请实施例提供的传输密钥生成方法。

  在具体实现中,处理器201可以包括一个或多个核,例如图2中的核1和核2。

  在具体实现中,服务器200可以包括一个处理器或多个处理器,例如图2中的处理器201和处理器208。

  在具体实现中,作为一种实施例,服务器200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。

  首先,结合图1所示的通信系统,以终端与安全接入平台的服务器的交互为例,本申请实施例提供的传输密钥生成方法的交互示意图如图3所示,包括步骤S301-S306:

  可选的,本申请实施例中的物理特征可以选择使用终端中的涂层特征、光学特征或终端中的静态随机存取存储器(static random access memory,SRAM)特征中的一个或多个。

  示例性的,在涂层方面,可以选择终端内的一个集成电路(integrated circuit,IC)上喷上一层包含随机介质颗粒的涂层,根据IC顶部的金属层上的电容式传感器测量随机介质颗粒造成的随机电容值,该随机电容值可以作为终端涂层方面的物理特征码。在光学层面,可以在终端中增加光学令牌,比如小光透明令牌,该小光透明令牌包含随机掺杂的光散射粒子,当用激光照射该小光透明令牌时,由于随机掺杂的随机光散射粒子导致光束多次散射形成不规则散斑,使用伽柏滤波器提取散斑得到一个散列值的字符串,该字符串可作为终端在光学层面的物理特征码。假设激光的物理参数是激励,则滤波器的输出是响应,由于激光和散射粒子相互作用的复杂性质,响应被认为是高度随机和唯一的。该响应依赖于光令牌的微观物理细节,同样型号两个的光令牌将显示出一个不同的激励响应行为,从而防止克隆的发生。在SRAM层面,在终端执行引导程序(bootloader)阶段获取SRAM的初始值,可以得到包含多个“0”或“1”的一个序列,即为物理特征码。上述三个层面由于环境的因素产生噪声,可以利用模糊提取的方式将噪声纠错并恢复,以此可以保证每次获取的物理特征码是不变的。

  需要说明的是,本申请实施例中的公共参数也可以为终端和服务器都从同一个其他设备获得的,本申请实施例对于公共参数的获得方式不作任何限制。

  需要说明的是,步骤S302和步骤S303的顺序没有先后之分,步骤S305和步骤S306没有先后之分。

  本申请实施例提供的传输密钥生成方法,终端根据物理特征生成物理特征码,终端和服务器使用该物理特征码、公共参数和第一时间戳生成传输密钥。一方面,由于终端的物理特征不可复制,入侵者在无法获取终端的物理特征的情况下无法伪造一个物理特征完全相同的终端;另一方面,终端和服务器都使用公共参数,因此,公共参数可以增加传输密钥中与终端和服务器的相关性;再一方面,由于第一时间戳的随机性,入侵者无法知道服务器何时使用时间戳与终端协商密钥,进而无法破解终端和服务器协商生成的传输密钥,因此,终端使用该传输密钥与服务器进行通信时可以保障终端和服务器的通信安全。

  其中,上述步骤S301、S302和S305中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述S303、S304和S306中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  S305A、终端基于物理特征码、公共参数、第一时间戳和终端的PIN码生成第一传输密钥。

  S306A、服务器基于物理特征码、公共参数、第一时间戳和终端的PIN码生成第二传输密钥。

  基于该方案,终端和服务器协商传输密钥时不仅使用与终端物理特征相关的物理特征码,还使用了终端的PIN码,进一步增加了传输密钥的加密强度,从而使得终端和服务器通信时使用该传输密钥加密的安全性。

  其中,上述步骤S301A和S305A中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述S306A中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  需要说明的是,本申请实施例中对于公共参数的个数不作任何限制,公共参数的个数可以为1、2或其他。

  本申请实施例中仅以公共参数个数为1个或2个,物理特征码为终端根据终端的物理特征生成的或根据终端的物理特征和终端的PIN码生成的为例进行说明,包括以下四个实施例。

  本申请实施例的公共参数为1个,物理特征码为终端根据终端的物理特征生成的。

  可选的,如图4所示,对图3所示的传输密钥生成方法进行展开说明,包括步骤S401-S434:

  需要说明的是,若终端需要使用服务器的公钥对数据加密,终端只需要在加密数据前获取服务器的公钥即可,本申请实施例对终端获取服务器的公钥的时刻不做任何限定。

  可选的,终端可以请求服务器将服务器的公钥发送给终端,也可以从服务器的数字证书中获得;服务器的公钥可以直接存储在服务器中,也可以存储在数字证书中;服务器中可以保存该服务器的数字证书,也可以不保存该服务器的数字证书,本申请实施例对此不作任何限定。

  可选的,终端还可以根据终端的物理特征码生成终端的公钥和终端的私钥。在生成终端的公钥之后,终端可以将终端的公钥发送给CA,CA根据终端的公钥可以为终端生成数字证书,其他设备都可以从CA中下载终端的数字证书,进而从终端的数字证书中获得终端的公钥。

  比如,服务器获得终端的公钥之后,可以使用终端的公钥加密向终端发送的数据,终端接收到使用终端的公钥加密的数据后可以使用终端的私钥进行解密。

  可选的,本申请实施例中,终端和服务器进行通信时终端可以使用终端的私钥对传输的数据进行签名,服务器使用终端的公钥可以对接收到的数据进行验签;同样的,服务器可以使用服务器的私钥对传输数据进行签名,终端使用服务器的公钥可以对接收到的数据进行验签,以下不再赘述。

  S404、终端使用服务器的公钥将物理特征码和物理特征码的哈希值加密,得到第一消息。

  可选的,在终端使用服务器的公钥对物理特征码和物理特征码的哈希值加密得到第一消息之后,还可以使用终端的私钥对第一消息进行签名。

  需要说明的是,在实际应用中第一消息中还可以包括终端的公钥等其他信息,比如第一消息中还可以包括:注册请求标识、设备身份标识号码(identity,ID)、国际移动设备身份码(international mobile equipment identity,IMEI)、终端的公钥和目标哈希值,其中目标哈希值为终端根据物理特征码、注册请求标识、设备ID、IMEI、终端的公钥计算获得的。

  需要说明的是,服务器也可以根据其他参数随机生成公共参数,比如内存利用率等,也可以不使用参数,利用随机数生成器直接生成公共参数,本申请实施例对此不作任何限制。

  基于该方案,服务器向终端发送公共参数和公共参数的哈希值可以使得服务器接收该公共参数并验证公共参数是否被修改。

  可选的,假设公共参数和公共参数的哈希值为明文1,在服务器向终端发送明文1之前,服务器可以使用终端的公钥对明文1加密得到密文1,服务器还可以使用服务器的私钥对密文1进行签名得到密文2;终端接收到密文2之后可以使用服务器的公钥对密文2验签,验签成功则说明终端可以确定密文2为服务器发送的消息,验签成功之后终端得到密文1,终端使用自己的私钥对密文1解密,若解密成功则终端确定密文1是服务器根据终端的公钥进行加密的。

  需要说明的是,本申请实施例中,终端根据物理特征码生成终端的公钥,在实际应用中可以同时生成终端的公钥和第一参数,或者,可以先生成终端的公钥在再生成第一参数,或者,先生成第一参数再生成终端的公钥,本申请实施例对此不作任何限定。

  需要说明的是,终端在接收到服务器发送的公共参数和公共参数的哈希值之后,假设服务器发送的公共参数的哈希值为第一哈希值,终端根据接收到的公共参数计算第二哈希值,若终端计算得到的第二哈希值等于第一哈希值,则表明公共参数没有被修改,这样可以使得终端验证接收到的数据是否为服务器发送的原始数据。

  S416、若该物理特征码没有被修改,则服务器根据该物理特征码确定服务器中是否存在与该物理特征码相同的物理特征码。

  S417、若服务器中存在与该物理特征码相同的物理特征码,则服务器生成第二消息。

  需要说明的是,本申请实施例中,为了保障终端与服务器的通信安全,终端在与服务器协商传输密钥之前可以先确定终端是否在服务器中已经注册,终端在服务器中注册时可以将终端的物理特征码同时发送给服务器,可以使得服务器确定终端发送的第一消息中是否携带的物理特征码为注册时使用的物理特征码,如果服务器存在与物理特征码相同的物理特征码,则服务器确定终端已经注册过,则服务器可以通知终端已注册,此时,终端和服务器可以进行密钥协商。

  需要说明的是,在实际应用中,服务器还可以根据其他附加的信息确定终端是否在服务器中注册,比如,终端的ID。

  基于该方案,可以根据终端的物理特征码确定终端是否在服务器中已经注册,保障了终端和服务器生成传输密钥的安全性。

  由于第一参数是终端根据物理特征码生成的,则第一参数与终端的物理特征密切相关,因此,根据第一参数和公共参数生成的第四参数与终端的物理特征也密切相关,终端将与终端的物理特征密切相关的第四参数和第四参数的哈希值发送给服务器,使得服务器在接收到没有被修改的第四参数之后,在生成传输密钥的过程中使用与终端的物理特征密切相关的第四参数。

  由于第一时间戳为服务器根据任意一个时刻生成的时间戳,则根据第一时间戳生成的第三参数具有随机性,因此,根据第三参数和公共参数生成的第二参数也具有随机性,这样可以使得终端在接收到没有被修改的第二参数后根据第二参数生成的传输密钥也具有随机性。

  S431、若第二参数没有被修改,则终端根据第一参数和第二参数生成第一传输密钥。

  在第二参数没有没修改的前提下,终端根据与终端的物理特征相关的第一参数和具有随机性的第二参数生成第一传输密钥,由于第一参数不在传输信道中传输,则可以使得入侵者无法通过传输信道获取第一参数,进而即使入侵者从传输信道中截获公共参数和第二参数也无法获得第一传输密钥。

  S434、若第四参数没有被修改,则服务器根据第三参数和第四参数生成第二传输密钥。

  在第四参数没有修改的前提下,服务器根据与终端的物理特征相关的第四参数和具有随机性的第三参数生成第二传输密钥,由于第三参数不在传输信道中传输,则可以使得入侵者无法通过传输信道获取第一参数,进而即使入侵者从传输信道中截获公共参数和第四参数页无法获得第二传输密钥。

  本申请实施例提供的传输密钥生成方法中,终端在协商传输密钥的过程中使用不可复制的物理特征生成物理特征码,根据物理特征码生成第一参数,根据公共参数和与物理特征相关的第一参数生成第四参数,服务器根据随机的一个时刻生成的第一时间戳生成第三参数,根据公共参数和具有随机性的第三参数生成第二参数,终端和服务器交换第四参数和第二参数,终端根据自己生成的第一参数和接收到的第二参数以及公共参数生成第一传输密钥,服务器根据自己生成的第四参数和接收到的第三参数以及公共参数生成第二传输密钥,第一传输密钥等于第二传输密钥,由于物理特征的不可复制以及时间戳具有的随机性,因此生成的传输密钥与终端的物理特征密切相关,由于终端的物理特征的不可复制性,因此入侵者无法通过复制终端的信息伪造一个合法的终端,进而不仅保障了终端在与服务器协商密钥前终端的合法性,并且在传输密钥的协商过程中保障了传输密钥生成的安全性,从而保障了终端和服务器的通信安全。

  其中,上述步骤S401-S405、S410-S412、S419-S423和S429-S431中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S406-S409、S413-S418、S424-S428和S432-S434中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,步骤S406-S412还可以包括步骤S406A-S412A:

  基于该方案,可以实现终端根据第二时间戳随机生成公共参数,并将公共参数发送给服务器。

  其中,上述步骤S406A-S409A中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S410A-S412A中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,在步骤S416之后,还包括步骤S435-S437:

  S435、若服务器中不存在与物理特征码相同的物理特征码,服务器根据物理特征码注册终端。

  需要说明的是,在实际应用中,终端是否已注册于多个信息的验证相关,本申请实施例中仅仅表示在其他信息都验证通过以后,再根据终端的物理特征码验证终端是不是伪造的终端,若物理特征码不同则表明终端可能为伪造的终端,若物理特征码相同则表明终端为已经注册的终端。

  需要说明的是,终端在服务器中注册时,仅仅是在注册的过程中新增加一个物理特征码,服务器在确定终端是否注册时,可以通过判断第一消息中携带的物理特征码和服务器存储的物理特征码是否相同判断终端是否注册。

  基于该方案,在服务器根据第一消息中的物理特征码确定终端没有注册,服务器可以根据第一消息中的物理特征码将终端进行注册,若根据物理特征码注册成功则可以向终端发送第二消息。

  其中,上述步骤S435-S437中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  实施例二与实施例一原理相似,区别之处在于物理特征码为终端根据终端的物理特征和终端的PIN码生成的。

  可选的,如图5所示,对图3所示的安全通信方法进行展开说明,包括步骤S501-S534:

  由于物理特征码或者终端的PIN码任何一个发生变化,目标哈希值则发生较大的改变,根据目标哈希值可以使得服务器在接收到物理特征码、终端的PIN码和目标哈希值时,仅通过目标哈希值就可以确定物理特征码和终端的PIN码是否存在至少一个值被篡改,可以更安全的保证服务器接收到的物理特征码和终端的PIN码为终端发送的原始数据。

  S504、终端使用服务器的公钥将物理特征码、终端的PIN码和目标哈希值加密,得到第一消息。

  终端根据物理特征和终端的PIN码生成的物理特征码不仅与终端中不可复制的物理特征相关,并且与终端的PIN码相关,在密钥协商过程中,可以更新PIN码,当PIN码更新时,终端的物理特征码也可以相应地更新,进而,终端生成的公钥和私钥也可以相应地更新,从而终端和服务器协商的传输密钥也可以相应地更新。

  S515、服务器根据目标哈希值确定该物理特征码和/或终端的PIN码是否被修改。

  S516、若该物理特征码没有被修改且终端的PIN码没有被修改,则服务器根据该物理特征码确定服务器中是否存在与该物理特征码相同的物理特征码,且服务器根据终端的PIN码确定服务器中是否存在与终端的PIN码相同的PIN码。

  S517、若服务器中存在与该物理特征码相同的物理特征码,且服务器中存在与终端的PIN码相同的PIN码,则服务器生成第二消息。

  可以实现服务器根据终端的物理特征码和终端的PIN码确定终端是否在服务器中已经注册,通过使用PIN码和物理特征生成的物理特征码以及PIN码在服务器中的注册,可以进一步加强终端在服务器中的身份认证,若PIN码或者物理特征码任意一个错误,则表明该终端可能为非法终端,此时服务器不再和该终端协商生成传输密钥。

  S531、若第二参数没有被修改,则终端根据第一参数、第二参数和终端的PIN码生成第一传输密钥。

  终端根据第一参数、第二参数和终端的PIN码生成该第一传输密钥,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了终端在与服务器协商密钥前终端的合法性,而且保障了终端的使用者的合法性,进一步增加了传输密钥的加密强度,从而保障了终端和服务器的通信安全。

  S534、若第四参数没有被修改,则服务器根据第三参数、第四参数和终端的PIN码生成第二传输密钥。

  服务器根据该第三参数、第四参数和终端的PIN码生成第二传输密钥,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了服务器确定终终端的合法性,而且保障了终端的使用者的合法性,进一步增加了传输密钥的加密强度,从而保障了终端和服务器的通信安全。

  基于本申请实施例提供的传输密钥生成方法,终端在协商传输密钥的过程中使用不可复制的物理特征和终端的PIN码生成物理特征码,根据物理特征码生成第一参数,根据公共参数和与物理特征相关的第一参数生成第四参数,服务器使用随机的一个时刻生成的第一时间戳生成第一参数,根据公共参数和具有随机性的第一参数生成第四参数,终端和服务器交换第四参数和第二参数,终端根据终端生成的第一参数和接收到的第二参数以及公共参数生成第一传输密钥,服务器根据终端生成的第三参数和接收到的第四参数以及公共参数生成第二传输密钥,第一传输密钥等于第二传输密钥。一方面,由于物理特征的不可复制以及时间戳具有的随机性,因此生成的传输密钥与终端的物理特征密切相关,由于终端的物理特征的不可复制性,因此入侵者无法通过复制终端的信息伪造一个合法的终端;另一方面,终端在生成物理特征码时引入终端的PIN码,PIN码可以由终端的使用者控制,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而不仅保障了终端在与服务器协商密钥前终端的合法性,而且保证了终端的使用者的合法性,在传输密钥的协商过程中保障了传输密钥生成的安全性,从而保障了终端和服务器的通信安全。

  其中,上述步骤S501-S505、S510-S512、S519-S523和S529-S530中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S506-S509、S513-S518、S524-S528和S532-S534中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,步骤S506-S512还可以包括步骤S506A-S512A:

  基于该方案,可以实现终端根据第二时间戳随机生成公共参数,并将公共参数发送给服务器。

  其中,上述步骤S506A-S509A中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S510A-S512A中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,在步骤S516之后,还包括步骤S535-S537:

  S535、若服务器中不存在与物理特征码相同的物理特征码和/或与终端的PIN码相同的PIN码,服务器根据物理特征码和终端的PIN码注册终端;

  S536、在服务器确定终端在服务器中已注册之后,服务器存储物理特征码和终端的PIN码。

  基于该方案,若服务器中不存在与物理特征码相同的物理特征码和/或与终端的PIN码相同的PIN码终端,没有注册,服务器可以根据第一消息中的物理特征码和终端的PIN码将终端进行注册,若根据物理特征码和终端的PIN码注册成功则可以向终端发送第二消息。

  其中,上述S535-S537中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  本申请实施例的公共参数为2个,公共参数包括第一公共参数和第二公共参数,物理特征码为终端根据终端的物理特征生成的。

  可选的,如图6所示,对图3所示的安全通信方法进行展开说明,包括步骤S601-S634:

  S604、终端使用服务器的公钥将物理特征码和物理特征码的哈希值加密,得到第一消息。

  S611、终端根据第一哈希值确定第一公共参数和/或第二公共参数是否被修改。

  S612、若第一公共参数没有被修改且第二公共参数没有被修改,则终端获取第一公共参数和第二公共参数。

  S616、若该物理特征码没有被修改,则服务器根据该物理特征码确定服务器中是否存在与该物理特征码相同的物理特征码。

  S617、若服务器中存在与该物理特征码相同的物理特征码,则服务器生成第二消息。

  S631、若第二参数没有被修改,则终端根据第一参数、第二参数和第二公共参数生成第一传输密钥。

  可以实现终端根据第一参数、第二参数和第二公共参数生成第一传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  S634、若第四参数没有被修改,则服务器根据第三参数、第四参数和第二公共参数生成第二传输密钥。

  可以实现服务器根据第三参数、第四参数和第二公共参数生成第二传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  本申请实施例提供的传输密钥生成方法,通过终端和服务器使用多个公共参数协商生成传输密钥,不仅使得终端和服务器协商生成的传输密钥加密性更强,还可以使得本申请实施例提供的传输密钥生成方法应用更广泛,从而保障终端和服务器的通信安全。

  其中,上述步骤S601-S605、S610-S612、S619-S623和S629-S631中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述S606-S609、S613-S618、S624-S628和S632-S634中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,步骤S606-S612还可以包括步骤S606A-S612A:

  S610A、服务器接收终端发送的第一公共参数、第二公共参数和第一哈希值。

  S611A、服务器根据第一哈希值确定第一公共参数和/或第二公共参数是否被修改。

  S612A、若第一公共参数没有被修改且第二公共参数没有被修改,则服务器获取第一公共参数和第二公共参数。

  基于该方案,可以实现终端根据第二时间戳随机生成第一公共参数和第二公共参数,并将第一公共参数和第二公共参数发送给服务器。

  其中,上述步骤S606A-S609A中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S610A-S612A中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,在步骤S616之后,还包括步骤S635-S637:

  基于该方案,在服务器根据第一消息中的物理特征码确定终端没有注册,服务器可以根据第一消息中的物理特征码将终端进行注册,若根据物理特征码注册成功则可以向终端发送第二消息。

  其中,上述步骤S635-S637中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  实施例四与实施例三原理相似,区别之处在于物理特征码为终端根据终端的物理特征和终端的PIN码生成的。

  可选的,如图7所示,对图3所示的安全通信方法进行展开说明,包括步骤S701-S734:

  S704、终端使用服务器的公钥将物理特征码、终端的PIN码和目标哈希值加密,得到第一消息。

  S711、终端根据第一哈希值确定第一公共参数和/或第二公共参数是否被修改。

  S712、若第一公共参数没有被修改且第二公共参数没有被修改,则终端获取第一公共参数和第二公共参数。

  S715、服务器根据目标哈希值确定该物理特征码和/或终端的PIN码是否被修改。

  S716、若该物理特征码没有被修改且终端的PIN码没有被修改,则服务器根据该物理特征码确定服务器中是否存在与该物理特征码相同的物理特征码,且服务器根据终端的PIN码确定服务器中是否存在与终端的PIN码相同的PIN码。

  S717、若服务器中存在与该物理特征码相同的物理特征码,且服务器中存在与终端的PIN码相同的PIN码,则服务器生成第二消息。

  S731、若第二参数没有被修改,则终端根据第一参数、第二参数、终端的PIN码和第二公共参数生成第一传输密钥。

  基于该方案,可以实现终端根据第一参数、第二参数、终端的PIN码和第二公共参数生成第一传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  S734、若第四参数没有被修改,则服务器根据第二参数、第四参数、终端的PIN码和第二公共参数生成第二传输密钥。

  基于该方案,可以实现终端根据第四参数、第四参数、终端的PIN码和第二公共参数生成第二传输密钥,可以增加本申请实施例提供的传输密钥生成方法的应用场景。

  本申请实施例提供的传输密钥生成方法,通过使用第一公共参数和第二公共参数可以适应更多的加密算法,在使用多个公共参数的前提下,终端使用物理特征和PIN码生成物理特征码与服务器协商生成传输密钥,可以实现加密程度更强,使用不同的PIN码生成的传输密钥不同,可以使得生成的传输密钥并非永久不变,使用PIN码可以适时的更改传输密钥,进而可以保障终端和安的服务器的通信安全。

  其中,上述步骤S701-S705、S710-S712、S719-S723和S729-S731中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S706-S709、S713-S718、S724-S728和S732-S734中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,步骤S706-S712还可以包括步骤S706A-S712A:

  基于该方案,可以实现终端根据第二时间戳随机生成公共参数,并将公共参数发送给服务器。

  其中,上述步骤S706A-S709A中终端的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  其中,上述步骤S710A-S712A中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  一种可能的实现方式中,在步骤S716之后,还可以包括步骤S735-S737:

  基于该方案,若服务器中不存在与物理特征码相同的物理特征码和/或与终端的PIN码相同的PIN码终端,没有注册,服务器可以根据第一消息中的物理特征码和终端的PIN码将终端进行注册,若根据物理特征码和终端的PIN码注册成功则可以向终端发送第二消息。

  其中,上述步骤S735-S737中服务器的动作可以由图2所示的计算机设备200中的处理器201调用存储器203中存储的应用程序代码来执行,本申请实施例对此不作任何限制。

  下面将给出结合上述实施例提供的传输密钥生成方法对PDA和服务器进行传输密钥的生成的具体示例。

  本申请实施例中的公共参数为2个,公共参数为服务器生成的,物理特征码为PDA根据物理特征生成的。

  为了便于说明,示例1中的物理特征码记为fc、第一时间戳记为time2、第三时间戳记为time1、第一参数记为Xa1、第二参数记为XB1、第三参数记为Xb1、第四参数记为XA1、公共参数记为p1和g1、第一传输密钥记为KA1和第二传输密钥记为KB1。

  PDA检查PDA中是否存在服务器的公钥Spbk,在没有服务器的公钥Spbk的情况下,PDA向CA请求获得服务器的证书,根据服务器的数字证书获取服务器的公钥Spbk。

  需要说明的是,在PDA生成公钥之后,PDA向CA发送PDA的公钥,CA生成PDA的数字证书并存储在CA中,PDA中可以保存也可以不保存PDA的数字证书。

  服务器检查服务器中是否存在PDA的公钥PDApbk,若没有PDApbk,服务器请求CA发送PDA的证书,根据PDA的数字证书获取PDA的公钥PDApbk。

  通常,PDA在发送物理特征码时还可将设备ID、注册标识reg、国际移动设备识别码IMEI和PDApbk等同时携带;

  服务器根据设备ID、注册标识reg、IMEI、fc、PDApbk确定哈希值1。

  PDA对设备ID、注册标识reg、IMEI、fc1、PDApbk,以及哈希值1使用服务器的公钥Spbk加密得到第一消息。

  服务器根据设备ID、reg、IMEI、fc和PDApbk重新计算哈希值2。

  若哈希值1=哈希值2,则确定设备ID、reg、IMEI、fc和PDApbk任意一个都没有被修改。

  步骤7、服务器根据fc判断服务器中是否存在与fc相同的物理特征码,存在与fc相同的物理特征码则服务器确定PDA已注册。

  步骤8、服务器根据时刻1的时间戳time1生成素数p1和整数g1,p1和g1为公共参数。

  需要说明的,该示例中可以将公共参数携带在第二消息中发送给PDA,第二消息中可以携带PDA的ID,注册成功的标识suc,素数p1和整数g1以及哈希值3,哈希值3为根据PDA的ID,suc,素数p1和整数g1计算得到的。

  该示例中的第二消息为服务器可以使用PDA的公钥PDApbk加密,进而使用服务器的私钥Spbk签名得到的。

  PDA使用PDA的私钥PDApvk对第二消息进行解密,再使用服务器的公钥进行验签。

  根据ID,suc,p1,g1计算哈希值4,若哈希值3等于哈希值4,则确定ID,suc,p1,g1没有被修改,存储素数p1和整数g1。

  假设XA1和XA1的哈希值为明文1,PDA使用服务器的公钥Spbk对明文1加密得到密文1,再使用PDA的私钥PDApvk对密文1签名得到密文2。

  假设XB1和XB1的哈希值为明文2,服务器使用PDA的公钥对明文2加密得到密文3,再使用服务器的私钥Spbk对密文3签名得到密文4。

  步骤15、PDA使用PDA的公钥PDApbk对密文2验签得到密文1、并使用服务器的公钥Spbk对密文1解密得到明文1,根据XB1的hash值确定XB1没有被修改,则根据XB1、Xa1和p1生成传输密钥

  步骤16、服务器使用服务器的公钥Spbk对密文4验签得到密文3、并使用PDA的公钥PDApbk对密文3解密得到明文1,根据XA1的哈希值确定XA1没有被修改,则根据XA1、Xb1和p1生成传输密钥

  通常,PDA和服务器在进行生成传输密钥时,PDA可以使用PDA的私钥PDApvk对传输数据进行签名,服务器使用PDA的公钥PDApbk进行验签;服务器还可以使用服务器的私钥Spbk对传输数据进行签名,PDA还可以使用服务器的公钥Spbk进行验签,本申请实施例对此不作任何限定。

  本申请实施例中的示例2中公共参数为2个,公共参数为服务器生成的,物理特征码为根据物理特征和PIN码生成的。

  为了便于说明,示例2中的物理特征码记为p_fc、第一时间戳记为time2、第三时间戳记为time3、第一参数记为Xa2、第二参数记为XB2、第三参数记为Xb2、第四参数记为XA2、公共参数记为p2和g2、第一传输密钥记为KeA和第二传输密钥记为KeB。

  需要说明的是,PIN码可以作为PDA的开机密码,当PIN码不正确的情况下,无法进入PDA的系统,这样可以保障入侵者不知道PIN码的情况下无法使用PDA与服务器生成传输密钥。

  服务器检查服务器中是否存在PDA的公钥PDApbk,在没有PDA的公钥PDApbk的情况下,服务器向CA请求获得PDA的证书,根据PDA的数字证书获取PDA的公钥PDApbk。

  根据设备ID、注册标识、国际移动设备识别码IMEI、PIN码、p_fc、PDApbk计算哈希值5。

  假设PDA使用服务器的公钥Spbk对设备ID、注册标识reg、IMEI、PIN码、p_fc、PDApbk和哈希值5进行加密得到第一消息。

  服务器根据设备ID、注册标识reg、IMEI、PIN码、p_fc重新计算哈希值6。

  若哈希值5=哈希值6,则确定设备ID、reg、IMEI、PIN码、p_fc和PDApbk任意一个都没有被修改。

  步骤7、服务器根据p_fc和PIN码判断服务器中是否存在与p_fc相同的物理特征码且存在与PDA的PIN码相同的PIN码,若存在与p_fc相同的物理特征码且存在与fc相同的物理特征码,服务器确定PDA已注册。

  步骤8、服务器根据时刻3的时间戳time3生成素数p2和整数g2,p2和g2为公共参数。

  第二消息中可以携带PDA的ID,注册成功的标识suc,素数p2和整数g2以及哈希值7,哈希值7为服务器根据PDA的ID,注册成功的标识suc,素数p2和整数g2计算得到的,

  该示例中的消息7为服务器可以使用PDA的公钥PDApbk加密,进而使用服务器的私钥Spbk签名得到的。

  PDA使用PDA的私钥PDApvk对第二消息进行解密,再使用服务器的公钥进行验签。

  根据ID,suc,p2,g2计算哈希值8,若哈希值7等于哈希值8,则确定ID,suc,p2,g2没有被修改,存储素数p2和整数g2。

  本申请实施例的示例3中公共参数为1个,公共参数为PDA生成的,物理特征码为PDA根据物理特征生成的。

  为了便于说明,示例3中的物理特征码记为fc、第一时间戳记为time6、第二时间戳记为time5、第一参数记为Xa3、第二参数记为XB3、第三参数记为Xb3、第四参数记为XA3、公共参数记为G、第一传输密钥记为KA3和第二传输密钥记为KB3。

  根据设备ID、注册标识、国际移动设备识别码IMEI、PIN码、fc、PDApbk、G计算哈希值9。

  假设PDA使用服务器的公钥Spbk对设备ID、注册标识reg、IMEI、PIN码、fc、PDApbk和哈希值9进行加密得到第一消息。

  第二消息中可以携带PDA的ID,注册成功的标识suc以及哈希值10,哈希值10为服务器根据PDA的ID,注册成功的标识suc计算得到的。

  PDA使用PDA的私钥PDApvk对第二消息进行解密,再使用服务器的公钥进行验签。

  根据ID,suc计算哈希值11,若哈希值10等于哈希值11,则确定ID,suc没有被修改。

  步骤16、若验证XA3没有被修改则服务器根据XA3、Xb3生成KB3=Xb3*XA3。

  本申请实施例的示例4中公共参数为1个,公共参数为PDA生成的,物理特征码为根据物理特征和PIN码生成的。

  下面,给出根据上述传输密钥生成方法示例1和示例2中PDA产生的传输密钥和服务器产生的传输密钥相等的证明:

  需要说明的是,计算整数商时结果向负无穷方向舍入,取模运算结果的符号和b一致。

  modp……gp-1modp为各不相同的数,且以某种排列方式组成了从1到p-1的所有整数。如果对于一个整数X和素数p的一个原根g,可以找到一个唯一的指数i,使得:X=(g

  )modp,其中,0≤i≤p-1,那么指数i称为X的以g为基数的模p的离散对数。通常,当已知素数p和它的一个原根g后,对给定的X,要计算i,被认为是很困难的,而给定i计算X却相对容易。

  由于Xa和Xb是保密的,而入侵者只有p、g、XA、XB可以利用,只有通过取离散对数来确定传输密钥,但对于大的素数p,计算离散对数是十分困难的。

  下面,给出根据上述传输密钥生成方法示例3和示例4中PDA产生的传输密钥和服务器产生的传输密钥相等的证明:

  首先,示例3是基于椭圆曲线密码体制生成传输密钥,椭圆曲线密码体制来源于对椭圆曲线的研究。

  +a1xy+a2y=x3+a3x2+a4x+a5所确定的平面曲线。其中,系数ai(i=1,2,...,5)定义在某个域上,可以是有理数域、实数域、复数域,还可以是有限域,椭圆曲线密码体制中用到的椭圆曲线都是定义在有限域上的。椭圆曲线上所有的点外加一个叫做无穷远点的特殊点构成的集合连同一个定义的加法运算构成一个阿贝尔群。

  在等式mP=P+P+…+P=Q中,已知m和点P求点Q比较容易,反之已知点Q和点P求m却是相当困难的,这个问题称为椭圆曲线上点群的离散对数问题。其中,阿贝尔群也称为交换群或可交换群,它是满足其元素的运算不依赖于它们的次序的群。

  由于Xa和Xb是保密的,而入侵者只有G、XA、XB可以利用,只有通过椭圆曲线来确定传输密钥,但对于椭圆曲线来说,给定一个点XA计算Xa是十分困难的。

  上述主要从终端和服务器交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上述终端和服务器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请实施例中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

  本申请实施例可以根据上述方法示例对终端和服务器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

  比如,在采用对应各个功能划分各个功能模块的情况下,图8示出了上述实施例中所涉及的终端800的一种可能的结构示意图。如图8所示,终端800包括生成模块801和获取模块802。可选的,终端800还包括确定模块803、发送模块804、加密模块805、接收模块806。其中,本申请实施例中将第一确定模块、第二确定模块和第三确定模块集成为一个确定模块803为例进行说明,也可以不集成为一个确定模块,本申请实施例对此不作任何限制;本申请实施例中将第一发送模块、第二发送模块和第三发送模块集成为一个发送模块804为例进行说明,也可以不集成为一个发送模块,本申请实施例对此不作任何限制。其中,生成模块801用于支持终端800执行上述方法实施例中的步骤S301(包括S301A)、S305(包括S305A)、S401、S420、S421、S429-S431、S501、S520、S521、S529-S531、S601、S620、S621、S629-S631、S701、S720、S721和S729-S732;获取模块802用于支持终端800执行上述方法实施例中的步骤S302、S402、S406A-S407A、S410-S412、S502、S506A-S507A、S510-S512、S602、S606A-S607A、S610-S612、S702、S706A-S707A和S710-S712;确定模块803用于支持终端800执行上述方法实施例中的步骤S403、S408A、S422、S503、S508A、S522、S603、S608A、S622、S708A、S722和S703;发送模块804用于支持终端800执行上述方法实施例中的步骤S405、S409A、S423、S505、S509A、S523、S605、S609A、S623、S709A、S705和S723;加密模块805用于支持终端800执行上述方法实施例中的步骤S404、S504、S604和S704;接收模块806用于支持终端800执行上述方法实施例中的步骤S419、S519、S619和S719。

  其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

  其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。

  比如,在采用对应各个功能划分各个功能模块的情况下,图10示出了上述实施例中所涉及的服务器1000的一种可能的结构示意图。如图10所示,服务器1000包括:获取模块1001和生成模块1002。可选的,服务器1000还包括确定模块1003、发送模块1004、接收模块1005、解密模块1006、注册模块1007和存储模块1008。其中,本申请实施例中将第一确定模块、第二确定模块和第三确定模块集成为一个确定模块1003为例进行说明,也可以不集成为一个确定模块,本申请实施例对此不作任何限制;本申请实施例中将第一发送模块、第二发送模块和第三发送模块集成为一个发送模块1004,也可以不集成为一个发送模块,本申请实施例对此不作任何限制。其。

本文链接:http://pikeducation.com/erjimiyue/336.html