多方安全认证系统、认证服务器、中间服务器、多方安全认证方法以及程序的制作方法_2

文档序号:9713911阅读:来源:国知局
示下标符。例如,xY-z表示yz是对于X的上标符,Xy_z表示yz是对于X的 下标符。
[0075] ? ~ (插入符)表示对紧后的字符赋予抑扬符(circumflex)。例如,表示算式内的 W下的字符。
[0076] 【数11】
[0077] I,
[0078] . ^(上标右箭头)表示矢量。
[0079] ?[](角括号)表示括号内的数据的分散值。例如,[W]是W的分散值。
[0080] ?化CAB(X)表示通过节点A和节点B的公共密钥而对数据X进行了加密的密文。
[0081 ][基本的考虑方法]
[0082 ]说明本发明的多方安全认证技术的基本的考虑方法。
[0083] 贯穿整体的出场物是用户终端1、中间服务器拟及n台认证服务器31,……,3n。其 中,n是3W上的整数。
[0084] 首先,将利用系统的用户终端1的密码为W的情况注册到认证服务器群31,……,3n。 关于在实施认证时一并使用的几个随机数也由用户生成,并传送给各认证服务器3i,……, 3n。此时,为了不让进入其间的中间服务器2滥用运些信息而冒充用户终端1,所发送的分散 值等通过与各认证服务器31,……,3n的公共密钥而加密。此外,密码本身也使用秘密分散, 在各认证服务器3l,……,3n中仅保存密码的分散值。因此,各认证服务器3l,……,3n不知晓 密码本身。
[0085] 接着,叙述认证的实施过程。在用户终端1通过密码W'来尝试认证的情况下,为了 确认所注册的用户终端1的密码W和所输入的密码W'一致的情况,通过协调计算而导入W与 W'的差为0。为了不让认证的权限偏向构成系统的各参加者(具体而言,中间服务器2W及认 证服务器31,……,3n)的其中一个,各参加者进行用于认证的计算。为了不让各参加者知晓 通过协调计算而注册的密码wW及所输入的密码W',与随机数组合而进行协调计算。此外, 为了不在下次的认证中重复使用此时使用的随机数,在认证的过程的最后更新随机数。
[0086] 进而,叙述W下改良方法:为了应对在认证过程中滥用经由中间服务器2交换的密 文所导致的重放(Replay)攻击,预先通过认证服务器31,……,3。生成随机数而与用户终端1 共享,从而不能再利用在认证时发送的密码的密文。另外,重放攻击是再利用认证成功后的 密文,中间服务器2冒充用户装置1而使认证成功的攻击。
[0087] [秘密分散技术]
[0088] 在本发明中,作为结构要素而使用秘密分散技术。在本发明中使用的秘密分散技 术中,使用如化-Kn那样的化,n)秘密分散。化,n)秘密分散是将某数据分割为n个,其中即 使聚集至k-1个为止,关于原数据也什么都不知晓,但若聚集k个W上则能够复原原数据的 技术。
[0089] 具体而言,秘密分散技术由W下说明的化are算法和Reconst算法构成。
[0090] Share算法是对数据进行分割的算法。分割后的数据被称为化are或者分散值。 Share算法将秘密S作为输入,分割为n个并进行输出。将该步骤(手続香)如W下式那样进行 记述。
[00川【数12】
[0092] ([s]i,..., [s]n)^Siare(s)...(l)
[0093] Reconst算法是对数据进行复原的算法。Reconst算法将m个化< m < n)Share作为 输入而输出原始的秘密S。在本发明中利用的秘密分散技术中,存在由m和{ai,……,am}决定 的入a_i(i = l,……,111),设为^下式成立。曰1,……,am是IW上且nW下的不同的m个整数。
[0094] 【数13】
[00巧]S 二我…(2)
[0096] [第一实施方式]
[0097] 参照图1,说明第一实施方式所设及的多方安全认证系统的功能结构的一例。多方 安全认证系统包含用户装置1、中间服务器2W及n台认证服务器3i,……,3n。
[0098] 参照图2,说明用户装置1的功能结构的一例。用户装置1包含控制部101、存储器 102、公共密钥存储部11、密码分散部12W及密码分散值加密部13。用户装置1例如是在具有 中央运算处理装置(中央处理单元(Central Processing化it)、CPU)、主存储装置(随机存 取存储器(Random Access Memcxry)、RAM)等的公知或专用的计算机中读入特殊的程序而构 成的特殊的装置。用户装置I例如在控制部101的控制下执行各处理。被输入至用户装置I的 数据、在各处理中得到的数据例如被储存至存储器102,在存储器102中储存的数据根据需 要而被读出,被利用于其他处理。用户装置1所具备的各存储部例如能够由RAM(随机存取存 储器)等主存储装置、由硬盘、光盘或者闪速存储器(Flash Memory)那样的半导体存储器元 件构成的辅助存储装置、或关系数据库(relational da化base)、密钥值存储器化巧value store)等中间件而构成。
[0099] 参照图3,说明中间服务器2的功能结构的一例。中间服务器2包含控制部201、存储 器202、公共密钥存储部21、密码分散值转发部22、中间服务器验证值解密部23W及中间服 务器验证部24。中间服务器2例如是在具有中央运算处理装置(中央处理单元、CPU)、主存储 装置(随机存取存储器、RAM)等的公知或专用的计算机中读入特殊的程序而构成的特殊的 装置。中间服务器2例如在控制部201的控制下执行各处理。被输入至用户装置1的数据、在 各处理中得到的数据例如被储存至存储器202,在存储器202中储存的数据根据需要而被读 出,被利用于其他处理。中间服务器2所具备的各存储部例如能够由RAM(随机存取存储器) 等主存储装置、由硬盘、光盘或者闪速存储器(Flash Memory)那样的半导体存储器元件构 成的辅助存储装置、或关系数据库、密钥值存储器等中间件而构成。
[0100] 参照图4,说明认证服务器3的功能结构的一例。认证服务器3包含控制部301、存储 器302、随机数分散值生成部31、零分散值生成部32、密码分散值解密部33、中间服务器验证 值生成部34、中间服务器验证值加密部35、认证服务器验证值生成部36、认证服务器验证值 加密部37、认证服务器验证值解密部38、认证服务器验证部39、公共密钥存储部41W及分散 值存储部42。认证服务器3例如是在具有中央运算处理装置(中央处理单元、CPU)、主存储装 置(随机存取存储器、RAM)等的公知或专用的计算机中读入特殊的程序而构成的特殊的装 置。认证服务器3例如在控制部301的控制下执行各处理。被输入至认证服务器3的数据、在 各处理中得到的数据例如被储存至存储器302,在存储器302中储存的数据根据需要而被读 出,被利用于其他处理。认证服务器3所具备的各存储部例如能够由RAM(随机存取存储器) 等主存储装置、由硬盘、光盘或者闪速存储器(Flash Memory)那样的半导体存储器元件构 成的辅助存储装置、或关系数据库、密钥值存储器等中间件而构成。认证服务器3所具备的 各存储部分别在逻辑上分割即可,也可W被存储于一个物理的存储装置。
[0101] 参照图5~10,按照实际进行的步骤的顺序说明多方安全认证方法的处理流程的 一例。
[0102] 在用户终端1的公共密钥存储部11中,存储有用户终端1与进行加密通信的各装置 的公共密钥。具体而言,是用户终端1与各认证服务器31,……,3n的公共密钥,共计n个公共 密钥被存储。
[0103] 在中间服务器2的公共密钥存储部21中,存储有中间服务器2与进行加密通信的各 装置的公共密钥。具体而言,是中间服务器2与各认证服务器31,……,3n的公共密钥,共计n 个公共密钥被存储。
[0104] 在第i个认证服务器3i的公共密钥存储部41中,存储有认证服务器3i与进行加密通 信的各装置的公共密钥。具体而言,是用户终端1、中间服务器2与其他n-1台认证服务器3j (j = 1,……,n、j辛i)的公共密钥,在1台认证服务器3的公共密钥存储部41中存储有共计n+ 1个公共密钥。
[0105] 在本发明中使用的公共密钥密码方式也可W是已有的任何公共密钥密码方式,考 虑应用本发明的信息系统中寻求的安全性、处理速度等而选择即可。各装置所存储的公共 密钥是遵照所选择的公共密钥密码方式而生成的公共密钥,通过该公共密钥密码方式允许 的密钥交换方式而共享即可。
[0106] <<密码注册阶段>>
[0107] 参照图5,说明多方安全认证方法的密码注册阶段的处理。密码注册阶段在新注册 用户的情况或变更注册完毕用户的密码的情况下被执行。
[0108] 在步骤SlOl中,用户终端1的密码分散部12将密码W分散为n个分散值[w]i,……,
[W]n。密码W是由用户U操作用户终端1而输入的任意的密码。也就是说,密码分散部12进行 W下的式(3)的计算。
[0109] 【数14】
[0110] ([W]1,, [w]n)^Siare(w)... (3)
[0111] 在步骤S102中,用户终端I的密码分散值加密部13关于i = l,……,n,使用用户装 置1与第i个认证服务器3i的公共密钥,得到对分散值[W]进行了加密的密文化cus_i([w]i)。
[0112] 在步骤S103中,用户终端1的密码分散值加密部13将在步骤S102中得到的n个密文 Encus_i([w]i),......,Encus_n([w]n)发送给中间服务器2。
[0113] 在步骤S201中,中间服务器2的密码分散值转发部22对从用户终端1接收到的n个 密文E:ncus_i([w]i),......,Encus_n([w]n)进行接收,关于i = l,......,n,将密文E:ncus_i( [w]i)分 别发送给认证服务器3i。
[0114] 在步骤S301中,认证服务器3i的密码分散值解密部33接收从中间服务器2转发的 密文 E:ncus_i([w]i)。
[0115] 在步骤S302中,认证服务器3i的密码分散值解密部33使用用户终端1与认证服务 器3i的公共密钥,对从中间服务器2接收到的密文化cus_i([w]i)进行解密而得到分散值 [W] 1。分散值[W ] 1被存储至分散值存储部42。
[0116] < <随机数生成阶段> >
[0117] 参照图6,说明多方安全认证方法的随机数生成阶段的处理。随机数生成阶段至少 需要在注册了密码的用户进行认证之前被执行。
[0118] 在步骤S311中,认证服务器3i的随机数分散值生成部31生成若进行复原则成为随 机数ri,……,rd的d个分散值[ri]i,……,[rd]i。所生成的分散值[ri]i,……,[rd]i被存储至 分散值存储部42。在此,d> 1。
[0119] 在步骤S312中,认证服务器3i的零分散值生成部32生成若进行复原则成为0的d个 分散值[01]1,……,[0d]i。所生成的分散值[01]1,……,[0d]i被存储至分散值存储部42。
[0120] 步骤S311至步骤S312的处理也可W与步骤SlOl至步骤S302的处理并行执行,也可 W独立预先进行。
[0121] <<认证阶段>>
[0122] 参照图7~9,说明多方安全认证方法的认证阶段的处理。认证阶段在注册有密码 的用户寻求认证时被执行。认证阶段的处理不需要n台认证服务器31,……,3n全部进行,仅 任意选择的m台执行即可。在W后的说明中,将ai,……,am设为IW上且nW下的不同的m个整 数,设为m台认证服务器3a_l,……,3a_m进行认证阶段的处理。
[012引认证服务器3a_i从在分散值存储部42中存储的分散值[ri]a_i,……,[rd]a_i选择[r W]a_i,[rW]a_i,……,[r?]a_i。此外,同样,认证服务器3a_i从在分散值存储部42中存储的 分散概 〇l]a_i,……,[0d]a_i 选择[0(W)]a_i, [0(l)]a_i,……,[0(。)]3_1。
[0124] 在图7所示的步骤S121中,注册了密码W的用户U操作用户终端1,输入用于寻求认 证的密码W'。
[0125] 在步骤Sl 22中,用户终端1的密码分散部12将密码W '分散为n个分散值 [w']i,……,[W']n。也就是说,密码分散部12进行W下的计算。
[0126] 【数15】
[0127] ([W' ]1,, [W' ]n)^Siare(w' )... (4)
[01%]在步骤S123中,用户终端1的密码分散值加密部13关于i = l,……,m,得到对分散 值[w']a_i使用用户装置1与第日1个认证服务器3a_i的公共密钥进行了加密的密文化CUS_a_i ([w']a_i)〇
[0129] 在步骤S124中,用户终端I的密码分散值加密部13将在步骤S123中得到的n个密文 E:ncus_i([w' ]1),......,Encus_n([w' ]n)发送给中间服务器2。
[0130] 在步骤S221中,中间服务器2的密码分散值转发部22对从用户终端1接收到的n个 密文E:ncus_i( [W' ]1),......,Encus_n( [W' ]n)进行接收,关于i = 1,......,m,将密文E:ncus_a_i ([W ' ] a_i )发送给认证服务器3a_i。
[0131] 在步骤S321中,认证服务器3a_i的密码分散值解密部33接收从中间服务器2转发的 密文E:nCUS_a_i( [W' ]a_i)。
[0132] 在步骤S322中,认证服务器3a_i的密码分散值解密部33对从中间服务器2接收到的 密文611(3115_3_1([*']3_1)使用用户终端1与认证服务器33_1的公共密钥进行解密,得到分散值
[W' ]a_i。
[0133] 在图
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1