一种基于圆锥曲线组合公钥认证密码方法
【专利摘要】基于圆锥曲线组合公钥认证密码方法,包括如下步骤:步骤1、生成基于剩余类环圆锥曲线的公开密码参数;步骤2、生成基于剩余类环圆锥曲线的公私密钥;步骤3、使用基于圆锥曲线的组合公钥密码方法的基本算法。
【专利说明】—种基于圆锥曲线组合公钥认证密码方法
【技术领域】
[0001]本发明涉及一种基于圆锥曲线组合公钥认证密码方法,该方法适用于云计算环境下大数据处理的标识认证。
技术背景
[0002]当代社会,从天文地理、人工智能、信息安全到人口普查、交通信息,各种图像、视频、音乐、文本等多媒体信息处理,数据规模越来越大,达到TB级,甚至到PB级,这些数据都具有海量、异构、半结构化或非结构化的特点。为了支持动态的、异构的和分布式的云计算环境下实现云服务的共享与协同以及大数据处理的需要,一方面在云服务的调度执行期间产生很多进程实体,这些实体需要管理;另一方面还需要对这些实体运行合法性等进行验证,用户使用云服务必需有相对应的权限,因此云服务的有序调度运行必需考虑其安全保障措施。云计算安全体系的架构由于云计算的分布性、动态性和异构性的特点,使得其变得复杂且实施困难,因此设计快速高效的认证密码方法是云计算研究的关键问题之一。
[0003]云计算环境下的安全体制目前主要是基于PKI的认证机制和基于IBE的认证机制两种。PKI是一种用公开密钥的概念和技术来实施和提供安全服务的具有普适性的安全基础设施,它遵循既定标准的密钥管理平台,能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系。PKI可以为不同的用户按不同安全需求提供多种安全服务,PKI提供认证鉴别、数据完整性、数据保密性、事后不可否认性、和时间戳等服务,核心是要解决网络空间的信任问题。PKI包括认证机构(Certificate Authority,简称CA)、证书库、密钥备份及恢复系统、证书回收系统、PKI应用接口系统等五个基本组成部分。目前,一般把权限管理基础设施(Privilege Management Infrastructure,简称PMI)和PKI有机结合起来使用,从而保证用户以安全、一致和可信的方式交互:PKI引入了第三方信任和证书概念,实现了通信双方身份和名字的绑定认证服务;基于属性证书(AttributeCertificate,简称AC)的PMI实现用户授权管理。随着认证技术的深入研究和应用,我们发现PKI认证体制并不是想象中的理想体制,尤其对于分布、动态、异步的云计算中复杂应用变得越来越普遍、大数据处理越来愈多的情形下,弊端越来越明显且配置复杂。基于PKI的认证系统存在严重的可用性和信任管理问题。若认证体制采用基于PKI的X.509证书认证框架,为实现密钥的交换和验证,在认证的过程中必需依赖一个在线CA证书数据库,且客户端与资源服务提供端交互非常频繁。因此,作为安全基础的密码系统架构,PKI的部署复杂且花费昂贵,对于大规模分布式云服务和应用采用这种安全架构值得怀疑。IBE采用任意序列作为有效公钥,尤其Email地址和日期等可以作为有效公钥。后来Don Boneh和Matthew Franklin提出了利用Weli的组对理论,实现了将标识作为公钥而不通过第三方的标识认证密码体制的思想,但基于Weli组对理论实现的IBE公钥密码体制比较复杂且效率低。南湘浩研究员提出了基于椭圆曲线密码体制的组合公钥CPK,它具有超大规模的密钥管理能力,基于实体的标识生成证书和无需第三方认证的优点。
[0004]云计算环境应是可信的和安全的,必须构建可信认证系统为交易提供鉴别性证明和负责性证明等。认证系统是建立交易信任的基础,其核心是建立合理的签名机制,而签名机制的实现又靠合理的密钥管理,因此密钥管理技术成为构建可信认证系统的中心问题。因为在圆锥曲线群上各项计算比椭圆曲线群上更简单且编码和解码都很容易,同时可以构造等价于大整数分解的密码,且圆锥曲线群的离散对数问题在圆锥曲线的阶和椭圆曲线的阶相同的情况下,并不比椭圆曲线容易。因此我们结合组合公钥的思想,提出了基于圆锥曲线的公钥密码体制,消除了 IBE本身密钥托管问题的固有缺点,具有无可信第三方的基于标识认证的优点,采用组合公钥种子化密钥技术,通过自身直接验证并解决了密钥管理难题。
【发明内容】
[0005]本发明要解决现有云计算环境下的认证密码方法因一方面IBE本身密钥托管问题的固有缺点,另一方面PKI弊端越来越明显且配置复杂而无法更好地应用于具有大数据处理能力的云计算环境的缺点,提出了一种快速高效的基于圆锥曲线组合公钥认证密码方法。
[0006]为实现上述技术任务,本发明采取如下步骤的技术解决方案:
[0007]步骤1、生成基于剩余类环:Zn圆锥曲线的公开密码参数
[0008]设I是模n剩余类环,定义环Zn上的圆锥曲线Cn (a,b)为同余方程y2 = ax2-bx (mod η)在 Zb 上的解集,其中 a,b e Z, (a, n) = (b, n)=l, n=pq, p, q 为两个不同的大奇素数,mod为取模运算;原点0=(0,O) e Cn(a, b),记CnM =
{(.T, v) e Si tZn I y2 = CD^ —bx = 0{mod η)}.右?两足(_p) (.g) 且 p+l=2r, q+l=2s, 1-、S 是素数,则曲线
9,
Cn(a, b)存在点 G,其阶 Nn=Icm{I Cp (a, b) |,Cq (a, b) } = {p+l, q+l}=2rs,其中 Icm(x, y)为计算最小公倍数函数,|Cp(a,b) I和|Cq(a,b) I分别为有限域上圆锥曲线Cp(a,b)和Cq(a,b)的阶;G为Cn(a, b)的一个基点,集合S= {G, 2G,…,(Nn-1)G, NnGj构成Cn(a, b)的一个子群S,称为由基点G生成的群S ;因此基于剩余类环I圆锥曲线密码参数由a,b, n, G, Nn组成,
记作T= (a, b, n, G, Nn);由基点G生成的子群S中的元素皆为G的倍点kG (k=l, 2,......,Nn)
即 5 = {G,2G,...,(iV? -1)G,.V?G} = I(X15Y1)5(X^y2),……(xNn—py、—Jdx、,yNn)};子群 S 中的元
素(xk,yk)与该点对应的倍数值k恰好构成公钥/私钥对;给定参数T= (a,b, n, G, Nn)和公钥(xk,yk),求出其对基点G的倍数值k (即离散对数)是很困难的;为了简化求基点G的计算复杂度,采用基于中点的选取基点办法:设定基点G= (Xt^ye) SCn(a,b)的中点;
[0009]步骤2、生成基于剩余类环-A,圆锥曲线的公私密钥
[0010]由步骤I生成的剩余类环2?圆锥曲线公开密码参数T=(a,b,n,G,Nn)建立如下私钥矩阵(SSKF)和公钥矩阵(PSKF):
(xIi5J7Il)…(xIhiJ7Ift)ru rp.,, rlh
1-?PQi^P- (X2l,-V2l) (χ22,)’22> …(?,?)Tn {厂”…
[0011]pSKF-SSKF= -1 2- lh
, L(UU) (Xm2OL)…[rml rm2 …rmh_[0012]其中XiJ=(XijJij) e S, TijG=Xij J= (Xij., Yij) , I ( r^.( (Nn-1)且
[0013]公钥矩阵(PSKF)和私钥矩阵(SSKF)中任一对应位置上的元素Xi,」=(Xij, yj e S与1^_就构成一个公钥/私钥对;在密码机制中一个实体的公钥(PK)/私钥(SK)对是根据实体ID、公钥矩阵(PSKF)、私钥矩阵(SSKF)以及预先定义的映射算法直接映射得到的;这里的实体ID是在应用期间注册的能够与它实体区分开来的唯一名字(简称DN),如用户名、进程号、组织名称、银行帐号、IP地址、MAC地址或设备号码等,只要实体认可且以后不否认即可;为了实现单点登录与信任委托等功能,实体ID后可加上生成的时刻;
[0014]设实体ID的映射值对应的行列坐标为:Q1, J1), (i2, j2),...,(ih, jh),则得到的公钥(PK)和私钥(SK)分别为:
[0015]PK-Xilj J^+Xi2j J2+-..+Xih,ih_(xii,ji,yii,ji) + (x i2,j2, yi2,j2)+...+(Xih,jh, Yih, jh),
[0016]SK= (ril; J^ri2j J2+...+rih; ih) mod Nn,因
[0017]PK-Xilj ji+Xi2; j2+...+Xih, ih_rii,jiG+ri2,j2G+...+rih; ihG- (ril; ji+ri2; J2+...+rih,ih)G=SKXG
[0018]通过映射算法可以从实体ID得到用来认证的一系列唯一映射值,因此映射函数Fi(X)必需具有无冲突和随机产生的特点,对称加密函数或hash函数都可以作为映射函数Fi(X);如Fi(X)= E1^Hashiuser indentm))mod m = Ij,这里E ()先用哈希函数对用户标识符做
散列,然后采用AES方法,用键+实现加密;
[0019]步骤3、使用基于圆锥曲线的组合`公钥密码方法的基本算法
[0020]
【权利要求】
1.基于圆锥曲线组合公钥认证密码方法,包括如下步骤: 步骤1、生成基于剩余类环Zb圆锥曲线的公开密码参数 设2?是模η剩余类环,定义环Z11上的圆锥曲线Cn(a,b)为同余方程f ^ ax2-bx(modη)在2?上的解集,其中a, b e Ζ, (a, n) = (b, n)=l, n=pq, p, q为两个不同的大奇素数,mod为取模运算;原点 0= (0,O) e Cn (a, b),记 Cn (a, b) =| / = αχ2-bx^0(mod η)}.若满足(X)且p+l=2r,q+l=2s,r、s是素数,则曲线Cn(a,b)存在点G,其阶Nn=
,Icm{I Cp (a, b) |,I Cq (a, b) } = {p+l, q+l}=2rs,其中 Icm(x, y)为计算最小公倍数函数,Cp(a, b)和|Cq(a,b)|分别为有限域上圆锥曲线Cp(a,b)和Cq(a,b)的阶;6为(:?)的一个基点,集合3={6,26,...,(Nn-1)G, NnG}构成Cn(a,b)的一个子群S,称为由基点G生成的群S ;因此基于剩余类环Zn圆锥曲线密码参数由a,b,n,G,Nn组成,记作T=(a,b,n,G,Nn);由基点G生成的子群S中的元素皆为G的倍点kG(k=l,2,......,Nn)即S = {C7.2G…(/Vj1-1)G./V?G} = | (x,.y,).(x 2.y 2).......(xN 丨,yv, ,).(xN.yNi)!.子群 S 中的元素(Xk,yk)与该点对应的倍数值k恰好构成公钥/私钥对;给定参数T= (a,b, n, G, Nn)和公钥(xk,yk),求出其对基点G的倍数值k (即离散对数)是很困难的;为了简化求基点G的计算复杂度,采用基于中点的选取基点办法:设定基点G=O^ye) SCn(a,b)的中点; 步骤2、生成基于剩余类环圆锥曲线的公私密钥 由步骤I生成的剩余类 环 1圆锥曲线公开密码参数T=(a,b, n, G, Nn)建立如下私钥矩阵(SSKF)和公钥矩阵(PSKF):
【文档编号】H04L9/32GK103490890SQ201310362085
【公开日】2014年1月1日 申请日期:2013年8月19日 优先权日:2013年8月19日
【发明者】于明远, 赵航, 黄书杭, 禹晴, 刘希伟, 叶蕾 申请人:浙江工业大学