CN102883321A - 一种面向移动微技的数字签名认证方法 - Google Patents

一种面向移动微技的数字签名认证方法 Download PDF

Info

Publication number
CN102883321A
CN102883321A CN2012103552974A CN201210355297A CN102883321A CN 102883321 A CN102883321 A CN 102883321A CN 2012103552974 A CN2012103552974 A CN 2012103552974A CN 201210355297 A CN201210355297 A CN 201210355297A CN 102883321 A CN102883321 A CN 102883321A
Authority
CN
China
Prior art keywords
certificate
calculate
developer
elliptic curve
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012103552974A
Other languages
English (en)
Inventor
王轩
张加佳
赵海楠
蒲成燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN2012103552974A priority Critical patent/CN102883321A/zh
Publication of CN102883321A publication Critical patent/CN102883321A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明提供了一种面向移动微技的数字签名认证方法,包括以下步骤:产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信息提交给认证中心CA,由CA进行证书的签发;签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器;验证。本发明将公钥基础设施PKI与椭圆曲线加密机制相结合,实现了移动widget开发者的证书申请、证书颁发、证书获取、widget签名以及widget验证。

Description

一种面向移动微技的数字签名认证方法
技术领域
本发明涉及移动互联网安全领域,具体涉及移动Widget的一种数字签名认证方法。
背景技术
微技(Widget)业务源于2003年在苹果Mac OS X操作系统上最早研发的一种可以添加Java Script小程序的平台,这个平台上的小程序后来逐渐被扩展到以桌面和互联网为主要特征的各种更加丰富的应用。由于Widget的发展带有明显的互联网特征,W3C的文档也把微技称为客户端互联网应用(Client-Side Web Applications),W3C组织对互联网微技(Web Widget)给出了定义:微技是一类能够显示和更新本地数据或Web数据的客户端应用程序,并能够打包成单一的下载包安装到客户端设备上。W3C关于微技的定义突出了客户端应用程序、能够显示和更新数据、能够打包成单一的下载包进行安装等。
移动微技(Mobile Widget)是指运行于移动终端上的微技。由于手机终端屏幕相对较小,可呈现的信息量相对较少,输入网址不方便,交互操作慢等原因,微技的应用框架非常适合手机终端使用互联网应用。很多情况下,移动用户在用浏览器上网时很多无用信息占用了稀缺的屏幕资源,导致手机上网用户体验较差,而移动微技不仅可以独立于浏览器运行以有效地利用手机屏幕,而且可以更加快速、方便地访问移动互联网的特定数据。移动微技业务具备更有效利用屏幕和更方便访问互联网的特点,因此能够给手机用户带来良好的呈现方式和互联网体验。
随着手机数据带宽的不断增长,手机屏幕的不断增大,移动微技业务的应用会越来越广泛。手机、个人计算机、互联网的软件服务共享将是未来互联网发展的趋势,移动微技可以看作是互联网软件服务在手机终端上的缩影。移动微技具有小巧轻便、开发成本低、基于标准Web技术,开发门槛低,潜在开发者众多、与操作系统耦合度低和功能完整等特点,用户可以通过移动微技实现个性化的用户界面,是手机应用个性化的突破口。另外,移动微技区别于互联网微技最大的不同在于可以充分的应用移动增值业务,例如基于短信、位置服务等通信能力或运营商应用平台提供的信息开发的应用,因此移动微技业务已经逐渐得到越来越多运营商、手机制造商和软件开发商的关注和重视。
数字签名是一种电子签名技术,发送者根据消息产生摘要,并对摘要用自身的签名私钥进行加密。消息和用自身签名私钥加密的数字摘要组合成为数字签名。缺少数字签名的移动Widget包可能被未经授权修改,且最终用户无法得知移动Widget的来源是其所信任的可靠来源,这些都可能导致用户的信息泄露或其他安全问题。因此对移动widget包进行数字签名,验证签名者的身份,确保信息来源的可靠性是非常有必要的。
发明内容
本发明的目的在于提供移动Widget的一种数字签名认证方法,以验证消息发送方的身份,并保证消息内容的完整性、正确性以及可靠性。为了解决现有技术中问题,本发明提供了一种面向移动微技的数字签名认证方法,包括以下步骤:
产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信息提交给认证中心CA,由CA进行证书的签发;
签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器;
验证:普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥证书,对下载后的程序进行验证。
作为本发明的进一步改进,认证机构的密钥管理系统包括:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密钥管理子系统,包含KM ADMIN终端和AUDIT审计终端的终端系统。
作为本发明的进一步改进,开发者利用私钥对代码m进行签名,椭圆曲线数字签名方案签名的生成过程如下:
1)随机或伪随机地选择一个整数k∈RZn*
2)计算公钥Q和x1除以n的余数r
Q=kG=(x1,y1)
式中x1,y1——椭圆曲线上的横坐标和纵坐标;
r=x1modn
如果r=0,则返回到1);
3)计算k-1对n的余数s'
s'=k-1modn
4)计算信息摘要
e=SHA-1(m)
5)计算
s=k-1(e+dr)modn
如果s=0,则返回到1),(r,s)是A对消息m的签名。
作为本发明的进一步改进,在客户端对下载程序进行验证:
客户端验证(r,s)是A对消息m的签名的验证方法流程如下:
11)验证r,s是[1,n-1]中的整数;
12)计算信息摘要e
e=SHA-1(m)
13)计算s-1对n的余数
w=s-1modn
14)分别计算ew和rw对n的余数
u1=ewmodn
u2=rwmodn
15)计算验证信息
X=u1G+u2Q=(x1,y1)。
作为本发明的进一步改进,安全椭圆曲线选取包括以下四种方法:
第一:有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含大素数因子,若是取出确定,否则继续选取曲线,直至符合条件;
第二:取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直至找到所需要的安全曲线;
第三:如果q=2m,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q1)(q1=2d)上选择椭圆曲线E′并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域GF(q)上的阶,若此阶符合安全标准,我们再找曲线E′在域GF(q)上的嵌入E,则E即为所需的安全椭圆曲线;
第四:首先给出具有安全条件的曲线阶,然后构造具有此阶的椭圆曲线。
作为本发明的进一步改进,椭圆曲线的生成方法如下:
A.随机产生一个长度为g的比特串seedE,g>160;
B.计算H=SHA1(seedE),然后把H的最右边v比特赋给c0
C.把c0的最左边位(即第v比特)设置为0,把变化后的c0赋给w0;该捕捉确保了r<p;
D.把g比特的seedE转换为整数,记做z;
E.循环处理,i从1到s,si=(z+i)mod2g,把si作为比特串看待,计算Wi=SHA1(si);
F.将所有的Wi以如下形式合并成W:W=W0||W1||...||Ws||代表连接;
G.将W比特串转化为整数r;
H.如果r=0,或者4r+27=0modp;那么回到步骤1);
I.随机产生a、b,a,b∈Fp。如:a=r,b=r;
J.到此,求基于Fp的椭圆曲线方程E:y2=x3+ax+b;
K.输出(seedE,a,b)。
作为本发明的进一步改进,椭圆密码算法如下:
给出直接计算2sP,1≤s≤m的公式,先推导出2sP,1≤s≤m的表达式,记2kP=(xk,yk),则
x k = ( x k - 1 + y k - 1 x k - 1 ) 2 + ( x k - 1 + y k - 1 x k - 1 ) + a
y 2 k - 1 = x 2 k - 1 + ( x k - 1 + y k - 1 x k - 1 ) x k + x k
把(xk,yk)直接表示
Figure BDA00002173522400043
Figure BDA00002173522400044
的形式,其中ak,bk,ck都是关于x,y的整式,将
Figure BDA00002173522400045
Figure BDA00002173522400046
带入递推式,就得到了ak,bk,ck的递推公式如下:
ck2,ak2+δγ,bk=a4 k-1+δγxk
其中δ=ak-1ck-1,γ=a2 k-1+bk-1+ck-1,而a0=x,b0=y,c0=1
由此计算公式,来估计改进过的方法计算量,在改进的方法中计算2sP,1≤s≤m的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2sP,1≤s≤m则需要2s次乘方,s次求逆。
本发明将公钥基础设施PKI与椭圆曲线加密机制相结合,实现了移动widget开发者的证书申请、证书颁发、证书获取、widget签名以及widget验证。在此基础上,通过对椭圆曲线算法中传统的标量乘运算改进,加快了widget的签名与验证的速度。鉴权:根据第三方权威机构CA颁发的开发者证书,使得开发者身份具有可信性。完整性:传送移动Widget的双方都总希望确认Widget在传输过程中未被修改,数字签名技术可以验证消息传送过程中的完整性。不可抵赖性:移动Widget的安装者可以通过数字签名来防止后续的抵赖行为,因为他可以出示开发者的签名文件给别人看,来证明该移动Widget的来源。
附图说明
图1是本发明系统总体架构图;
图2是本发明密钥管理系统逻辑结构图;
图3是本发明开发者系统模块图;
图4是本发明数据签名处理流程图;
图5是本发明验证数据签名处理流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
系统将公钥基础设施PKI与椭圆曲线加密机制相结合,实现了移动widget开发者的证书申请、证书颁发、证书获取、widget签名以及widget验证。在此基础上,通过对椭圆曲线算法中传统的标量乘运算改进,加快了widget的签名与验证的速度。系统的整体结构如图1所示:
整个系统分为3个模块,开发者模块、认证机构模块、客户端模块。
系统总体流程如下:
1)产生证书
开发者需要首先向注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求。通过后RA将申请请求及审批通过的信息提交给相应的认证中心CA,由CA进行证书的签发。
2)签名
证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在目录服务器(LDAP)中添加证书申请人的有关信息,开发者收到私钥之后,就能在开发平台上对编译通过的程序进行签名,上传至Web服务器。
3)验证
普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥证书,对下载后的程序进行验证。
1、下面将对系统的各个主要模块进行介绍:
1.1认证机构模块核心功能设计,如图2所示:
认证机构是公钥基础设施(PKI)的核心机构。它是数字证书的签发机构。它的关键问题是如何实现密钥管理。图2即为密钥管理系统逻辑结构图。它主要由以下5个部分组成:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密钥管理子系统,包含密钥管理终端(KM ADMIN)和审计终端(AUDIT)的终端系统。
1.2开发者模块核心功能设计,如图3所示:
这是开发者系统的主要模块图。开发者开发完成的代码,经GNU编译器(Linux下的C语言编译器,GCC)编译和跨平台编译引擎之后,经过Widget的安全模块才能转换到各自移动平台的执行程序;这里主要介绍在图中虚线框的部分,根据开发者的开发等级匹配相应的数字签名证书,对编译完成的程序进行数字签名。
椭圆曲线数字签名方案(ECDSA)是数字签名算法(DSA)体制在椭圆曲线上的移植。由于系统还没有集成,所以目前是针对每个模块分别做的一些事例。
椭圆曲线的主要参数包括:定义在有限域GF(q)上的椭圆曲线E,GF(q)的特征是p,E上的GF(q)-有理点的个数#E(GF(q))可被一个大素数n整除,一个基点G∈E(GF(q))。我们可记D={q,FR,a,b,G,n,h}和密钥对{d,Q},SHA-1。各参数的含义如下所示:
1)q——有限域的元素个数,这里q=p或者q=2m
2)FR——有限域中元素的表示方法(例如多项式表示或正规基表示等);
3)a、b——GF(q)上的椭圆曲线y2=x3+ax+b的参数;
4)G——E(GF(q))中的一个点;
5)n——一个素数,
Figure BDA00002173522400061
Figure BDA00002173522400062
6)h——余因子,h远小于n,利用h可以较快找到满足上面条件的基点G:随机取G'∈E(GF(q)),计算hG,如果hG≠O,则令G=hG′;
7)d——签名私钥,d∈RZn*
8)Q——签名验证公钥,Q=dG;
9)SHA-1——美国NIST和NSA设计的一种安全hash算法,输入信息长度一般都小于264bit。
开发者A利用该私钥对代码m进行签名,ECDSA签名的生成过程如图4所示:
6)随机或伪随机地选择一个整数k∈RZn*
7)计算公钥Q和x1除以n的余数r
Q=kG=(x1,y1)    (2-1)
式中x1,y1——椭圆曲线上的横坐标和纵坐标;
r=x1modn    (2-2)
如果r=0,则返回到1);
8)计算k-1对n的余数s'
s'=k-1modn    (2-3)
9)计算信息摘要
e=SHA-1(m)    (2-4)
10)计算
s=k-1(e+dr)modn    (2-5)
如果s=0,则返回到1),(r,s)是A对消息m的签名。
三、客户端模块核心功能设计
客户端模块主要完成的工作有两个:
1)从服务器上下载开发者开发的程序;
2)对下载的程序进行开发者认证,以便安全使用。
在客户端需要完成的工作,主要是对下载程序进行验证。
用户B验证(r,s)是A对消息m的签名的验证算法流程如下所示:
1)验证r,s是[1,n-1]中的整数;
2)计算信息摘要e
e=SHA-1(m)    (2-6)
3)计算s-1对n的余数
w=s-1modn    (2-7)
4)分别计算ew和rw对n的余数
u1=ewmodn    (2-8)
u2=rwmodn    (2-9)
5)计算验证信息
X=u1G+u2Q=(x1,y1)    (2-10)
程序实现的流程如图5所示。
2、关键技术介绍
2.2椭圆密码算法的实现与改进
2.2.1椭圆曲线的选取
曲线的选取对系统的安全性有很大的影响,选择的曲线如果不具有很强的密码安全特性,则在此基础上建立起来的密码系统将会很脆弱。为了抵抗所有已知的对ECDLP的攻击,密码方案中使用的椭圆曲线的参数应该谨慎选择。
首先异常曲线是极不适合用来构建密码系统的曲线,因此一定要避免,只要保证#E(Fp)≠p即可排除异常曲线。
其次,最好的通用攻击方法是将Pohlig-Hellman算法和Pollard’srho算法相结合,该方法的运行时间为完全指数时间其中p是n的最大素因子。
为了抵抗该种攻击,所选的曲线的阶中必须包含一个足够大的因子n,椭圆曲线参数的选择要求n含有大素数因子p,p应该足够大,以使得p的计算量不可实际实现(如 p > 2 160 )。
安全椭圆曲线选取主要有以下四种方法:
1)有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含大素数因子,若是取出确定,否则继续选取曲线,直至符合条件。
2)取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直至找到所需要的安全曲线。
3)如果q=2m,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q1)(q1=2d)上选择椭圆曲线E'并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域GF(q)上的阶,若此阶符合安全标准,我们再找曲线E′在域GF(q)上的嵌入E,则E即为所需的安全椭圆曲线。
4)首先给出具有安全条件的曲线阶,然后构造具有此阶的椭圆曲线。
2.2.2随机曲线的生成
2.2.2.1单向散列函数
散列(Hash)函数(又称为哈希函数、杂凑函数),是被设计为基于通过特定压缩函数的不断重复“压缩”输入的分组和前一次压缩处理结果的过程,直到整个消息都被压缩完毕,最后的输出作为整个消息的散列值。换句话说,就是输入一个长度不固定的字符串,返回一串定长度的字符串,又称Hash值。
2.2.2.2曲线的生成
基于Fp的椭圆曲线E:y2=x3+ax+b;a,b∈Fp,4a3+27b2≠0(modp)。其中,ANSI X9.62推荐p至少为160bit,下面的算法使用单向散列函数SHA-1。为了验证曲线方程是随机产生的,使用了一个随机的比特串(seedE),其也作为随机产生的证据。
下面的算法输入是:p,p为一个大的素数。输出是:一个至少160bit的比特串seedE、a、b,a,b∈Fp。另外,算法中使用如下几个变量:
t=[log2p]
s=[(t-1)/160]
v=t-160s
可以理解为:t表示p的二进制长度或长度减一,s表示p有多少个整160比特长度,v为p的串除以160之后的余量。算法如下:
L.随机产生一个长度为g的比特串seedE,g>160;
M.计算H=SHA1(seedE),然后把H的最右边v比特赋给c0
N.把c0的最左边位(即第v比特)设置为0,把变化后的c0赋给w0;该捕捉确保了r<p;
O.把g比特的seedE转换为整数,记做z;
P.循环处理,i从1到s,si=(z+i)mod2g,把si作为比特串看待,计算Wi=SHA1(si);
Q.将所有的Wi以如下形式合并成W:W=W0||W1||...||Ws||代表连接
R.将W比特串转化为整数r;
S.如果r=0,或者4r+27=0modp;那么回到步骤1);
T.随机产生a、b,a,b∈Fp。如:a=r,b=r。
U.到此,求基于Fp的椭圆曲线方程E:y2=x3+ax+b;
V.输出(seedE,a,b)。
2.2.2.3将明文消息嵌入到椭圆曲线上
使用椭圆曲线构造密码体制前,需要将明文消息镶嵌到椭圆曲线上,作为椭圆曲线上的点。设明文消息是m(0≤m≤M),k是一个足够大的整数,使得将明文消息镶嵌到椭圆曲线上时,错误的概率是2-k。实际情况中,k可以在30~50之间取值。不防取k=30,对明文消息m,如下计算一系列x:
x={m k+j,j=0,1,2,...}={30m,30m+1,30m+2,...}
直到x3+ax+b(modp)是平方根,即得到椭圆曲线上的点
Figure BDA00002173522400081
因为在0到p的整数中,有一半是模p的平方剩余,一半是模p的非平方剩余。所以k次找到x,使得x3+ax+b(modp)是一平方根不小于1-2-k
反过来,为了从椭圆曲线上的点(x,y)得到明文消息m,只须求
Figure BDA000021735224000911
2.2.3椭圆密码算法的改进
2.2.3.1前人工作分析
根据椭圆曲线倍点公式,设P=(x,y),E(F2m),2P=(x1,y1),其中:
x 1 = ( x + y x ) 2 + ( x + y x ) + a
y 1 = x 2 + ( x + y x ) x 1 + x 1
计算过程中一般要用到2sP,s≥1可以一步一步地计算2P,22P,23P...,但这样效率较低。有文献提到可以直接算出4P,8P,16P,2sP,s≥1,而不是一步一步计算2P,22P,23P...。该文献中算出4P=(x2,y2),其中
x 2 = &zeta; 2 + ( &delta;&gamma; ) &zeta; ( &delta;&gamma; ) 2 + a , y 2 = &zeta; ( &delta;&gamma; ) &zeta;x 2 + ( &delta; 2 ) 2 ( &delta;&gamma; ) 2 + x 2
γ=x2,η=γ+y,δ=η2+ηx+aγ,ξ=ηx+γ,ζ=δ(δ+ξ)+γ2
从以上表达式中可以看到,虽然直接计算4P与先算2P再算2P相比需要多计算9次乘法,但可以少计算一次求逆运算。由于1次求逆的时间通常多于9次乘法的时间,这样做就能有效地减少运算时间。
2.2.3.2改进算法
给出直接计算2sP,1≤s≤m的公式,这样做可以进一步减少计算量。先推导出2sP,1≤s≤m的表达式。记2kP=(xk,yk),则
x k = ( x k - 1 + y k - 1 x k - 1 ) 2 + ( x k - 1 + y k - 1 x k - 1 ) + a
y 2 k - 1 = x 2 k - 1 + ( x k - 1 + y k - 1 x k - 1 ) x k + x k
这里要做的是把(xk,yk)直接表示
Figure BDA00002173522400098
的形式。其中ak,bk,ck都是关于x,y的整式,这样就实现了用乘法来减少求逆的目的。将
Figure BDA00002173522400099
Figure BDA000021735224000910
带入递推式,就得到了ak,bk,ck的递推公式如下:
ck2,ak2+δγ,bk=a4 k-1+δγxk
其中δ=ak-1ck-1,γ=a2 k-1+bk-1+ck-1,而a0=x,b0=y,c0=1
由此计算公式,来估计改进过的方法计算量。在改进的方法中计算2sP,1≤s≤m的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2sP,1≤s≤m则需要2s次乘方,s次求逆。总的运算量可以从下表进行比较,其中加法次数由于直接计算和逐次计算相差不大,故忽略。
表2-1不同方法运算量的比较
Figure BDA00002173522400101
表2-1的总时间由表2-2算出
表2-2计算时间比较
操作类型 计算时间比较(总时间/μs)
176 bit addition 1.19
176 bit squring 4.23
176 bit multiplication 38.56
176 bit inverse 158.73
在以上倍点乘改进算法中,只对2kP,k≥1(偶数倍倍点乘)进行改进,如果要计算(2X+1)P,X=1,2,3,4…倍点乘,可以利用以上求出的结果,在2kP,k≥1的基础上加P来实现。
例:求3P可以表示成:3P=(P+2P)或3P=((P+P)+P)
5P=(P+4P)或5P=(2P+2P+P)
7P=(P+2P+4P)或7P=(P+2P+2P+2P)
…………
以此类推,就可以求出所有的奇数倍倍点乘。我们知道,加法的运算速度是远远高于乘法运算速度,在此将乘法变成加法,运算速度提高13%左右。
2.2.3.3算法分析
从文中可以看出,通过直接计算2sP,将费时的域中求逆运算替换成了较快的平方或乘法等运算,在计算(2X+1)P,X=1,2,3,4…时,可以利用2sP计算所得的结果加P来实现,也就是将乘法变成加法,因此减少了计算量,加快了运算速度。
从以上结果可看出,在此提出的改进算法性能随着直接计算2mP,m≠1中m的增大而提高,在极限情况下性能可比原算法提高30%,在计算(2X+1)P时,算法的性能可进一步提高,因此应用价值较大。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (7)

