一种智能密钥设备的工作方法_4

文档序号:9433384阅读:来源:国知局
//证书的颁发者名称
[0231] validity Validity, //证书有效日期
[0232] subject Name, // 主题信息
[0233] subjectPublic 智能密钥设备 Info SubjectPublic 智能密钥设备 Info, //证书 持有人的公钥
[0234] extensions [3]EXPLICIT Extensions OPTIONAL //证书扩展项,可选
[0235] }
[0236] 本方案中的证书签名对象就是TBSCertificate的内容;即使用智能密钥设备内 预存的私钥对TBSCertificate的内容进行签名操作;
[0237] 步骤212 :智能密钥设备根据密钥索引保存生成的用户密钥对;
[0238] 在本实施例中,用户密钥对的保存格式是预定的,具体为:4字节用户密钥对的密 钥句柄+32字节注册地应用参数+96字节用户密钥对+4字节计数器(注册时为0);
[0239] 其中,计数器用于表示对使用智能密钥设备对身份进行验证操作的次数,初始值 为〇,每成功认证一次,计数器加1 ;
[0240] 步骤213 :智能密钥设备按照第一预设格式给上位机返回注册响应数据,返回步 骤 204 ;
[0241] 在本实施中,注册响应数据包括数字证书和第一签名结果,第一预设格式具体 为:
[0243] 步骤214 :智能密钥设备根据认证请求命令中的密钥句柄长度和密钥句柄判断对 应的密钥句柄是否被注册过,是则执行步骤215,否则报错,返回步骤204 ;
[0244] 在本实施例中,步骤214具体包括:
[0245] 步骤214-1 :智能密钥设备判断认证请求命令中的密钥句柄长度是否与保存的密 钥句柄长度相同,是则执行步骤214-2,否则报错,返回步骤204 ;
[0246] 步骤214-2 :智能密钥设备判断认证请求命令中的密钥句柄是否与保存的密钥 句柄相同,是则执行步骤215,否则返回无效密钥信息,返回步骤204;
[0247] 步骤215 :智能密钥设备判断认证请求命令中的注册地应用参数是否与保存的注 册地应用参数一致,是则执行步骤216,否则报错,返回步骤204 ;
[0248] 具体的,本实施例中,密钥索引、密钥句柄、注册地应用参数、用户密钥对--对应 保存;
[0249] 步骤216:智能密钥设备等待用户按键信息,并判断是否在预设时间内接收到用 户按键信息,是则执行步骤217,否则报错,返回步骤204 ;
[0250] 步骤217:智能密钥设备根据认证请求命令中的密钥句柄获取对应的用户密钥 对,根据预设算法使用用户密钥对中的私钥,对认证请求命令的数据域进行签名得到第二 签名结果;
[0251] 在本实施例中,步骤213中的数据域包括:32字节的注册地应用参数、1字节的用 户存在字节、4字节的计数器、32字节的挑战参数;
[0252] 步骤218 :智能密钥设备按照第二预设格式给上位机返回认证响应数据,返回步 骤 204 ;
[0253] 在本实施例中,第二预设格式为:
[0255] 步骤219 :智能密钥设备返回预设的字符串,返回步骤204 ;
[0256] 具体的,本实施例中的预设的字符串为U2F_V2。
[0257] 以上所述,仅为本发明较佳的【具体实施方式】,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
【主权项】
1. 一种智能密钥设备的工作方法,其特征在于,包括: 步骤Sl:智能密钥设备上电,进行初始化; 步骤S2 :当所述智能密钥设备接收到上位机发送的枚举描述符命令时,所述智能密钥 设备设置描述符并将其返回给所述上位机; 步骤S3 :当所述智能密钥设备接收到上位机发送的命令,判断所述命令的类型,如为 注册请求命令则执行步骤S4,如为认证请求命令则执行步骤S7,如为其他命令则根据所述 命令执行相应操作,返回步骤S3 ; 步骤S4 :所述智能密钥设备判断是否接收到用户按键信息,是则执行步骤S5,否则报 错,返回步骤S3 ; 步骤S5 :所述智能密钥设备将生成的用户密钥对与对应的创建的密钥句柄进行关联, 并根据预设算法对所述注册请求命令中的数据域部分进行签名,得到第一签名结果并保 存;生成证书序列号,并使用预置的根密钥对的私钥对所述用户密钥对颁发一个与所述证 书序列号对应的数字证书;所述注册请求命令中的数据域部分包括挑战参数和注册地应用 参数; 步骤S6 :所述智能密钥设备根据预定格式保存所述用户密钥对和所述密钥句柄,并根 据所述数字证书和所述第一签名结果生成注册响应数据并返回给所述上位机,返回步骤 S3 ; 步骤S7 :所述智能密钥设备根据所述认证请求命令判断用户是否合法,是则执行步骤S8,否则报错,返回步骤S3 ; 步骤S8:所述智能密钥设备等待用户按键信息,并判断是否接收到用户按键信息,是 则执行步骤S9,否则报错,返回步骤S3 ; 步骤S9 :所述智能密钥设备根据所述认证请求命令中的密钥句柄获取对应的用户密 钥对,根据预设算法使用所述用户密钥对中的私钥,对所述认证请求命令的数据域进行签 名得到第二签名结果; 步骤SlO:所述智能密钥设备根据所述第二签名结果生成认证响应数据并返回给上位 机,返回步骤S3。2. 如权利要求1所述的方法,其特征在于,所述智能密钥设备设置描述符并将其返回 给所述上位机,包括: 步骤S22-1 :所述智能密钥设备设置配置描述符内容为HID设备; 步骤S22-2 :所述智能密钥设备设置报告描述符; 步骤S22-3 :所述智能密钥设备将所述配置描述符和所述报告描述符返回给所述上位 机。3. 如权利要求1所述的方法,其特征在于,所述步骤S3中如所述智能密钥设备判断所 述命令的类型为协议命令则执行步骤Al; 步骤Al:所述智能密钥设备检测所述命令中的第五个字节,如第五个字节上的数据为 第一数据则将接收到的数据返回给所述上位机,返回步骤S3 ;如第五个字节上的数据为第 二数据则将十七个有效字节的数据返回给所述上位机,返回步骤S3。4. 如权利要求1所述的方法,其特征在于,所述步骤S3中如所述智能密钥设备判断命 令的类型为获取版本号命令则执行步骤Bl; 步骤BI:所述智能密钥设备将预设的字符串返回给所述上位机,返回步骤S3。5. 如权利要求1所述的方法,其特征在于,所述步骤S3与步骤S4之间包括: 步骤Cl:所述智能密钥设备生成用户密钥对和所述密钥句柄,根据所述用户密钥对 和所述注册请求命令中的注册地应用参数得到密钥信息,查找空闲的密钥索引,如找到则 执行步骤S4,如未找到则执行步骤C2 ; 步骤C2 :所述智能密钥设备判断空间是否有大小合适的剩余空间,是则生成对应的密 钥索引,执行步骤S4,否则返回空间不足信息,返回步骤S3 ; 所述步骤S5还包括:所述智能密钥设备将生成的用户密钥对与所述密钥索引进行关 联; 所述步骤S6还包括:所述智能密钥设备根据预定格式保存所述用户密钥对、所述密钥 索引和所述注册请求命令中的注册地应用参数。6. 如权利要求1所述的方法,其特征在于,所述步骤S4判断为否时还包括:所述智能 密钥设备判断等待时间是否到达预设时间,是则报错,返回步骤S3,否则返回步骤S4。7. 如权利要求1所述的方法,其特征在于,所述根据预设算法对所述注册请求命令中 的数据域部分进行签名,包括: 所述智能密钥设备根据所述预设算法对所述注册请求命令中的数据域部分进行哈希 计算得到第一哈希值,使用所述用户密钥对中的私钥对所述第一哈希值进行签名得到所述 第一签名结果。8. 如权利要求1所述的方法,其特征在于,所述步骤S7判断为是时还包括: 步骤S71 :所述智能密钥设备根据所述认证请求命令中的密钥句柄和密钥句柄长度判 断对应的密钥句柄是否被注册过,是则执行步骤S72,否则报错,返回步骤S3 ; 步骤S72 :所述智能密钥设备判断所述认证请求命令中的注册地应用参数是否与保存 的注册地应用参数一致,是则执行步骤S8,否则报错,返回步骤S3。9. 如权利要求8所述的方法,其特征在于,所述步骤S71具体包括: 步骤S71-1 :所述智能密钥设备判断所述认证请求命令中的密钥句柄长度是否与保存 的密钥句柄长度相同,是则执行步骤S71-2,否则报错,返回步骤S3 ; 步骤S71-2 :所述智能密钥设备判断所述认证请求命令中的密钥句柄是否与保存的密 钥句柄相同,是则执行步骤S72,否则报错,返回步骤S3。10. 如权利要求1所述的方法,其特征在于,所述智能密钥设备根据预定格式保存所述 用户密钥对和所述密钥句柄,包括:所述智能密钥设备根据预定格式保存所述用户密钥对、 所述密钥句柄和所述注册请求命令中的注册地应用参数; 所述步骤S3与步骤S4之间包括: 步骤Dl:所述智能密钥设备根据所述注册地应用参数判断当前用户是否已经注册过 了,是则报错,返回步骤S3,否则执行步骤D2 ; 步骤D2 :所述智能密钥设备生成所述用户密钥对,根据所述用户密钥对和所述注册请 求命令中的注册地应用参数得到密钥信息,执行步骤S4。11. 如权利要求10所述的方法,其特征在于,所述步骤Dl包括: 所述智能密钥设备判断是否保存了所述注册地应用参数,是则当前用户已经注册过 了,否则当前用户未注册。12. 如权利要求1所述的方法,其特征在于, 所述步骤S8判断为否时还包括:所述智能密钥设备判断等待时间是否到达预设时间, 是则报错,返回步骤S3,否则返回步骤S8。13. 如权利要求1所述的方法,其特征在于,所述步骤S3中判断所述命令的类型,具体 包括:所述智能密钥设备根据所述命令中数据域的第二字节判断所述命令的类型,如数据 域的第二字节上的数据为第一数值则为注册请求命令,如数据域的第二字节上的数据为第 二数值则为认证请求命令。
【专利摘要】本发明公开一种智能密钥设备的工作方法,包括:当接收到上位机发送的命令,判断该命令的类型,如为注册请求命令则接收用户按键信息,将生成的用户密钥对与对应的密钥句柄关联,根据预设算法对注册请求命令中的数据域部分进行签名,得到第一签名结果并保存;生成证书序列号,使用预置的根密钥对的私钥对用户密钥对颁发对应的数字证书;根据预定格式保存用户密钥对和对应的密钥句柄,根据数字证书和第一签名结果生成注册响应数据并返回给上位机;如为认证请求命令且用户合法,则接收用户按键信息,根据预设算法使用获取到的用户密钥对中的私钥,对认证请求命令的数据域进行签名得到第二签名结果;根据第二签名结果生成认证响应数据并返回给上位机。
【IPC分类】G06Q20/40, G06Q20/38
【公开号】CN105184566
【申请号】CN201510332534
【发明人】陆舟, 于华章
【申请人】飞天诚信科技股份有限公司
【公开日】2015年12月23日
【申请日】2015年6月16日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1