用密码算法提交个人识别码的系统的制作方法

文档序号:7724462阅读:397来源:国知局
专利名称:用密码算法提交个人识别码的系统的制作方法
技术领域
本发明涉及网络信息安全技术,特别是一种用密码算法提交个人识别码的系统。
背景技术
个人识别码又称用户口令或者PIN码,是表明用户身份的字母数字符号序列。个 人识别码在安全终端、电子商务、电子政务、网上银行和网络游戏等领域普遍使用。个人识 别码配合用户名一起使用,表明用户以合法身份登录应用系统。在基于用户身份的系统中, 个人识别码的保密是系统正常运营的基础。进而,个人识别码的提交过程值得特别的关注。通常,个人识别码在到达安全终端设备或者应用系统的信道是不安全的,载有个 人识别码的信息可能会被窃听。因为通常用户名是公开的,恶意的第三方利用技术手段窃 听个人识别码后可以冒用用户身份,给用户的数据和信息的安全带来巨大风险。

发明内容
有鉴于此,本发明的目的在于提供一种基于密码算法的提交个人识别码的系统, 用于以更安全的方式将个人识别码提交到安全终端或者应用系统。本发明的实施例提供了一种基于密码算法的提交个人识别码的系统,包括用户端,用于针对用户的个人识别码获取相应的提交码并上传;受理端,用于利用所述用户的个人识别码生成相应提交码,并与用户端上传的提 交码进行比对,比对一致后进行授权。基于本发明的系统运营时,在开放线路上传送的个人识别码的提交码每一次都是 不同的,进行线路窃听的第三方无法取得个人识别码的明文,也无法进行有效的重放攻击, 进而有力地阻止了身份冒用事件的发生,大大提高了系统的安全性。