1.一种面向移动微技的数字签名认证方法,其特征在于:
产生证书:开发者向认证机构中的注册机构RA提交开发者证书申请,由RA对相关内容进行审核并决定是否审批通过该证书申请的请求,通过后RA将申请请求及审批通过的信息提交给认证中心CA,由CA进行证书的签发;
签名:证书申请被批准注册之后,RA端的应用程序初始化申请者的信息,给开发者颁发证书,发送私钥,CA在LDAP目录服务器中添加证书申请人的有关信息,开发者收到私钥之后,在开发平台上对编译通过的程序进行签名,上传至Web服务器;
验证:普通用户从Web服务器上下载应用程序之后,再从LADP下载相应开发者的公钥证书,对下载后的程序进行验证。
2.根据权利要求1所述的一种面向移动微技的数字签名认证方法,其特征在于:认证机构的密钥管理系统包括:负责生成密钥的密钥生成子系统,负责存放密钥的密钥库子系统,为用户提供密钥恢复功能的密钥恢复子系统,负责对整个密钥系统提供配置管理的密钥管理子系统,包含KMADMIN终端和AUDIT审计终端的终端系统。
3.根据权利要求1或2所述的一种面向移动微技的数字签名认证方法,其特征在于:所述开发者利用私钥对代码m进行签名,椭圆曲线数字签名方案签名的生成过程如下:
1)随机或伪随机地选择一个整数k∈RZn*
2)计算公钥Q和x1除以n的余数r
Q=kG=(x1,y1)
式中x1,y1——椭圆曲线上的横坐标和纵坐标;
r=x1modn
如果r=0,则返回到1);
3)计算k-1对n的余数s'
s'=k-1modn
4)计算信息摘要
e=SHA-1(m)
5)计算
s=k-1(e+dr)modn
如果s=0,则返回到1),(r,s)是A对消息m的签名。
4.根据权利要求3所述的一种面向移动微技的数字签名认证方法,其特征在于:
在客户端对下载程序进行验证:
客户端验证(r,s)是A对消息m的签名的验证方法流程如下:
11)验证r,s是[1,n-1]中的整数;
12)计算信息摘要e
e=SHA-1(m)
13)计算s-1对n的余数
w=s-1modn
14)分别计算ew和rw对n的余数
u1=ewmodn
u2=rwmodn
15)计算验证信息
X=u1G+u2Q=(x1,y1)。
5.根据权利要求4所述的一种面向移动微技的数字签名认证方法,其特征在于:
安全椭圆曲线选取包括以下四种方法:
第一:有限域GF(q)上随机生成一椭圆曲线,直接计算其阶,判断阶是否为大素数或含大素数因子,若是取出确定,否则继续选取曲线,直至符合条件;
第二:取具有一定特殊性椭圆曲线的系数,计算该椭圆曲线的阶,对该阶进行判断,直至找到所需要的安全曲线;
第三:如果q=2m,其中m能被一个比较小的整数d整除,我们首先在有限域GF(q1)(q1=2d)上选择椭圆曲线E′并计算其阶,根据此值,利用Weil定理计算该曲线在其扩域GF(q)上的阶,若此阶符合安全标准,我们再找曲线E′在域GF(q)上的嵌入E,则E即为所需的安全椭圆曲线;
第四:首先给出具有安全条件的曲线阶,然后构造具有此阶的椭圆曲线。
6.根据权利要求5所述的一种面向移动微技的数字签名认证方法,其特征在于:
椭圆曲线的生成方法如下:
A.随机产生一个长度为g的比特串seedE,g>160;
B.计算H=SHA1(seedE),然后把H的最右边v比特赋给c0
C.把c0的最左边位(即第v比特)设置为0,把变化后的c0赋给w0;该捕捉确保了r<p;
D.把g比特的seedE转换为整数,记做z;
E.循环处理,i从1到s,si=(z+i)mod2g,把si作为比特串看待,计算Wi=SHA1(si);
F.将所有的Wi以如下形式合并成W:W=W0||w1||...||Ws||代表连接;
G.将W比特串转化为整数r;
H.如果r=0,或者4r+27=0modp;那么回到步骤1);
I.随机产生a、b,a,b∈Fp。如:a=r,b=r;
J.到此,求基于Fp的椭圆曲线方程E:y2=x3+ax+b;
K.输出(seedE,a,b)。
7.根据权利要求6所述的一种面向移动微技的数字签名认证方法,其特征在于:椭圆密码算法如下:
给出直接计算2sP,1≤s≤m的公式,先推导出2sP,1≤s≤m的表达式,记2kP=(xk,yk),则
x k = ( x k - 1 + y k - 1 x k - 1 ) 2 + ( x k - 1 + y k - 1 x k - 1 ) + a
y 2 k - 1 = x 2 k - 1 + ( x k - 1 + y k - 1 x k - 1 ) x k + x k
把(xk,yk)直接表示
Figure FDA00002173522300033
Figure FDA00002173522300034
的形式,其中ak,bk,ck都是关于x,y的整式,将
Figure FDA00002173522300036
带入递推式,就得到了ak,bk,ck的递推公式如下:
ck2,ak2+δγ,bk=a4 k1+δγxk
其中δ=ak-1ck-1,γ=a2 k-1+bk-1+ck-1,而a0=x,b0=y,c0=1
由此计算公式,来估计改进过的方法计算量,在改进的方法中计算2sP,1≤s≤m的运算量为4s次乘法,4s次平方,1次求逆,而逐次计算2sP,1≤s≤m则需要2s次乘方,s次求逆。
CN2012103552974A 2012-09-21 2012-09-21 一种面向移动微技的数字签名认证方法 Pending CN102883321A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012103552974A CN102883321A (zh) 2012-09-21 2012-09-21 一种面向移动微技的数字签名认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012103552974A CN102883321A (zh) 2012-09-21 2012-09-21 一种面向移动微技的数字签名认证方法

