[发明专利]一种基于CBS签名机制的二维码认证系统及方法有效
申请号: | 201410509798.2 | 申请日: | 2014-09-28 |
公开(公告)号: | CN104320253B | 公开(公告)日: | 2017-06-09 |
发明(设计)人: | 高天寒;王权琦;秦诗月 | 申请(专利权)人: | 东北大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;G06K19/06;G06K7/10 |
代理公司: | 沈阳东大知识产权代理有限公司21109 | 代理人: | 朱光林 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cbs 签名 机制 二维码 认证 系统 方法 | ||
1.一种基于CBS签名机制的二维码认证系统,CBS的英文全称是Certificate-based Sigature,其特征在于:包括信任中心、多个二维码生成端、多个二维码验证端和安全的物理存储介质USBKey;
所述信任中心用于生成公私钥和公共参数并进行新商户身份注册,信任中心对身份信息中合法的新商户进行添加;
所述二维码生成端采用线程池支持多商户并行访问,商户访问可信二维码生成端时,对未持有签名密钥的商户利用CBS签名算法生成签名密钥并存储至USBKey;对已经持有签名密钥的商户根据该商户输入的数据消息确定要编码字符类型、指定所需的错误检测和纠错级别,并利用从USBKey读取的签名密钥对商户输入的数据消息进行签名产生签名消息,进而生成二维码,该二维码的数据流包括数据消息、签名消息、商户公钥、商户身份ID;
所述二维码验证端用于扫描二维码并对二维码进行验证:若二维码内含有签名消息则将二维码的数据流进行Base64解码,从而得到byte数组,根据该数组的前4个数值确定二维码内数据消息的长度、签名消息的长度、商户公钥的长度、商户身份ID的长度,验证二维码的正确性;
所述物理存储介质USBKey用于存储二维码生成端生成的签名密钥。
2.采用权利要求1所述的基于CBS签名机制的二维码认证系统的二维码认证方法,其特征在于:包括以下步骤:
步骤1:信任中心生成公私钥和公共参数并进行新商户身份注册,信任中心对身份信息中合法的新商户进行添加;
信任中心首先选取两个阶为q的群G1,G2和一个双线性对e:G1×G1→G2;之后选择一个生成元P∈G1和一个随机密钥然后计算信任中心公钥PKC=sCP,另外选择两个密钥hash函数H1:{0,1}*→G1和生成信任中心公共参数为(G1,G2,e,q,P,PKC,H1,H2);
身份信息包括自身的公钥PKA=sAP和身份ID,SA是商户的私钥;
步骤2:二维码生成端采用线程池支持多商户并行访问,商户访问可信二维码生成端时,若该商户为未持有签名密钥的商户,则执行步骤3,若该商户为已经持有签名密钥的商户,则执行步骤5;
步骤3:利用CBS签名算法执行签名密钥生成操作,商户生成签名密钥后向物理存储介质USBKey中存储签名密钥,并执行步骤4;
步骤3.1:向信任中心发起证书申请,商户发送自己的身份信息给信任中心,信任中心对审核通过的商户颁发证书;
步骤3.2:商户在得到由信任中心颁发的证书后,利用该证书和商户自身的公私钥对(sA,PKA)进行运算得到商户的签名密钥SA=sCPA+sAPA=CertA+sAPA,其中,PA=H1(PKC||PKA||IDA)∈G1,IDA为商户的身份ID;
步骤4:二维码生成端利用物理存储介质USBKey内存储消息对商户是否已经持有签名密钥进行判断;
步骤4.1:判断物理存储介质USBKey内是否为空,若是,则执行步骤3,重新生成签名密钥;否则执行步骤4.2;
步骤4.2:判断物理存储介质USBKey中存储的消息的编码格式是否与签名密钥的格式一致,若是,则执行步骤4.3;否则执行步骤3;
步骤4.3:物理存储介质USBKey中的消息长度若大于设定阈值,则判定商户已经持有签名密钥,则执行步骤5,否则执行步骤3;
步骤5:二维码生成端根据商户输入的数据消息确定要编码字符类型、指定所需的错误检测和纠错级别;如果商户输入的数据消息没有指定的纠错级别,则自动选择与之匹配的纠错级别;
步骤6:利用从物理存储介质USBKey读取的商户的签名密钥对商户输入的数据消息进行签名,产生签名消息signature,签名消息signature内包含U和V,其中U=rPA,r为商户随机选取的数,V=(r+h)SA=(r+h)(sc+sA)PA,h=H2(m,U),m为数据消息;
步骤7:生成二维码,该二维码的数据流包括数据消息m、签名消息signature、商户公钥PKA、商户身份ID;
步骤8:二维码验证端扫描二维码,将二维码转换成包含数据消息m、签名消息signature、商户公钥PKA、商户身份ID的数据流;
步骤9:对二维码进行验证:判断二维码内是否含有签名消息,若含有签名消息,则执行步骤10,否则,二维码验证失败,结束二维码认证;
步骤10:将二维码的数据流进行Base64解码,从而得到byte数组;
步骤11:根据byte数组的前4个数值确定二维码内数据消息m的长度、签名消息signature的长度、商户公钥PK4的长度、商户身份ID的长度,根据各长度值提取数据消息m、签名消息signature、商户公钥PKA、商户身份ID;
步骤12:检验e(PKC,U+hPA)e(PKA,U+hPA)=e(P,V)是否成立,其中的U和V组成签名消息,h包含数据消息m,PA包含身份信息,若成立,则验证成功,否则验证失败。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410509798.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:刺穿式可再装药物供给装置
- 下一篇:一种输送链滑撬打滑监测机构及监测方法