图1为本发明实施例提供的一种基于密码算法的提交个人识别码系统。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。图1所示为本发明实施例提供的一种基于密码算法的提交个人识别码系统,包 括在用户端,用户端输入模块11,用于用户输入个人识别码。用户通过用户端输入模块进行个 人识别码的输入,用户端输入模块可以设置取消按键用来删除最后一次输入的字符,设置 确认按键用来提交用户输入的个人识别码。用户端显示模块12,与用户端输入模块相连,用于回显用户输入的个人识别码的个数。为便于用户确认所输入的个人识别码,用户端显示模块可以以“*”号字符序列回显 所输入的字母数字的个数。用户端工作密钥管理模块13,用于生成工作密钥。
用户端序列码模块14,用于生成用户端的序列码。用户端加密模块15,用于接收用户端输入模块发送的个人识别码,并利用工作密 钥、该用户的用户端序列码及随机数,基于相应的加密算法,针对个人识别码计算用户端提 交码。在受理端,随机数发生器21,用于将生成的随机数发送给用户端加密模块和受理端加密模 块。该随机数送达用户端的信道可以是公开信道。随机数发生器设置于受理端,位于安全 终端设备的安全芯片的内部、或者应用系统的服务器、密码卡、密码机的内部,这样一来对 随机数的访问只能通过安全芯片、服务器、密码卡或密码机的访问接口来进行。上述安全芯 片、服务器、密码卡、密码机提供的随机数访问接口只提供读取访问功能,不提供改写访问 功能,可以避免对随机数的恶意改写。不能改写随机数,窃听到任意一组随机数和提交码的 第三方将无法实施基于该组随机数和提交码的重放攻击。受理端工作密钥管理模块22,用于生成工作密钥。受理端序列码模块23,用于生成受理端的序列码。存储模块24,用于保存所有用户的个人识别码。受理端加密模块25,用于利用工作密钥、该用户的受理端序列码及随机数,基于相 应的加密算法,针对该用户在存储模块中保存的个人识别码计算受理端提交码。受理端比对模块26,用以接收用户端加密模块和受理端加密模块发送的提交码并 进行比对,比对一致之后发送用户授权信息。受理端授权模块27,用于接收用户授权信息,通知应用系统开放预先分配给该用 户的应用权限。在一次个人识别码的提交过程中,随机数发生器输出的随机数送入受理端加密模 块和用户端加密模块。随机数的周期要求大于10万次,随机数的长度不少于4个字节。本 实施例采用的加密算法为SMl算法,使用工作密钥对该随机数和序列码进行加密或者密钥 分散,该加密或者密钥分散过程的结果作为个人识别码的提交过程所需的会话密钥。用户 端加密模块使用上述会话密钥对用户端的个人识别码进行加密,加密的结果就是得到用户 端的提交码;受理端加密模块使用与用户端相同的算法和密钥对相同的随机数和序列码进 行加密得到相同的会话密钥,上述会话密钥对受理端的存储的个人识别码进行加密,加密 的结果就是得到受理端的提交码。在系统发行阶段,预先完成对用户端序列码和受理端序列码的设置。同一用户的 用户端序列码和受理端序列码是完全相同的数值序列。用户端序列码模块与用户端的加密 模块相连,受理端序列码模块与受理端的加密模块相连。序列码可以是硬件设备的序列号, 也可以是应用系统中的应用序列号。序列码的长度要求不小于8个字节。由于上述序列码 的存在,即使在两个不同的用户端得到了相同的随机数,本系统仍然可以保证在此条件下 得到的会话密钥是互异的。对于同一个用户而言,用户端工作密钥管理模块和受理端工作密钥管理模块提供的工作密钥是相同的,该工作密钥可以在系统初始化阶段预先设置完成并且在工作密钥管 理模块保存。对于同一个用户而言,另外一种约定工作密钥的方法使用SM2算法的密钥生成和密钥协商功能来进行密钥的约定,实现工作密钥使用过程的一次一密。通过SM2算法密钥 生成功能可以得到SM2密钥对,一个SM2密钥对包含一个SM2私钥和一个与该SM2私钥对 应的SM2公钥。在系统初始化阶段,用户端工作密钥管理模块生成SM2密钥对,包括用户端 SM2公钥和用户端SM2私钥;受理端工作密钥管理模块生成SM2密钥对,包括受理端SM2公 钥和受理端SM2私钥。在运营阶段,为进行工作密钥的约定,在用户端工作密钥管理模块中 要生成临时的SM2密钥对,包括用户端临时SM2公钥和用户端临时SM2私钥;受理端工作密 钥管理模块也要生成临时的SM2密钥对,包括受理端临时SM2公钥和受理端临时SM2私钥。 用户端工作密钥管理模块把己方的SM2公钥、己方的临时SM2公钥、己方的用户标识发给受 理端工作密钥管理模块。受理端工作密钥管理模块把己方的SM2公钥、己方的临时SM2公 钥、己方的受理端系统标识发给用户端工作密钥管理模块。在此过程中,用户端工作密钥管 理模块和受理端工作密钥管理模块中的任何一个均可作为SM2密钥协商协议的发起方,此 时另外的一个工作密钥管理模块就作为接受方。上述公开密钥和标识的传送可以在公开信 道中进行。当用户端作为发起方时,用户端工作密钥管理模块使用己方SM2私钥、己方临时 SM2私钥、己方用户标识、受理端SM2公钥、受理端临时SM2公钥、受理端系统标识进行发起 方SM2密钥协商计算的得到工作密钥;受理端工作密钥管理模块使用己方SM2私钥、己方临 时SM2私钥、己方系统标识、用户端SM2公钥、用户端临时SM2公钥、用户端用户标识进行接 收方SM2密钥协商计算的得到工作密钥。当受理端作为发起方时,受理端工作密钥管理模 块使用己方SM2私钥、己方临时SM2私钥、己方系统标识、用户端SM2公钥、用户端临时SM2 公钥、用户端用户标识进行发起方SM2密钥协商计算的得到工作密钥;用户端工作密钥管 理模块使用己方SM2私钥、己方临时SM2私钥、己方用户标识、受理端SM2公钥、受理端临时 SM2公钥、受理端系统标识进行接收方SM2密钥协商计算的得到工作密钥。受理端比对模块的输入是受理端的提交码和用户端的提交码,其中用户端的提交 码可以通过公开信道到达受理端比对模块。受理端比对模块对上述两个提交码进行比对, 如果二者一致则向授权模块发送授权信息,系统开放预先分配给用户的应用权限,并通知 用户端个人识别码提交成功,该通知在用户端显示模块上显示;如果二者不一致则不向授 权模块发送任何信息,在延迟至少半秒钟时间之后通知用户端发生了个人识别码比对失败 的事件。受理端比对模块在发行阶段预先设置每个用户的个人识别码提交的最大尝试次 数,当连续的提交码比对失败事件的次数达到该最大尝试次数时,锁定位于受理端存储模 块中的个人识别码。本实施例使用的获取会话密钥的算法是SMl分组算法。其他的实现方式中获取会 话密钥的待选的算法还包括SSF33和AES等分组算法。受理端加密模块和用户端加密模块 所使用的获取会话密钥的算法相同。使用分组算法获取会话密钥时,随机数填充到分组算 法的分组长度。在本发明实施例中,受理端的形态为安全终端设备时,该安全终端设备使用USB 接口、SD或TF接口或者IS0/IEC7816接口与用户端连接;受理端的形态为应用系统时,该 应用系统与用户端的连接方式使用TCP/IP协议,通过有线网络或者无线网络的方式进行连接。另外,用户端提交码可以通过网络以明文方式到达受理端;也可以在虚拟专网系 统中再度加密然后以密文的方式到达受理端,受理端解密该密文得到用户端提交码。 总之,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
一种用密码算法提交个人识别码的系统,其特征在于,包括用户端,用于针对用户的个人识别码获取相应的提交码并上传;受理端,用于利用所述用户的个人识别码生成相应提交码,并与用户端上传的提交码进行比对,比对一致后进行授权。
2.根据权利要求1所述的系统,其特征在于,所述受理端进一步包括随机数发生器,用于将生成的随机数发送给用户端,也将所述随机数提供给受理端内 部使用。
3.根据权利要求2所述的系统,其特征在于,所述用户端包括用户端输入模块,用于用户输入个人识别码;用户端显示模块,与所述用户端输入模块相连,用于回显用户输入的个人识别码的个数;用户端工作密钥管理模块,用于生成用户端的工作密钥;用户端序列码模块,用于生成用户端的序列码;用户端加密模块,用于接收用户端输入模块发送的个人识别码,并利用所述工作密钥、 该用户的用户端序列码及随机数,基于相应的加密算法,针对该个人识别码计算用户端提 交码。
4.根据权利要求3所述的系统,其特征在于,所述受理端包括受理端工作密钥管理模块,用于生成受理端的工作密钥;受理端序列码模块,用于生成受理端的序列码;存储模块,用于保存所有用户的个人识别码;受理端加密模块,用于利用所述受理端的工作密钥、该用户的受理端序列码及随机数, 基于相应的加密算法,针对该用户在所述存储模块中保存的个人识别码计算受理端提交 码;受理端比对模块,用于接收用户端提交码和受理端提交码并进行比对,比对一致之后 发送用户授权信息;受理端授权模块,用于接收所述用户授权信息,通知应用系统开放预先分配给该用户 的应用权限。
5.根据权利要求2或3所述的系统,其特征在于,所述随机数发生器生成的随机数的周 期大于10万次,随机数的长度不少于4个字节。
6.根据权利要求3或4所述的系统,其特征在于,所述使用工作密钥计算提交码采用的 加密算法为SMl算法,具体包括使用工作密钥对随机数和序列码进行加密或者密钥分散,该加密或者密钥分散过程的 结果作为个人识别码的提交过程所需的会话密钥,加密模块使用所述会话密钥对个人识别 码进行加密,加密的结果就是得到提交码。
7.根据权利要求3或4所述的系统,其特征在于,所述序列码的生成方式包括在系统发行阶段,预先完成对用户端序列码和受理端序列码的设置,同一用户的用户 端序列码和受理端序列码是完全相同的数值序列,序列码为硬件设备的序列号,或应用系 统中的应用序列号,序列码的长度要求不小于8个字节。
8.根据权利要求4所述的系统,其特征在于,所述对于同一个用户而言,用户端的工作密钥和受理端的工作密钥是相同的,该工作密钥在系统初始化阶段预先设置完成,并且在 工作密钥管理模块保存。
9.根据权利要求4所述的系统,其特征在于,所述用户端的工作密钥和受理端的工作 密钥约定为使用SM2算法的密钥生成和密钥协商功能来进行密钥的约定。
10.根据权利要求9所述的系统,其特征在于,所述密钥生成和密钥协商具体包括 在系统初始化阶段,用户端工作密钥管理模块生成SM2密钥对,包括用户端SM2公钥和 用户端SM2私钥;受理端工作密钥管理模块生成SM2密钥对,包括受理端SM2公钥和受理端 SM2私钥;在系统运营阶段,为进行工作密钥的约定,在用户端工作密钥管理模块中生成临时的 SM2密钥对,包括用户端临时SM2公钥和用户端临时SM2私钥;受理端工作密钥管理模块也 生成临时的SM2密钥对,包括受理端临时SM2公钥和受理端临时SM2私钥;在进行工作密钥约定时,用户端工作密钥管理模块把己方的SM2公钥、己方的临时SM2 公钥、己方的用户标识发给受理端工作密钥管理模块;受理端工作密钥管理模块把己方的 SM2公钥、己方的临时SM2公钥、己方的受理端系统标识发给用户端工作密钥管理模块。
全文摘要
本发明公开了一种用密码算法提交个人识别码的系统,包括用户端,用于针对用户的个人识别码获取相应的提交码并上传;受理端,用于利用所述用户的个人识别码生成相应提交码,并与用户端上传的提交码进行比对,比对一致后进行授权。基于本发明的系统运营时,在开放线路上传送的个人识别码的提交码每一次都是不同的,进行线路窃听的第三方无法取得个人识别码的明文,也无法进行有效的重放攻击,进而有力地阻止了身份冒用事件的发生,大大提高了系统的安全性。
文档编号H04L9/08GK101848088SQ20091031239
公开日2010年9月29日 申请日期2009年12月28日 优先权日2009年12月28日
发明者柳增寿, 蒋红宇 申请人:北京海泰方圆科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1