Publications (1)

Publication Number Publication Date
CN102883321A true CN102883321A (zh) 2013-01-16

Family

ID=47484423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012103552974A Pending CN102883321A (zh) 2012-09-21 2012-09-21 一种面向移动微技的数字签名认证方法

Country Status (1)

Country Link
CN (1) CN102883321A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015017950A1 (zh) * 2013-08-08 2015-02-12 Zhou Xiaohong 对互联网信息发布进行身份鉴别的一种方法
CN104363217A (zh) * 2014-11-03 2015-02-18 深圳市远行科技有限公司 一种Web系统的CA数字签名认证系统及认证方法
CN104468104A (zh) * 2013-09-16 2015-03-25 航天信息股份有限公司 一种基于lra受理点信息的数字证书管理方法及装置
CN105227545A (zh) * 2015-09-07 2016-01-06 上海联彤网络通讯技术有限公司 智能操作平台中实现用户和开发者划分控制的系统及方法
CN105721489A (zh) * 2016-03-16 2016-06-29 四川长虹电器股份有限公司 基于数字证书对ip白名单中的ip认证方法与系统
CN107784106A (zh) * 2017-10-30 2018-03-09 广州木铎信息技术有限公司 网上奖状管理系统
CN109194488A (zh) * 2018-09-14 2019-01-11 北京清大智信科技有限公司 一种基于毫米级超微型计算机的可信签章系统及方法
CN110635915A (zh) * 2019-09-29 2019-12-31 杭州尚尚签网络科技有限公司 一种基于多ca的高并发数字证书注册管理方法
CN111628873A (zh) * 2020-07-28 2020-09-04 四川省数字证书认证管理中心有限公司 一种使用数字证书固化数据电文的存证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030161472A1 (en) * 2002-02-27 2003-08-28 Tong Chi Hung Server-assisted public-key cryptographic method
CN101951605A (zh) * 2010-09-14 2011-01-19 浙江大学 移动Widget的数字签名方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030161472A1 (en) * 2002-02-27 2003-08-28 Tong Chi Hung Server-assisted public-key cryptographic method
CN101951605A (zh) * 2010-09-14 2011-01-19 浙江大学 移动Widget的数字签名方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
沈天国: "《中国优秀硕士学位论文全文数据库》", 15 May 2011 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015017950A1 (zh) * 2013-08-08 2015-02-12 Zhou Xiaohong 对互联网信息发布进行身份鉴别的一种方法
CN104468104A (zh) * 2013-09-16 2015-03-25 航天信息股份有限公司 一种基于lra受理点信息的数字证书管理方法及装置
CN104468104B (zh) * 2013-09-16 2018-08-24 航天信息股份有限公司 一种基于lra受理点信息的数字证书管理方法及装置
CN104363217A (zh) * 2014-11-03 2015-02-18 深圳市远行科技有限公司 一种Web系统的CA数字签名认证系统及认证方法
CN105227545A (zh) * 2015-09-07 2016-01-06 上海联彤网络通讯技术有限公司 智能操作平台中实现用户和开发者划分控制的系统及方法
CN105721489A (zh) * 2016-03-16 2016-06-29 四川长虹电器股份有限公司 基于数字证书对ip白名单中的ip认证方法与系统
CN107784106A (zh) * 2017-10-30 2018-03-09 广州木铎信息技术有限公司 网上奖状管理系统
CN109194488A (zh) * 2018-09-14 2019-01-11 北京清大智信科技有限公司 一种基于毫米级超微型计算机的可信签章系统及方法
CN109194488B (zh) * 2018-09-14 2019-06-28 北京清大智信科技有限公司 一种基于毫米级超微型计算机的可信签章系统及方法
CN110635915A (zh) * 2019-09-29 2019-12-31 杭州尚尚签网络科技有限公司 一种基于多ca的高并发数字证书注册管理方法
CN110635915B (zh) * 2019-09-29 2022-05-27 杭州尚尚签网络科技有限公司 一种基于多ca的高并发数字证书注册管理方法
CN111628873A (zh) * 2020-07-28 2020-09-04 四川省数字证书认证管理中心有限公司 一种使用数字证书固化数据电文的存证方法

