认证号码分发装置及认证号码检验装置 本发明涉及为了认证个人身份等而分发的认证号码的分发装置及检验认证号码的认证号码检验装置,尤其是考虑了输入认证号码时不使认证号码所有者感到不自然的错误检测、纠正方式。
认证号码方式是在卡片分类系统、支付系统等中为认证特定持卡人所必不可缺的方法,广泛应用于各种领域。
在卡片方式中,将认证号码信息预先输入卡片内,再以持卡人容易记忆的密码进行认证。另一方面,在为特定的持卡人提供服务的支付系统中,大多是将用于认证个人身份的认证号码转告持卡者本人,当由持卡人输入认证号码时,提供服务方进行认证。
支付系统中采用的认证号码,需要的位数要多于卡片方式的密码。为使持卡人容易记忆,采用ABC等字母或数字。
以往在持卡人输入了认证号码时,系统侧要在所有分发的认证号码中进行搜索,检验其是否是所分发的认证号码。
这时,在认证号码的位数多的情况下,容易发生传送上的错误,或持卡人输入错误。为此,在分发认证号码时,要在附加冗余位后再分发认证号码。
作为这种现有技术,例如在特开平-40128号公报中,是将在增量认证号码上附加冗余位后的号码作为认证号码。
图8示出了上述现有的生成附加冗余位后的认证号码的装置结构,图中14是采用例如计数器等产生增量认证号码的增量ID号码产生装置,15是对由该增量ID号码产生装置14产生地增量ID号码附加冗余位的冗余位生成装置。即,现有的附加了冗余位的认证号码,是以在原来的认证号码部分附加冗余部分的方式构成的。
例如,在上述现有的冗余位生成装置15中,通过产生生成多项式g(x)=x3+x+1的汉明码的结构码检验位,能对认证号码中的1位错误进行纠正。
另外,图9以集合形式示出了附加冗余位后的认证号码的生成方法,作为产生源的增量ID号码产生序列的数目与附加冗余后的ID号码序列的数目一致。
以往按如上的方法进行,所以在认证号码方式上存在以下课题。
第1,在上述现有技术中,由于采用在增量认证号码上附加冗余位的形式,所以基本上只能以位表示或用数值表示,构成的认证号码使持卡人难于记忆。
第2,在上述现有技术中,在固定长度的认证号码中,增量ID号码产生装置的增量认证号码长度及冗余位长度都是固定的,所以检错和纠错能力与认证号码的产生数无关也是固定的。此外,分发的认证号码不能超出用固定长度的增量ID号码产生装置生成的数目。
本发明就是为解决如上所述的课题而开发的,与权利要求1有关的发明是在分发由字母、数字等字符序列构成的认证号码的装置中具有:代码变换装置,用于将字符序列变换成与字符1对1的代码;及检查选择装置,将由代码变换装置变换后的代码作为符号,判断是否符合以该符号序列为码长的里德-所罗门码的规则,并选择与被判断为符合里德-所罗门码规则的代码相对应的字符序列为认证号码。
与权利要求2有关的发明是这样构成的,即,上述代码变换装置用于将字符序列变换为与字符1对1的7位代码,上述检查选择装置将由代码变换装置变换后的代码作为符号,并选择以该符号序列为码长的GF(27)以上的符合里德-所罗门码规则的字符序列为认证号码。
与权利要求3有关的发明是这样构成的,即,上述代码变换装置将字符序列变换为与字符1对1的7位代码,上述检查选择装置将由代码变换装置变换后的代码作为符号,并选择以该符号序列为码长的GF(26)以上的符合里德-所罗门码规则的字符序列为认证号码。
与权利要求4有关的发明是这样构成的,即,上述代码变换装置从数字或字母选择32个字符、并将所选择的字符变换为1对1的5位代码,上述检查选择装置将由代码变换装置变换后的代码作为符号,并选择以该符号序列为码长的GF(25)以上的符合里德-所罗门码规则的字符序列为认证号码。
与权利要求5有关的发明是这样构成的,即,上述代码变换装置从数字或字母选择16个字符、并将所选择的字符变换成1对1的4位代码,上述检查选择装置将由代码变换装置变换后的代码作为符号,并选择以该符号序列为码长的GF(24)的符合里德-所罗门码的字符序列为认证号码。
与权利要求6有关的发明是这样构成的,即,上述检查选择装置将由代码变换装置变换后的代码作为符号,并选择与以多个伽罗瓦域元素为根的生成多项式的符合里德-所罗门码规则的代码序列相对应的字符序列为认证号码。
与权利要求7有关的发明是这样构成的,即,当以多个伽罗瓦域元素为根的生成多项式的符合里德-所罗门码规则的认证号码已全部被使用时,上述检查选择装置追加选择与从以多个伽罗瓦域元素为根生成多项式中除去一个伽罗瓦域元素根后生成多项式的符合里德-所罗门码规则的代码序列相对应的字符序列作为认证号码。
与权利要求8有关的发明具有:存储装置,用于存储按代码的加权顺序将作为里德-所罗门码构成的字符序列作为认证号码分发的最新认证号码;及从该认证号码将已按代码加权顺序分发且满足原生成多项式的认证号码除去后再行分发的装置。
与权利要求9有关的发明,具有按代码的加权顺序将上述检查选择装置选择的字符序列作为认证号码选择并分发的分发装置。
与权利要求10有关的发明具有存储上述分发装置按代码加权顺序分发的最新认证号码或与最新认证号码1对1对应的代码的存储装置。
与权利要求11有关的发明具有:代码变换装置,用于输入由权利要求1所述的认证号码分发装置选择的认证号码,并变换为与该认证号码的字符1对1对应的代码;译码装置,用于将该代码作为里德-所罗门码译码,并进行错误检测;及告知装置,用于将被检测出错误的认证号码是输入错误的情况告知输入者。
与权利要求12有关的发明是这样构成的,即,由上述译码装置检错,并对检测出错误后的认证号码进行错误纠正、并将纠正数据作为认证号码进行认证。
与权利要求13有关的发明具有检验装置,用于检验由上述译码装置纠错后的结果是否符合认证号码序列的规定。
与权利要求14有关的发明具有消失信息生成装置,当在上述代码变换装置中没有与所输入的字符相当的代码时,将该代码序列的位置作为消失位置报知上述译码装置,上述译码装置根据来自该消失信息生成装置的报知信息进行消失错误纠正。
图1是表示本发明实施形态1的认证号码分发装置的结构图。
图2是由图1所示认证号码分发装置生成认证号码的流程图。
图3是表示通过实施形态1的认证号码的生成而选择认证号码的集合关系图。
图4是本发明实施形态5的认证号码生成流程图。
图5是表示通过实施形态5的认证号码的生成而选择认证号码的集合关系图。
图6是表示本发明实施形态6的认证号码分发装置的结构图。
图7是表示本发明实施形态7的认证号码分发装置的结构图。
图8是现有的认证号码分发装置的结构图。
图9是表示现有的认证号码生成的集合关系图。
图中同一符号表示相同或相当部分。
实施形态1
图1示出了本发明的认证号码分发装置的结构,1是产生备选认证号码序列的备选ID号码产生装置,2是将该备选ID号码产生装置产生的备选认证号码变换为例如ASCII码(美国信息交换用标准码)的代码变换装置,3是检查由该代码变换装置2变换后的ASCII码序列是否符合里德-所罗门码的规则、并仅选择符合的序列的检查选择装置。
另外,图2示出了本发明的认证号码分发装置的认证号码分发流程。
其次,使用图1和图2说明认证号码分发装置的动作。首先,由ID备选号码产生装置1按照认证号码方式的格式产生n字符。该n字符例如为字母及数字的序列。作为一例,给出备选认证号码如AAA111由3个大写字母和3个数字字符构成的认证号码形式。这相当于图2中的步骤4。而字符的产生,例如也可采用计数器以数值代替。
然后,由代码变换装置2以字符为单位,例如将n字符变换为以ASCII码作为符号的n符号代码序列。在上述备选认证号码例中,变为分别以十六进制表示的0X41、0X41、0X41、0X31、0X31、0X31。这相当于图2中的步骤5,例如通过采用ROM(只读存储器)等的表变换方式等进行。此外,也可用兼作ID备选号码产生装置1使用的计数器进行。
接着,由检查选择装置3检查是否是备选的认证号码序列,当满足作为里德-所罗门码的条件时,作为认证号码分发。这相当于图2的步骤6,这里作为里德-所罗门码的例,采用伽罗瓦域原始多项式x7+x6+1并以α1及α2为生成多项式的根的可纠正1个符号的里德-所罗门码规则。
作为其具体的方法,例如,如图2中的步骤7的对认证号码序列的代码进行出错位组计算。例如,如果与上述例的生成多项式的根α1及α2对应的出错位组全部为0,则将上述认证号码序列作为认证号码分发。上述的备选认证号码例AAA111,由于出错位组分别为0X39和0X17,所以不符合认证号码的分发规则,因而不能分发,但例如AAC942(ASCII码,以十六进制表示为0X41、0X41、0X43、0X39、0X34、0X32),因出错位组分别为0X00和0X00,所以可选作认证号码分发。
图3是按现有纠错分发方法示出的与图9相对应的本实施形态1的集合图。从图3可以看出,在本发明中,从可构成认证号码序列的备选号码中分发符合里德-所罗门码条件的认证号码。即,认证号码由作为备选认证号码的字符序列的部分集合构成。在上述例中给出的认证号码形式中,作为备选认证号码有17576000种,则其中满足上述例的里德-所罗门码规则的部分集合为1073种。
实施形态2
在实施形态1中,将认证号码的字符变换为ASCII码,但当用字母和数字构成认证号码时,因总计为36个字符,所以代码由6位构成,可按GF(26)的里德-所罗门码规则构成。
实施形态3
在实施形态2中,当用字母和数字构成认证号码时全部36个字符无论在认证号码序列的哪个位置都可以构成,但如认证号码序列仅用字母、或者使字母和数字的表示位置固定,则一个字符的备选字符最多为26个,所以代码由5位构成,可按GF(25)的里德-所罗门码规则构成。
实施形态4
在实施形态3中,仅用字母、或者使字母和数字的表示位置固定,但认证号码序列仅用数字、或限定为16个字母、或两者组合并将表示位置固定、或从数字和字母选出16个字符,则字符的备选字符最多为16个,所以代码由4位构成,可按GF(24)的里德-所罗门码规则构成。这时,在实施形态1的例中,在6位的认证号码中可纠正1个符号的认证号码有1073种,但在本例中,对应于一个符号的纠正可分发如65536种认证号码。可分发的认证号码大幅度增加。
实施形态5
作为本发明的认证号码分发装置的认证号码规则即里德-所罗门码,可进行多字符错误检测/纠正、即,可采用以多个伽罗瓦域元素为根的生成多项式。利用这种方法,即使认证号码的发出数已满额,但本发明的认证号码分发装置仍能分发新的认证号码,只不过纠错能力稍有减低而已。
图4说明了认证号码的追加方式,将图1的检查选择装置3的选择方法按图4的步骤8所示加以变更,只是将检错能力减1,即可追加分发认证号码的数目。
在图4的步骤8中,进行与图2的步骤7同样的出错位组计算。对于因追加而减少了的1个生成元素,将其出错位组不为0的备选认证号码序列作为追加认证号码分发。例如,在实施形态1的例中,是将生成多项式的根α1及α2的出错位组分别为0X00和0X00的字符序列作为认证号码,但这里α2的出错位组不为0X00的也允许作为认证号码。在这种情况下,虽然有1个根的检错不能保证,但认证号码却能追加136238种。
图5示出了依据图3的追加分发的集合关系。如图5所示,包含追加分发的认证号码的集合,将追加前的认证号码集合作为精确部分集合,可使系统无大的变更而增加认证号数。
实施形态6
作为本发明的认证号码分发方法,例如,使与字符1对1的代码权重具有顺序,则可高效率地产生认证号码。图6是其结构例,是在图1的结构中增加用于存储先行分发的认证号码的最新分发ID号码存储装置9。此外,图1中的备选ID号码产生装置,在图6中由加权字符生成装置1构成,在该加权字符生成装置1中,按照该代码的权重,从存储在最新发出ID号码存储装置9内的认证号码序列的下一个权重的备选认证号码开始按顺序产生,通过代码变换装置2变换为代码,由检查选择装置3检查是否符合认证号码的规则。
此外,上述代码的加权,按代码的数字小的顺序或大的顺序进行。
如果不符合认证号码的规则,则加权字符生成装置1产生下一个权重的备选认证号码,与上述相同,由检查选择装置3检查是否符合认证号码的规则。
如果符合认证号码的规则,则将其作为新的认证号码分发,同时在最新分发ID号码存储装置9中,更新存储内容作为最新分发认证号码,在分发下一个时,在加权字符生成装置1中,从最新发出ID号码存储装置9内的认证号码序列的下一个权重的备选认证号码字符序列生成即可。
上述认证号码生成方式,在生成追加认证号码时,也可使检查选择装置3按图4的流程以同样的方式产生。
实施形态7
到上述实施形态为止,示出了产生认证号码的认证号码分发装置,但在本实施形态中,示出与之相对的检验认证号码的检验装置。图7是其结构例,10是ID号码输入装置,11是将由该ID号码输入装置10输入的认证号码变换为代码的代码变换装置,12是将由该代码变换装置所变换的代码译码成里德-所罗门码的里德-所罗门码译码装置,13是将认证号码输入错误告知认证号码所有者的ID号码输入错误告知装置。
以下,说明其动作。由ID号码输入装置10输入的认证号码序列,通过代码变换装置11变换为每个字符的代码。如所输入的字符没有相当的代码,则例如也可输出系统设定码,或在该时刻由ID号码输入错误告知装置13将认证号码输入错误告知认证号码的输入者。
被变换为代码的认证号码序列,由里德-所罗门码译码装置12按里德-所罗门码译码,如能纠正则进行纠正,如不能纠正则由ID号码输入错误告知装置13告知认证号码的输入者,请求其重新输入认证号码。
如经纠正后的代码序列仍与备选认证号码序列不相符合时,也由ID号码输入错误告知装置13告知认证号码的输入者,可请求其重新输入认证号码。
在上述中,如所输入的字符在代码变换装置11中没有相当的代码,则例如可输出系统设定码,但也可生成将该字符的代码位置视为消失的消失信息,并根据该消失信息由里德-所罗门码译码装置12进行消失纠正。
在上述中说明了进行纠正动作的例,但也可按同样的里德-所罗门码的规则只根据出错位组进行检测,由于不进行纠正动作,所以可提高检测能力。
另外,本发明示出了里德-所罗门码,但其他的纠错码、例如BCH码也可与里德-所罗门码同样地适用。
在如上所述的本发明中,针对第1课题,在权利要求1中,将对持卡人发出的认证号码序列以字符为单位变换为数值代码,并只选择满足里德-所罗门码的条件的序列,所以能构成可分发使持卡人易于记忆的序列并能检错和纠错的认证号码分发装置。
另外,在专利权利要求2中,将字符变换为1对1的7位ASCII码后,分发认证号码,所以能够很容易地构成采用计算机的认证号码分发装置。
在权利要求3中,可从字母字符和数字共计36个字符以与这些字符1对1的方式变换为6位代码,并在变换为6位代码之后,分发认证号码,由于RS码规则及满足RS码规则的序列增加,所以能分发更多的认证号码。
在权利要求4中,可从字母字符的26个字符以与这些字符1对1的方式变换为5位代码,此外,即使字母及数字的序列位置固定,也能以与上述相同的5位进行代码变换。由于是在变换为5位代码之后分发认证号码,由于RS码规则及满足RS码规则的序列增加,所以与权利要求3相比,在同样的符号纠错能力下可分发更多的认证号码。
在权利要求5中,可在字母字符中选择16个字符的情况下以与这些字符1对1的方式变换为4位代码,此外,即使字母的16字符的选择及数字的序列位置固定,也能以与上述相同的4位进行代码变换。由于是在变换为4位代码之后发出认证号码,且由于RS规则及满足RS码规则的序列增加,所以与权利要求4相比,在同样的符号纠错能力下可分发更多的认证号码。
其次,针对第2课题,在权利要求6中,作为初始认证号码分发条件的里德-所罗门码的生成多项式的根取多个根,所以能分发可自动纠正认证号码输入错误的认证号码。
在权利要求7中,作为初始认证号码分发条件的里德-所罗门码的生成多项式的根取多个根,当在初始认证号码分发条件下全部分发后追加分发认证号码时,通过将生成多项式的根的条件减少一个来追加分发认证号码,所以可以不增加认证号码的长度,并在持卡人没有意识到是追加认证号码的情况下使认证号码增加,此外,还能根据系统改变认证号码的检错及纠正能力。
在权利要求8中,具有最新分发认证号码的存储装置,对构成备选认证号码的代码序列加权后按顺序分发,而且进行是否满足原生成多项式规则的检验,所以能高效率地发出满足RS编码规则的下一个追加认证号码。
在权利要求9中,对构成备选认证号码的代码序列加权后按顺序分发,所以能高效率地分发满足RS码规则的下一个认证号码。
在权利要求10中,具有最新分发认证号码的存储装置,对构成备选认证号码的代码序列加权后按顺序分发,所以能高效率地分发满足RS码规则的下一个认证号码。
在权利要求11中,构成一种认证号码检验装置,由于权利要求1的认证号码形式满足RS码的编码规则,所以在将认证号码序列变换为代码后按RS码对认证号码进行检错、并将其错误告知输入者。
在权利要求12中,构成一种认证号码检验装置,权利要求1的认证号码方式满足RS码的编码规则,所以在将认证号码序列变换为代码后按RS码进行错误检测、错误校正。
在权利要求13中,由于具有在校正中检测不符合认证号码分发规则的序列的检验功能,所以可构成可靠性更高的认证号码检验装置。
在权利要求14中,在校正中将输入认证号码变换为代码时,由于将不符合规则的代码位置视为消失进行译码,所以可构成校正能力更高的认证号码检验装置。