Similar Documents

Publication Publication Date Title
US10944575B2 (en) Implicitly certified digital signatures
CN102883321A (zh) 一种面向移动微技的数字签名认证方法
US8661240B2 (en) Joint encryption of data
US10673625B1 (en) Efficient identity-based and certificateless cryptosystems
US20050271207A1 (en) Method and system for chaotic digital signature, encryption, and authentication
US9800418B2 (en) Signature protocol
CN112104619A (zh) 基于外包密文属性加密的数据访问控制系统和方法
CN103259662A (zh) 一种新的基于整数分解问题的代理签名及验证方法
CN111464315A (zh) 数字签名处理方法、装置、计算机设备以及存储介质
US20140082361A1 (en) Data encryption
US20150006900A1 (en) Signature protocol
Savu Signcryption scheme based on schnorr digital signature
CN109618348B (zh) 一种单向代理重签名的实现方法及装置
CN116346328A (zh) 一种数字签名方法、系统、设备及计算机可读存储介质
US11956370B2 (en) Method and system for digital signatures utilizing multiplicative semigroups
CN112989436A (zh) 一种基于区块链平台的多重签名方法
Xia et al. An improved privacy preserving construction for data integrity verification in cloud storage
Ray et al. Design of mobile public key infrastructure (M-PKI) using elliptic curve cryptography
WO2016187689A1 (en) Signature protocol
US20070033405A1 (en) Enhanced key agreement and transport protocol
Zhang et al. An ECC‐Based Digital Signature Scheme for Privacy Protection in Wireless Communication Network
Xi et al. Direct anonymous attestation in practice: Implementation and efficient revocation
Wang Signer‐admissible strong designated verifier signature from bilinear pairings
Ullah et al. An investigating study of blind and ID-based signcryption schemes for misuse risk protection and high performance computing
TWI767682B (zh) Ecqv衍生子憑證產生系統、方法及電腦可讀媒介

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130116