CN101779211A - 认证系统、认证装置、终端装置、ic卡以及程序 - Google Patents
认证系统、认证装置、终端装置、ic卡以及程序 Download PDFInfo
- Publication number
- CN101779211A CN101779211A CN200780100257.2A CN200780100257A CN101779211A CN 101779211 A CN101779211 A CN 101779211A CN 200780100257 A CN200780100257 A CN 200780100257A CN 101779211 A CN101779211 A CN 101779211A
- Authority
- CN
- China
- Prior art keywords
- mentioned
- authentication
- password
- random number
- user
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/34—User authentication involving the use of external additional devices, e.g. dongles or smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
服务器装置(106)存储一个以上的用户的密码,生成用户认证中使用的认证用随机数,向终端装置(101)发送认证用随机数,终端装置(101)接收认证用随机数,根据认证用随机数和来自用户的输入值来设定密码候补字符的背景色,与背景色一起显示密码候补字符,用户进行键操作以使存储的密码的各字符的背景色变得相同,终端装置(101)根据用户操作针对每个密码字符串计算出针对认证用随机数的应答值,向服务器装置(106)发送应答值,在服务器装置(106)中接收应答值,使用所存储的各密码字符串、认证用随机数以及应答值,判断用户认证是否成功。
Description
技术领域
本发明涉及进行用户认证的认证系统、认证装置、终端装置、IC(Integrated Circuit:集成电路)卡以及程序。
背景技术
作为广泛普及的用户认证方式,有如下方法:在进行用户认证时,使用户输入自己的ID(Identification:标识)和密码,根据所输入的密码与针对用户ID登记的密码是否一致来判断是否为合法的用户。但是,在这样输入固定的密码本身的方法中,如果在用户输入密码时被第三方看到该输入,则存在代替合法的用户而认证的危险性。
为了解决该问题,在专利文献1中公开了如下方法:代替在认证时使用户输入本身记忆的密码等认证信息本身,而对于显示在画面中的提示用模型(pattern)(随机数的表),使用户按照记忆的密码导出规则(随机数表上的规定的场所)输入密码(位于规定的场所的数字)。
专利文献1:再公表WO2003/069490号公报第1页-65页、图17
在以往的方式中,用户按照记忆的密码导出规则来选择位于显示在画面上的随机数表上的规定场所的数字,并作为表示是合法用户的认证数据而输入该数字。
虽然不输入密码本身(此处是密码导出规则本身),但从画面上的随机数表选择数字并进行输入,所以存在如下问题点:即使被第三方偷看一次认证操作,冒充成本人的危险性也变高,认证的强度降低。
图25是将专利文献1的图17进行简化后的图。
例如,在如图25所示针对随机数表由用户输入的值是“9893”的情况下,关于最初和第三个“9”的密码导出规则的候补分别是七个,关于第二个“8”的密码导出规则的候补是九个,关于第四个“3”的密码导出规则的候补是五个,密码导出规则的候补剩下7×7×9×5=2205个候补,但在针对相同的随机数表由用户输入的值是“5607”的情况下,候补仅剩下2×1×4×2=16个,被恶意的第三方冒充的概率变高,认证的强度降低。
在专利文献1中公开了如下方法:为了防止认证强度降低,在密码导出规则中登记可以输入任意内容的虚拟对象(dummy)、将输入的值进行+1等变换法则,使第三方难以推测导出规则。
但是,对于虚拟对象,第三方可以输入任意内容,所以无法防止强度降低。
另外,对于变换法则,在相同的输入位中每次应用相同的变换法则,所以在窥视了两次以上认证的情况下,针对各认证的每一次认证,求出由针对每个输入位从随机数表的各值减去输入值而得到的值(在成为负的情况下加上10而得到的值)构成的随机数表,从而不论变换法则的值是何值,从作为结果得到的随机数表中去除该值的影响,在作为结果得到的随机数表中,使导出规则的候补每次都缩小到相同数字位于相同位置处的部分,所以尽管对于用户而言产生除了密码导出规则以外还要记住变换法则的负担、以及在认证时需要按照变换法则进行计算的负担,但恶意的第三方得知导出规则的概率依然较高。
另外,在上述方法中,在进行认证时用户应记忆的用于认证的信息是与一般广泛普及的由字符、数字等构成的密码不同的、“1行2列、2行4列、3行5列、4行8列”这样的表示所提示的随机数表上的位置的导出规则。
对于用户而言,记忆这样复杂的信息成为较大的负担。
而且,在为了维持认证的强度而每隔一个月等一定期间更新密码等认证信息的系统中,每当更新认证信息时用户需要记住表示新的位置的导出规则,难以区分更新前的导出规则和新记忆的导出规则,用户的负担进一步变大。
发明内容
本发明以解决上述那样的问题点为主要目的,目的之一在于提供一种用户的认证系统、认证装置、终端装置、IC卡以及认证方法,使用广泛普及的由字符、数字等构成的密码,认证时的用户的负担小,并且即使被第三方看到认证的操作,推测出密码的危险性也低,保持了高的安全性。
本发明的认证系统具有用户利用的终端装置以及与上述终端装置进行通信而进行针对用户的认证的认证装置,该认证系统的特征在于,
上述终端装置具有:
终端通信部,从上述认证装置接收认证用随机数,向上述认证装置发送针对认证用随机数的应答值;
输入部,受理输入值;
外观设定部,根据由上述终端通信部接收到的认证用随机数和由上述输入部受理的输入值,设定密码候补字符的外观;
显示部,显示由上述外观设定部设定的外观的密码候补字符;以及
应答值计算部,根据由上述输入部受理的输入值,计算出上述应答值,
上述认证装置具有:
管理部,将用户的密码字符串存储两个以上;
认证随机数生成部,生成认证用随机数;
认证通信部,向上述终端装置发送由上述认证随机数生成部生成的认证用随机数,从上述终端装置接收针对上述认证用随机数的应答值;以及
认证判断部,使用存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,并使用所求出的各密码字符串的最初的密码字符的外观、存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值来进行规定的运算,判断用户认证是否成功。
上述管理部的特征是,存储上述认证判断部的认证顺序被指定的两个以上的密码字符串,
上述认证判断部的特征是,按照上述认证顺序,从由上述认证通信部接收到的应答值中抽出与各密码字符串对应的应答值,使用与各密码字符串对应的应答值和各密码字符串,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,针对每个密码字符串,使用所求出的最初的密码字符的外观、该密码字符串、上述认证用随机数以及与该密码字符串对应的应答值来进行规定的运算,判断用户认证是否成功。
上述管理部的特征是,存储密码长度相互并非恒定的两个以上的密码字符串,
上述认证判断部的特征是,按照上述认证顺序,从由上述认证通信部接收到的应答值中,根据各密码字符串的密码长度而抽出与各密码字符串对应的应答值。
上述认证判断部的特征是进行如下运算:针对每个密码字符串,求出由上述终端装置选择的第二个以后的密码字符各自的外观,判定所求出的第二个以后的密码字符各自的外观是否与最初的密码字符的外观一致。
上述外观设定部的特征是,设定各字符的背景色而作为密码候补字符的外观。
上述外观设定部的特征是,对各字符的背景设定图案而作为密码候补字符的外观。
本发明的认证装置,是与用户利用的终端装置进行通信而进行针对用户的认证的认证装置,其特征在于,具有:
管理部,将用户的密码字符串存储两个以上;
认证随机数生成部,生成认证用随机数;
认证通信部,向上述终端装置发送由上述认证随机数生成部生成的认证用随机数,从上述终端装置接收上述终端装置受理输入值并根据该输入值计算出的针对上述认证用随机数的应答值;以及
认证判断部,使用存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,并使用所求出的各密码字符串的最初的密码字符的外观、存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值来进行规定的运算,判断用户认证是否成功。
上述管理部的特征是,存储上述认证判断部的认证顺序被指定的两个以上的密码字符串,
上述认证判断部的特征是,按照上述认证顺序,从由上述认证通信部接收到的应答值中,抽出与各密码字符串对应的应答值,使用与各密码字符串对应的应答值和各密码字符串来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,针对每个密码字符串,使用所求出的最初的密码字符的外观、该密码字符串、上述认证用随机数以及与该密码字符串对应的应答值来进行规定的运算,判断用户认证是否成功。
上述管理部的特征是,存储密码长度相互并非恒定的两个以上的密码字符串,
上述认证判断部的特征是,按照上述认证顺序,从由上述认证通信部接收到的应答值中,根据各密码字符串的密码长度而抽出与各密码字符串对应的应答值。
上述认证判断部的特征是进行如下运算:针对每个密码字符串,求出由上述终端装置选择的第二个以后的密码字符各自的外观,判定所求出的第二个以后的密码字符各自的外观是否与最初的密码字符的外观一致。
本发明的终端装置,是与进行针对用户的认证的认证装置进行通信的、用户利用的终端装置,其特征在于,具有:
变换前密码输入部,受理用户的变换前密码字符串;
终端随机数生成部,生成密码变换用随机数;
密码排列存储部,存储排列有上述认证装置的认证中使用的多个密码候补字符的密码排列;以及
密码变换部,根据由上述终端随机数生成部生成的密码变换用随机数以及存储在上述密码排列存储部中的密码排列,进行由上述变换前密码输入部受理的变换前密码字符串的变换。
上述密码排列存储部的特征是,将在分别指定的位置上配置有多个密码候补字符的各字符的密码排列进行存储,
上述密码变换部的特征是,针对构成上述变换前密码字符串的每一个密码字符,判断在配置有一致的密码候补字符的上述密码排列中的位置,并根据判断出的各密码候补字符的位置和上述密码变换用随机数,进行上述变换前密码字符串的变换。
上述密码变换部的特征是,针对构成上述变换前密码字符串的每一个密码字符,判断在配置有一致的密码候补字符的上述密码排列中的位置,并根据判断出的各密码候补字符的位置和上述密码变换用随机数来进行规定的运算,将上述变换前密码字符串的密码字符置换为配置在与运算结果的值相当的位置上的密码候补字符,进行上述变换前密码字符串的变换。
上述终端装置的特征是,还具有终端通信部,该终端通信部向上述认证装置发送由上述密码变换部变换后的变换后密码字符串。
上述变换前密码输入部的特征是,受理密码变换用随机数的生成用的随机数生成用密码字符串,
上述终端随机数生成部的特征是,对由上述密码输入部受理的随机数生成用密码字符串进行单方向性运算,生成密码变换用随机数。
上述终端装置的特征是,还具有:
输入部,受理输入值;
终端存储部,存储表示将密码候补字符的外观进行变更的规则的外观变化模型和上述密码变换用随机数;
终端通信部,从上述认证装置接收认证用随机数,向上述认证装置发送与认证用随机数对应的应答值;
外观设定部,根据由上述终端通信部接收到的认证用随机数、由上述输入部受理的输入值、由上述终端存储部存储的外观变化模型以及存储在上述密码排列存储部中的密码排列,设定密码候补字符的外观;
显示部,显示由上述外观设定部设定的外观的密码候补字符;以及
应答值计算部,根据由上述输入部受理的输入值以及存储在上述终端存储部中的密码变换用随机数,计算出上述应答值。
上述显示部的特征是,利用m行n列(m、n都是任意的自然数)的矩阵来显示密码候补字符,
上述应答值计算部的特征是,根据由上述输入部受理的输入值、存储在上述终端存储部中的密码变换用随机数以及由上述显示部显示的矩阵的行数和列数,计算出上述应答值。
本发明的IC卡,是插入到进行针对用户的认证的终端装置而使用、并与上述终端装置进行数据的交换的集成电路(IC)卡,其特征在于,具有:
存储部,存储用户的两个以上的密码字符串和密码候补字符的外观;
随机数生成部,生成随机数,并向上述终端装置提供该随机数;以及
认证判断部,根据存储在上述存储部中的各密码字符串和密码候补字符的外观、由上述随机数生成部生成的随机数以及从上述终端装置取得的上述终端装置受理输入值并根据该输入值计算出的针对上述随机数的应答值,来进行规定的运算,判断用户认证是否成功。
本发明的程序的特征在于,使与用户利用的终端装置进行通信而进行针对用户的认证的作为计算机的认证装置执行如下处理:
认证随机数生成处理,生成认证用随机数;
认证通信处理,向上述终端装置发送通过上述认证随机数生成处理生成的认证用随机数,从上述终端装置接收上述终端装置受理输入值并根据该输入值计算出的针对上述认证用随机数的应答值;以及
认证判断处理,使用存储在上述认证装置的存储区域中的用户的两个以上的各个密码字符串、通过上述认证随机数生成处理生成的认证用随机数以及通过上述认证通信处理接收到的应答值,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,并使用所求出的各密码字符串的最初的密码字符的外观、存储在上述存储区域中的各密码字符串、通过上述认证随机数生成处理生成的认证用随机数以及通过上述认证通信处理接收到的应答值,来进行规定的运算,判断用户认证是否成功。
本发明的程序的特征在于,使与进行针对用户的认证的认证装置进行通信的、用户利用的作为计算机的终端装置执行如下处理:
变换前密码输入处理,受理用户的变换前密码字符串;
终端随机数生成处理,生成密码变换用随机数;以及
密码变换处理,根据通过上述终端随机数生成处理生成的密码变换用随机数以及存储在上述终端装置的存储区域中的排列有上述认证装置的认证中使用的多个密码候补字符的密码排列,进行通过上述变换前密码输入处理受理的变换前密码字符串的变换。
根据本发明,可以提供如下的认证系统等:使用广泛普及的由字符、数字等构成的密码,认证时的用户的负担小,并且认证时的操作即使被第三方看到,密码被推测出的危险性也低,保持了高的安全性。
特别是,可以提供如下的认证系统等:由于使两个以上的密码字符串连续而进行认证,所以对于第三方而言,不知道在认证中究竟使用了几个密码字符串,而且也不知道各个密码字符串的长度,所以认证时的操作即使被第三方看到,密码被推测出的危险性也低,保持了高的安全性。
附图说明
图1是示出实施方式1的认证系统的结构例的图。
图2是示出实施方式1的终端装置中的动作例的流程图。
图3是示出实施方式1的终端装置中的动作例的流程图。
图4是示出实施方式1的终端装置的密码排列的外观设定动作的例子的流程图。
图5是示出实施方式1的服务器装置中的动作例的流程图。
图6是示出实施方式1的服务器装置的认证判定动作的例子的图。
图7是示出实施方式1的密码排列的变换表的例子的图。
图8是示出实施方式1的用户ID输入画面的例子的图。
图9是示出实施方式1的用户认证画面的例子的图。
图10是示出实施方式1的用户认证画面的例子的图。
图11是示出实施方式2的认证系统的结构例的图。
图12是示出实施方式2的终端装置中的动作例的流程图。
图13是示出实施方式2的终端装置中的动作例的流程图。
图14是示出实施方式2的密码的变更登记画面的例子的图。
图15是示出实施方式2的终端装置中的动作例的流程图。
图16是示出实施方式2的终端装置中的动作例的流程图。
图17是示出实施方式2的终端装置中的动作例的流程图。
图18是示出实施方式2的服务器装置中的动作例的流程图。
图19是示出实施方式3的认证系统的结构例的图。
图20是示出实施方式3的起动密码输入画面的例子的图。
图21是示出实施方式3的终端装置中的动作例的流程图。
图22是示出实施方式4的认证系统的结构例的图。
图23是示出实施方式4的终端装置中的动作例的流程图。
图24是示出实施方式4的终端装置中的动作例的流程图。
图25是说明以往技术的图。
图26是示出实施方式1-4的终端装置以及服务器装置的硬件结构例的图。
附图标记说明
101:终端装置;102:显示部;103:输入部;104:外观设定部;105:终端通信部;106:服务器装置;107:认证随机数生成部;108:认证判断部;109:管理部;110:认证通信部;111:应答值计算部;401:终端装置;402:显示部;403:输入部;404:外观设定部;405:终端通信部;406:终端随机数生成部;407:终端存储部;408:服务器装置;409:认证随机数生成部;410:认证判断部;411:管理部;412:认证通信部;413:应答值计算部;414:密码变换部;601:终端装置;602:显示部;603:输入部;604:外观设定部;605:终端通信部;606:哈希(Hash)值生成部;607:服务器装置;608:认证随机数生成部;609:认证判断部;610:管理部;611:认证通信部;613:应答值计算部;614:密码变换部;801:终端装置;802:显示部;803:输入部;804:外观设定部;805:存储部;806:随机数生成部;807:认证判断部;808:IC卡。
具体实施方式
以下,根据附图,对本发明的实施方式进行说明。
另外,在下述实施方式1至实施方式4中,将用户认证处理中使用的密码字符、密码候补字符的外观设为密码颜色(字符的背景色)。
密码字符、密码候补字符的外观是指,各字符及其周边部分的视觉上的特征,除了利用字符的背景色以外,例如,还可以使用字体的种类、大小、字符的描绘颜色、字符的背景的样子、包围字符的图形的种类等。
另外,将由多个字符构成的密码的字符串称为密码字符串,将构成密码字符串的各字符称为密码字符。
另外,密码候补字符是指密码字符的候补,在用户认证时用户从多个密码候补字符中选择与密码字符一致的字符。对于密码候补字符,图示例子而后述。
实施方式1
图1是示出本发明的实施方式1的认证系统的结构的框图。
在图1中,终端装置101的终端通信部105与服务器装置106的认证通信部110经由无线通信、有线通信、因特网等网络连接。
服务器装置106是认证装置的例子。
服务器装置106的认证随机数生成部107例如生成十位的随机数。
认证判断部108根据来自终端装置101的应答值,判断用户认证是否成功。
至少认证随机数生成部107以及认证判断部108在本实施方式中具体而言是由程序实现的,该程序保存在硬盘装置、非易失性存储器、软盘等中,从它们中载入到服务器装置(认证装置)106上并在CPU(Central Processing Unit:中央处理单元)上执行。
终端装置101的外观设定部104预先保持由成为密码的候补的密码候补字符构成的密码排列和颜色变换表,并设定显示在显示部102中的密码的背景色。
另外,终端装置101的应答值计算部111根据来自用户的输入值,计算出对服务器装置106进行应答的应答值。
至少外观设定部104中的外观设定功能以及应答值计算部111在本实施方式中具体而言是由程序实现的,该程序保存在硬盘装置、非易失性存储器、软盘等中,从它们中载入到终端装置101上并在(Central Processing Unit)上执行。
服务器装置106的管理部109在本实施方式中由硬盘装置构成,将两个以上的用户的密码与用户ID相关联地进行存储。
另外,保存密码排列和颜色变换表。
密码排列P示出了在终端装置101的显示部102中显示可以使用于密码的密码候补字符时的字符的排列,保存如下所示显示为i行j列的字符的ASCII码。
P[i|(0≤i≤6)[j|(0≤j≤9)]=[[0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30],[0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a],[0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a],[0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54],[0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74],[0x55,0x56,0x57,0x58,0x59,0x5a,0x21,0x23,0x24,0x25],[0x75,0x76,0x77,0x78,0x79,0x7a,0x26,0x3d,0x3f,0x40]]
即,密码候补字符是例如图9所示的矩阵中的1、2、3......=、?、@的各字符,在用户认证时用户从多个密码候补字符中选择与密码字符一致的字符。
另外,密码排列P是这样的密码候补字符的排列。
颜色变换表C示出了在终端装置101的显示部102中显示密码排列P时的背景色,如下所述,用六位的十六进制数(各两位对应于RGB的各数值)保存与0至9的数值对应的背景色的颜色指定代码。
C[k|(0≤k≤9)]=[0xff0000,0x800000,0xffff00,0x808000,0x00ff00,0x008000,0x00ffff,0x008080,0xC0C0C0,0x000080]
即,颜色变换表C是表示对密码候补字符的外观进行变更的规则的外观变化模型,例如,示出用于决定图9所示的密码候补字符的背景色的规则。
另外,在后面详述图9。
另外,在本实施方式中,将密码字符串的合计长度设为最大64而进行说明,但长度不限于此。另外,作为密码候补字符,使用了7行10列的密码排列,但同样地,排列的大小不限于此。
此处,对本实施方式的认证系统的动作的概要进行说明。
服务器装置106的管理部109如上所述,存储了一个以上的用户的密码字符串。在以下说明中,设为管理部109存储了两个以上的用户的密码字符串。
另外,认证随机数生成部107在从终端装置101存在认证要求的情况下,生成用户认证中使用的十位的认证用随机数。
然后,认证通信部110向终端装置101发送由认证随机数生成部107生成的认证用随机数。
在终端装置101中,终端通信部105接收来自服务器装置106的认证用随机数。
然后,外观设定部104根据由终端通信部105接收到的认证用随机数和由输入部103受理的来自用户的输入值,设定密码候补字符的外观,显示部102显示由外观设定部104设定的外观的密码候补字符。
用户针对密码字符串中包含的所有字符,操作输入部103的光标等以使与各字符对应的密码候补字符的外观(背景色)相同,外观设定部104根据用户的光标等的操作(来自用户的输入值),使密码候补字符的外观(背景色)变化。
然后,应答值计算部111根据来自用户的输入值,按每个密码字符串,计算出针对认证用随机数的应答值。
终端通信部105向服务器装置106发送由应答值计算部111计算出的针对认证用随机数的应答值。
在服务器装置106中,认证通信部110从终端装置101接收针对认证用随机数的应答值。
然后,认证判断部108使用存储在管理部109中的各密码字符串、密码排列以及由认证随机数生成部107生成的认证用随机数,进行与适当的用户操作同样的运算,与由认证通信部110接收到的应答值进行比较而判断用户认证是否成功。
认证判断部108求出由终端装置101选择的各密码字符串的最初的密码字符的外观,使用所求出的各密码字符串的最初的密码字符的外观、存储在管理部109中的各密码字符串、由认证随机数生成部107生成的认证用随机数、以及由认证通信部110接收到的应答值,来进行运算,判断用户认证是否成功。
在存储于管理部109中的两个以上的密码字符串中,指定了由认证判断部108进行的认证顺序,认证判断部108从由认证通信部110接收到的应答值中抽出与各密码字符串对应的应答值。另外,存储在管理部109中的两个以上的密码字符串的密码长度有时相互并非恒定。在这样的情况下,认证判断部108按照认证顺序,根据各密码字符串的密码长度,抽出与各密码字符串对应的应答值。
然后,认证判断部108使用针对各密码字符串的应答值和各密码字符串,求出由终端装置101选择的各密码字符串的最初的密码字符的外观,针对每个密码字符串,使用所求出的最初的密码字符的外观、该密码字符串、认证用随机数、以及针对该密码字符串的应答值,来进行规定的运算,判断用户认证是否成功。
更具体而言,认证判断部108进行如下运算:针对每个密码字符串,求出由终端装置101选择的第二个以后的密码字符各自的外观,判定所求出的第二个以后的密码字符各自的外观是否与最初的密码字符的外观一致。
接下来,参照附图,对本实施方式的用户认证系统中的终端装置101以及服务器装置106的动作进行详细说明。
首先,对进行用户认证时的终端装置101的动作进行说明。
图2以及图3是示出在终端装置101中进行用户认证时执行的处理的流程图。
首先,在用户使用终端装置101进行认证的情况下,在显示部102中显示用户ID输入画面,从输入部103受理用户ID(S101)。
此时,应答值计算部111把将作为应答值而回送给服务器装置106的数据进行保存的认证数据排列v[64]和h[64]的要素初始化为0,将水平移动量m、垂直移动量n、以及输入计数器k分别初始化为0(S102)。
此处,水平移动量m表示用户为了变更图9例示的密码候补字符的背景色而使背景色在水平方向上移动的量(图9的格子的数量)。
垂直移动量n表示用户为了变更图9例示的密码候补字符的背景色而使背景色在垂直方向上移动的量(图9的格子的数量)。
输入计数器k是用于对由用户进行了用来指定背景色的输入的密码长度(密码字符数)进行计数的计数器。在本实施方式中,由于将密码长度设为最大64,所以输入计数器k的最大值是64。
另外,本实施方式以及实施方式2以后说明的变量值(水平移动量m、垂直移动量n、输入计数器k、水平随机数排列RH、垂直随机数排列RV等)临时存储在终端装置或服务器装置中包含的未图示的主存储器、寄存器、高速缓冲存储器、缓冲存储器等中。
接下来,经由终端通信部105对服务器装置106发送包括用户ID的认证要求(S103)。
之后,终端装置101从服务器装置106接收针对经由终端通信部105发送的认证要求的由七个十位的随机数构成的随机数的集合,外观设定部104将其作为随机数排列R[i|(0≤i≤6)]而存储(S104)。
接下来,外观设定部104对于密码排列P的各行各列,根据存储的随机数集合的值、两个移动量m和n的值、以及颜色变换表C,通过规定的运算,求出颜色指定代码。
显示部102显示出在由求出的颜色指定代码指定的背景色上描绘了密码字符的用户认证画面(S105)。
之后,对求出背景色的颜色指定代码的运算进行详细说明。
针对在显示部102中作为字符而显示的带背景色的密码排列,从输入部103受理用户的输入键值(输入值)(S106)。
应答值计算部111在受理了输入键时,判定所输入的键(key)的种类(S107)。
在输入的键的种类是选择键的情况下,应答值计算部111检查输入计数器k的值是否小于64(S108)。在k的值小于64的情况下,在将移动量m与n的值分别作为认证数据排列h[k]与v[k]的值而存储之后,对输入计数器k的值加上1(S109),反复进行从步骤S105开始的处理。
另一方面,在步骤S108中,在输入计数器k的值是64以上的情况下,显示出表示确定数已经达到密码的最大长度的警告(步骤S110),反复进行从步骤S105开始的处理。
在输入的键的种类是向左的移动键的情况下,应答值计算部111从水平移动量m减去1(S111)。接下来,应答值计算部111检查水平移动量m的值是否小于0(S112),在是小于0的值的情况下对m加上10(S113),反复进行从步骤S105开始的处理。
在输入的键的种类是向右的移动键的情况下,应答值计算部111对水平移动量m加上1(S114)。接下来,检查水平移动量m的值是否大于9(S115),在是大于9的值的情况下从m减去10(S116),反复进行从步骤S105开始的处理。
在输入的键的种类是向上的移动键的情况下,应答值计算部111从垂直移动量n减去1(S117)。接下来,检查垂直移动量n的值是否小于0(S118),在是小于0的值的情况下对n加上7(S119),反复进行从步骤S105开始的处理。
在输入的键的种类是向下的移动键的情况下,应答值计算部111对垂直移动量n加上1(S120)。接下来,检查垂直移动量n的值是否大于6(S121),在是大于6的值的情况下从n减去7(S122),反复进行从步骤S105开始的处理。
在输入的键的种类是清除键的情况下,应答值计算部111向认证数据排列h[k]与v[k]的值存储0(S123),检查输入计数器k的值是否大于0(S124),在是大于0的值的情况下从k减去1(S125),反复进行从步骤S105开始的处理。
在输入的键的种类是认证键的情况下,应答值计算部111将输入计数器k和认证数据排列h[k]与v[k]的值作为认证数据,经由终端通信部105发送给服务器装置106(S126)。
接下来,接收从服务器装置106发送来的认证结果(S127),在显示部102中显示从服务器装置106接收到的认证结果(S128),并结束认证处理。
接下来,参照图4,对图2的步骤S105的详细动作进行说明。
首先,外观设定部104将变量x与y分别初始化为1(S201)。接下来,检查变量y的值是否是大于7的值(S202)。
此处,在变量y的值是7以下的情况下,检查变量x的值是否是大于10的值(S203)。
在变量x的值是10以下的情况下,外观设定部104使用下式(1),求出对从画面的从上起y行、从左起x列的位置的密码候补字符设定的背景色的颜色指定代码D(x,y)(S204)。
在式(1)中,m与n分别表示图2中的水平移动量与垂直移动量。
另外,在式(1)中,%表示求出余数的运算(在式(2)中也相同)。
接下来,外观设定部104在从画面的左上起第y行第x列,用颜色指定代码D(x,y)的背景色,显示由密码排列P[y-1,x-1]的字符代码指定的字符(S205)。
接下来,对变量x加上1(S206),反复进行从步骤S203开始的处理。
另一方面,在步骤S203中,在变量x的值大于10的情况下,外观设定部104对变量x设置1,对变量y加上1(S207),反复进行从步骤S202开始的处理。
在步骤S202中,在变量y的值是大于7的值的情况下结束处理。
接下来,对在服务器装置106中接收到来自终端装置101的认证要求时执行的处理进行说明。
图5示出在服务器装置106中从终端装置101接收到认证要求时执行的处理。
首先,在从终端装置101接收到包含用户ID的认证要求时(S301),认证判断部108检查接收到的认证要求中包含的用户ID是否登记在管理部109中(S302)。
在管理部109中登记有用户ID的情况下,认证判断部108依次取出与用户ID相关联地登记的两个以上的密码,作为登记密码字符串PW [i|(0≤i≤S-1)](S是登记的密码的个数)的要素而保存(S303)。
登记密码字符串PW的序号即i(0≤i≤S-1)成为认证判断部108中的认证处理的顺序。
另一方面,在管理部109上没有登记用户ID的情况下,认证判断部108存储认证的失败(S304)。
接下来,在认证随机数生成部107中生成用户的认证中所需的随机数(S305)。
在本实施方式中,为了在终端的画面上显示7行10列的密码排列而生成由七个十位的随机数构成的随机数的集合,并经由认证通信部110向终端装置101发送所生成的随机数的集合(S306)。
之后,从终端装置101接收认证数据(S307),检查在认证判断部108中是否存储了认证失败(S308)。
在认证判断部108中没有存储认证失败的情况下,认证判断部108根据经由认证通信部110发送的随机数的集合、接收到的认证数据的输入计数器k、认证数据排列h[k]与v[k]、以及从管理部109取出的登记密码字符串PW,判定认证是否成功(S309),在认证数据正确的情况下,经由认证通信部110向终端装置101回送通知认证成功的认证成功消息(S310)。
另一方面,在认证数据错误的情况下,认证判断部108经由认证通信部110向终端装置101发送通知认证失败的认证失败消息(S311)。
在后面,对判定认证是否成功的运算进行详细说明。
另外,在步骤S308中,在认证判断部108中记录有认证失败的情况下,在步骤S311中发送认证失败消息。
接下来,参照图6,对图5的步骤S309的认证判定处理的详细动作进行说明。
首先,认证判断部108将变量s初始化为1,将变量k初始化为0(S401)。
此处,变量s是用于对密码字符串的个数进行计数的变量。
另外,变量k是用于对密码长度(密码字符的数量)进行计数的变量。
接下来,在变量ln中,保存登记在管理部109中的登记密码字符串PW[s-1]的密码长度,将变量r设定为1,将变量m与n分别设定为0(S402)。
变量ln是用于记录登记密码字符串的密码长度(密码字符数)的变量,对应于各登记密码字符串的密码长度不恒定的情形。另外,变量r是用于判别成为对象的字符是登记密码字符串中的第几个字符的变量。变量m、变量n对应于水平移动量m、垂直移动量n。
接下来,认证判断部108针对第s个登记密码字符串PW[s-1]内的密码的第r个字符,求出密码排列P内的位置(S403)。
密码排列P内的位置可以使用图7所示的变换表来求出。
具体而言,针对图7的变换表,使用从某个密码字符的ASCII码的上位四位和下位四位唯一地求出的数值t,求出密码排列P内的位置i和j。此时,i是将t用10除时的商,j是将t用10除时的余数。
接下来,认证判断部108根据i和j以及认证数据排列的要素h[k]和v[k],使用下式(2)求出选择为第s个登记密码的第r个字符的密码字符的背景色的颜色指定代码E(s,k)(S403)。
此处,k等于对直到第s-1个为止的登记密码字符串的长度的总和加上r-1而得到的值。
接下来,认证判断部108检查变量r是否等于1(S405),在相等的情况下,将颜色代码E(s,r)临时存储在认证判断部108内(S406)。
在步骤S405中,在变量r不等于1的情况下,认证判断部108检查在步骤S404中求出的颜色代码E(s,r)是否与临时存储在认证判断部108内的颜色代码一致(S407)。
即,认证判断部108按照认证顺序,从由认证通信部110接收到的应答值中根据密码长度ln抽出与各密码字符串对应的应答值。然后,进行上式(2)所示的运算,针对每个密码字符串,求出由终端装置101选择的最初的密码字符的外观,并且求出第二个以后的密码字符各自的外观,判定所求出的第二个以后的密码字符各自的外观是否与最初的密码字符的外观一致。
在步骤S407中,在颜色代码不一致的情况下,认证判断部108将认证设为失败(S408),结束认证判定处理。
另一方面,在步骤S407中,在与颜色代码一致的情况下,认证判断部108检查变量r是否等于变量ln(S409)。
在步骤S409中,在变量r不等于变量ln的情况下,针对第s个登记密码字符串的所有字符,颜色代码是否一致的检查没有结束,所以对变量r与变量k分别加上1(S401),反复进行从步骤S403开始的处理。
另一方面,在步骤S409中,在变量r等于变量ln的情况下,针对第s个登记密码字符串的所有字符,颜色代码是否一致的检查结束,所以检查变量s是否等于S(S411)。
在步骤S411中,在变量s不等于S的情况下,针对所有登记密码字符串,应答值的检查尚未结束,所以对变量s加上1(S412),反复进行从步骤S402开始的处理。
另一方面,在步骤S411中,在变量s等于S的情况下,针对所有登记密码字符串,应答值的检查已结束,所以将认证设为成功(S413),认证判断部108结束认证判定处理。
图8是由终端装置101在S101中受理来自用户的认证要求时显示在显示部102中的用户ID输入画面。
用户在开始认证时,从输入部103向用户ID输入画面201的用户ID输入字段202输入用户ID,并按下执行按钮203,从而在S103中发送针对服务器装置106的包含用户ID的认证要求。
图9是由终端装置101在S105中受理来自用户的应答时显示在显示部102中的用户认证画面。
用户在进行认证时,在用户认证画面301上,从自身记忆的最初的登记密码字符串的最初的字符中依次找到密码排列302中的字符,针对各登记密码字符串,利用移动键来操作背景以使密码字符的背景针对每个登记密码字符而成为完全相同,在背景变得相同时按下选择键,通过反复进行这样的操作,进行认证操作。
例如,在登记密码字符串是“1F”的情况下,由于与“1”的背景色相同的背景色处于“C”的位置,所以用户使背景整体向右方向移动三个,对于“F”也使得成为与“1”相同的背景色。
另外,在按下选择键而确定了背景时,对确定显示字段303追加显示一个“*”。
在执行了针对所有登记密码字符串的认证操作之后,用户按下认证按钮304,从而在步骤S125中发送针对服务器装置106的认证数据。
另外,如果是在按下认证按钮304之前,则用户可以通过按下1次清除按钮305来清除一个字符的认证操作的错误,此时显示在确定显示字段303中的“*”被删除一个。
这样,仅使各密码的背景色匹配,不用输入密码本身而进行认证,所以即使第三方能够偷看认证操作,也由于不知道用户将哪个字符的哪个背景色进行了匹配,所以可以防止冒充为本人而进行认证。
而且,用户可以在每次的认证中,针对每个密码字符串自由地改变各字符共同匹配的背景色。另外,在认证时,连续对一个以上的密码字符串进行认证。因此,对于第三方而言,由于不知道在认证中究竟使用了几个密码字符串,而且也不知道各个密码字符串的长度,所以可以进行保持了高的安全性的用户认证。
而且,在以往的方式中登记多个密码而针对各个密码反复进行了认证的情况下,仅能够得到为了防止冒充而简单地将密码的位数变长的效果。相对于此,在本实施方式的终端装置侧,在一次的认证中继续使用多个密码而进行一连串的认证操作,在认证装置侧,仅在密码最初的字符的背景与剩余的字符的背景一致的情况下认证成功。由此,对于第三方而言,无法得知究竟何处相当于第二个以后的密码的最初的字符,由此得到被推测为密码的候补的数量增加而难以冒充的效果。
另外,可以使用作为用户记忆的用于认证的数据而广泛普及的以往的由字符和数字构成的密码。对于用户而言,不存在结合本认证方式而新记忆特殊形式的数据的负担,用于维持安全性的密码更新时的负荷也小。
在密码中,既可以原样地使用已经记忆的密码,也可以将记忆的密码在途中分成两个而进行登记。
在本实施方式中,构成为在终端装置101的外观设定部104中预先保持密码排列和颜色变换表,但也可以构成为在服务器装置106的管理部109中保存密码排列和颜色变换表,在认证时将它们从管理部109取出并从服务器装置106发送给终端装置101。
而且,针对每个用户将不同的密码排列以及颜色变换表与用户ID相关联地存储在管理部109中,从而还可以在用户认证画面中针对每个用户使用不同的密码候补字符、背景色。
另外,在本实施方式中,作为密码的外观使用了背景色,但通过代替颜色变换表而使用将包含图案的文件名设为要素的图案变换表,也可以如图10所示将密码候补字符与不同的图案一起显示在用户认证画面中。
以上,在本实施方式中,说明了具有用户所利用的终端装置、以及与上述终端装置进行通信而进行针对用户的认证的认证装置的认证系统。
更具体而言,说明了如下内容:上述终端装置具有:终端通信部,从上述认证装置接收认证用随机数,向上述认证装置发送针对认证用随机数的应答值;输入部,受理来自键的输入值;外观设定部,根据由上述终端通信部接收到的认证用随机数和来自上述输入部的输入值,设定密码候补字符的外观;以及显示部,显示由上述外观设定部设定的外观的密码候补字符,其中,上述终端装置根据上述输入部受理的输入值,计算出上述应答值。
另外,说明了如下内容:上述认证装置具有:管理部,存储两个以上的用户的密码字符串;认证随机数生成部,生成认证用随机数;认证通信部,向上述终端装置发送由上述认证随机数生成部生成的认证用随机数,从上述终端装置接收针对上述认证用随机数的应答值;以及认证判断部,使用存储在上述管理部中的两个以上的密码字符串、由上述认证随机数生成部生成的认证用随机数、以及由上述认证通信部接收到的应答值,求出由上述终端装置选择的各密码字符串的最初的外观,使用所求出的各密码字符的外观、存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数、以及由上述认证通信部接收到的应答值,进行规定的运算,判断用户认证是否成功。
另外,在本实施方式中,说明了如下内容:上述外观设定部设定各字符的背景色而作为密码候补字符的外观。
而且,在本实施方式中,说明了如下内容:上述外观设定部对各字符的背景设定图案而作为密码候补字符的外观。
实施方式2
在以上的实施方式1中,关于登记密码字符串,使用预先已经登记在服务器装置的管理部中的密码字符串,但接下来示出用户直接从终端装置变更登记自身的密码字符串时的实施方式。
图11是示出本发明的实施方式2的认证系统的结构的框图。
在图11中,终端装置401的终端通信部405与服务器装置408的认证通信部412经由无线通路、有线通信、因特网等网络连接。
终端装置401的外观设定部404预先保持由成为密码的候补的密码候补字符构成的密码排列和颜色变换表,设定在显示部402中显示的密码的背景色。在本实施方式中,外观设定部404是密码排列存储部的例子。
另外,外观设定部404存储的密码排列和颜色变换表与实施方式1中说明的部分相同。
终端随机数生成部406生成密码变换用随机数。
终端存储部407存储随机数的排列,具体而言,由硬盘装置、非易失性存储器、软盘等构成。
输入部403从用户处输入变换前的密码即变换前密码。输入部403是变换前密码输入部的例子。
应答值计算部413与实施方式1同样地,计算出针对来自服务器装置408的认证用随机数的应答值。
密码变换部414根据由终端随机数生成部406生成的密码变换用随机数、以及存储在外观设定部404中的密码排列,进行由输入部403受理的变换前密码字符串的变换。
服务器装置408的管理部411在本实施方式中由硬盘装置构成,将一个以上的用户的密码与用户ID相关联地进行存储。另外,保存密码排列和颜色变换表。
认证随机数生成部409生成十位的随机数。
认证随机数生成部409以及认证判断部410在本实施方式中具体而言是由程序实现的,该程序保存在硬盘装置、非易失性存储器、软盘等中,从它们载入到服务器装置(认证装置)408上并在CPU(Central Processing Unit)上执行。
接下来,对本实施方式的认证系统的动作概要进行说明。
在终端装置401中,输入部403受理用户的变换前密码字符串。该变换前密码是指用户记忆的密码。
另外,终端随机数生成部406生成密码变换用随机数。
外观设定部404所存储的密码排列与实施方式1同样地,在分别指定的位置配置有多个密码候补字符的各字符。
密码变换部414针对构成变换前密码字符串的每一个密码字符,判断配置有一致的密码候补字符的密码排列中的位置,根据判断的各密码候补字符的位置和密码变换用随机数,进行变换前密码字符串的变换。
具体而言,密码变换部414针对构成变换前密码字符串的每一个密码字符,判断配置有一致的密码候补字符的密码排列中的位置,使用所判断的各密码候补字符的位置和密码变换用随机数来进行规定的运算,将变换前密码字符串的密码字符置换为配置在与运算结果的值相当的位置上的密码候补字符,进行变换前密码字符串的变换。
然后,终端通信部405向服务器装置408发送由密码变换部414变换后的变换后密码字符串。
在服务器装置408中,认证通信部412接收从终端装置401发送的变换后密码字符串,管理部411将该变换后密码字符串作为终端装置401的用户的密码字符串而进行存储。
这样,在本实施方式中,登记在服务器装置408中的密码字符串(变换后密码字符串)可以与用户记忆的密码字符串(变换前密码字符串)不同。
而且,在本实施方式中,也通过与实施方式1同样的步骤进行用户认证处理,用户进行输入使得相对记忆的密码字符串(变换前密码字符串)的各字符,使密码候补字符的背景共同。
此处,应答值计算部413的应答值的计算步骤与实施方式1不同。在本实施方式中,应答值计算部413使用用户的输入值和密码变换用随机数来计算出应答值。
通过在应答值的计算中使用密码变换用随机数,应答值计算部413使用户针对变换前密码字符串输入的输入值与登记在服务器装置408中的变换后密码字符串相对应地进行变换,计算出应答值。
另外,以下在详细说明本实施方式的认证系统时,在本实施方式中,在管理部411中作为新用户的登记后的状态,与用户的ID相关联地登记有临时密码,在终端装置401的终端存储部407中,存储了要素的值被初始化为0的长度64的两个随机数排列、水平随机数排列RH[64]和垂直随机数排列RV[64]。水平随机数排列RH[64]和垂直随机数排列RV[64]是密码变换用随机数的排列。
在密码排列P和颜色变换表C中,使用与实施方式1中使用的部分相同的部分。
另外,在本实施方式中,将密码的合计长度设为最大64而进行了说明,但长度不限于此。
另外,作为密码候补字符使用了7行10列的密码排列,但同样地,排列的大小不限于此。
接下来,参照附图,对本实施方式的用户认证系统中的终端装置101以及服务器装置106的动作进行详细说明。
首先,在向服务器装置408的新利用者登记结束之后,用户对于终端装置401,使用临时密码进行与服务器装置408的认证操作,在认证成功之后进行密码的变更登记。
首先,对进行用户认证时的终端装置401的动作进行说明。
图12以及图13是示出在终端装置401中进行用户认证时执行的处理的流程图。
首先,在用户使用终端装置401进行认证的情况下,在显示部402中显示用户ID输入画面,从输入部403受理用户ID(S501)。
此时,应答值计算部413把将作为应答值而回送给服务器装置408的数据进行保存的认证数据排列v[64]和h[64]的要素初始化为0,将水平移动量m、垂直移动量n、以及输入计数器k分别初始化为0(S502)。
接下来,对服务器装置408,经由终端通信部405发送包含用户ID的认证要求(S503)。
之后,终端装置401从服务器装置408接收针对经由终端通信部405发送的认证要求的由七个十位的随机数构成的随机数的集合,外观设定部404将其作为随机数排列R[i|(0≤i≤6)]而进行存储(S504)。
接下来,外观设定部404针对密码排列的各行各列,根据存储的随机数集合的值、两个移动量m与n的值、以及颜色变换表C,通过规定的运算,求出颜色指定代码。
显示部402显示出在根据求出的颜色指定代码而指定的背景色上描绘了密码候补字符的用户认证画面(S505)。
在后面对求出背景色的颜色指定代码的运算进行详细说明。
针对在显示部402中显示为字符的带背景色的密码排列,从输入部403受理用户的输入键值(输入值)(S506)。
在受理了输入键后,应答值计算部413判定所输入的键的种类(S507)。
在输入的键的种类是选择键的情况下,应答值计算部413检查输入计数器k的值是否小于64(S508)。
在k的值小于64的情况下,应答值计算部413将对水平移动量m加上水平随机数排列RH[k]而得到的值作为认证数据排列h[k]的值而进行存储,将对垂直移动量n加上垂直随机数排列RV[k]而得到的值作为认证数据排列v[k]的值而进行存储(S509)。
接下来,应答值计算部413检查k的值是否等于0(S510)。
在k的值不等于0的情况下,应答值计算部413将从对认证数据排列h[k]的值加上10的值中减去水平随机数排列RH[k-1]的值而得到的值作为认证数据排列h[k]的值而进行存储,将从对认证数据排列v[k]的值加上7的值中减去垂直随机数排列RV[k-1]的值而得到的值作为认证数据排列v[k]的值而进行存储(S511)。
接下来,应答值计算部413把将认证数据排列h[k]的值除以10而得到的余数作为认证数据排列h[k]的值而进行存储,把将认证数据排列v[k]的值除以7而得到的余数作为认证数据排列v[k]的值而进行存储之后,对输入计数器k的值加上1(S512),反复进行从步骤S505开始的处理。
在步骤S510中,在k的值等于0的情况下,进行从步骤S512开始的处理。
在步骤S508中,在输入计数器k的值是64以上的情况下,显示出表示确定数已经达到密码的最大长度的警告(步骤S513),反复进行从步骤S505开始的处理。
在输入的键的种类是向左的移动键的情况下,应答值计算部413从水平移动量m减去1(S514)。接下来,检查水平移动量m的值是否小于0(S515),在是小于0的值的情况下对m加上10(S516),反复进行从步骤S505开始的处理。
在输入的键的种类是向右的移动键的情况下,应答值计算部413对水平移动量m加上1(S517)。接下来,检查水平移动量m的值是否大于9(S518),在是大于9的值的情况下从m减去10(S519),反复进行从步骤S505开始的处理。
在输入的键的种类是向上的移动键的情况下,应答值计算部413从垂直移动量n减去1(S520)。接下来,检查垂直移动量n的值是否小于0(S521),在是小于0的值的情况下对n加上7(S522),反复进行从步骤S505开始的处理。
在输入的键的种类是向下的移动键的情况下,应答值计算部413对垂直移动量n加上1(S523)。接下来,检查垂直移动量n的值是否大于6(S524),在是大于6的值的情况下从n减去7(S525),反复进行从步骤S505开始的处理。
在输入的键的种类是清除键的情况下,应答值计算部413向认证数据排列h[k]与v[k]的值存储0(S526),检查输入计数器k的值是否大于0(S527),在是大于0的值的情况下从k减去1(S528),反复进行从步骤S505开始的处理。
在输入的键的种类是认证键的情况下,应答值计算部413将输入计数器k、认证数据排列h[k]和v[k]的值作为认证数据,经由终端通信部405发送给服务器装置408(S529)。
接下来,接收从服务器装置408发送来的认证结果(S530),在显示部502中显示从服务器装置408接收到的认证结果(S531),并结束认证处理。
另外,在步骤S530中,在接收到的认证结果是认证成功的情况下在认证结果中包含对话ID(随机数),所以在终端装置401中将对话ID存储在终端存储部407中。
另外,步骤S505的详细动作与实施方式1的步骤S105的处理相同。
另外,在服务器装置408中接收到来自终端装置401的认证要求时执行的处理与在实施方式1的服务器装置106中从终端装置101接收到认证要求时执行的处理相同。
另外,在步骤S310中发送认证成功消息时,由认证随机数生成部409生成对话ID用的随机数,与用户ID相关联地存储在管理部411中,并且包含在认证成功消息中而进行发送。
接下来,在认证成功之后进行密码字符串的变更登记。
图14是在终端装置401中认证成功之后用户使用密码字符串的变更登记时显示在显示部102中的密码变更登记画面,图14的(a)是刚刚起动了密码变更登记画面之后的画面。
在密码的变更登记画面501中,显示出向上滚动按钮502、第一个密码字符串的输入字段503、第一个密码字符串(确认)的输入字段504、向下滚动按钮505、追加按钮506、登记按钮507。
用户在进行密码字符串的变更登记时,在密码变更登记画面的第一个密码字符串的输入字段502中输入第一个密码字符串(变换前密码字符串),而且在第一个密码字符串(确认)的输入字段502中同样地输入第一个密码字符串(变换前密码字符串)。在仅登记了一个密码字符串的情况下,通过按下登记按钮504,从终端装置401对服务器装置408发送密码变更登记。
另一方面,在用户登记第二个密码字符串时,通过按下追加按钮506,如图14的(b)所示,在密码字符串的变更登记画面中,追加显示第二个密码字符串的输入字段508和第二个密码字符串(确认)的输入字段509。
用户在密码变更登记画面的第二个密码字符串的输入字段508中输入第二个密码字符串(变换前密码字符串),而且在第二个密码字符串(确认)的输入字段509中同样地输入第二个密码字符串(变换前密码字符串)。
而且,在用户登记第三个密码字符串(变换前密码字符串)时,通过再次按下追加按钮506,如图14的(c)所示,在密码的变更登记画面中,追加显示第三个密码字符串的输入字段510和第三个密码字符串(确认)的输入字段511。
用户通过按下向上滚动按钮502和向下滚动按钮505,将密码输入字段的显示进行上下移动。
如果用户在所有的密码字符串的输入字段和密码字符串(确认)的输入字段中输入了密码字符串之后按下登记按钮507,则从终端装置401对服务器装置408发送密码变更登记。
接下来,对进行密码字符串的变更登记时的终端装置401的动作进行说明。
图15以及图16是示出在终端装置401中进行密码字符串的登记变更时执行的处理的流程图。
首先,在用户使用终端装置401进行登记变更时,从显示在显示部402中的菜单通过输入部403选择密码登记变更(画面省略),从而受理密码登记变更(S601)。
首先,密码变换部414将用于对密码字符串的数量进行计数的变量k初始化为1(S602)。
接下来,密码变换部414分配用于存储第一个密码的区域ps_1和pc_1(S603)。
接下来,将图14所示的密码的登记变更画面显示在显示部402中,受理向密码的输入字段以及密码(确认)的输入字段进行的键输入和按钮操作(S604)。在受理了来自用户的输入时,密码变换部414判定输入的种类(S605)。
在输入是按下向上滚动按钮502或向下滚动按钮505的情况下,根据方向来变更所显示的密码的输入字段(S606)。
在输入是按下追加按钮506的情况下,对k加上1(S607),分配用于存储第k个密码的区域ps_k和pc_k(S608),反复进行步骤S604的处理。
在输入是按下登记按钮507的情况下,密码变换部414将内部变量i初始化为1,将用于求出密码的合计长度的变量sum初始化为0(S609)。
接下来,检查内部变量i是否为密码数的计数器k以下(S610)。
在内部变量i是k以下的情况下,密码变换部414为了确认第i个密码与密码(确认)是否一致而检查ps_i的值与pc_i的值是否相等(S611)。
在ps_i的值与pc_i的值相等的情况下,密码变换部414对变量sum加上ps_i的长度(S612),检查变量sum是否为64以下(S613)。
在变量sum是64以下的情况下,密码变换部414对i加上1(S614),反复进行从步骤S610开始的处理。
另一方面,在步骤S613中变量sum大于64的情况下,密码变换部414在显示部402中显示出所输入的密码的合计长度超过最大值的警告(S615),反复进行从步骤S604开始的处理。
另外,在步骤S610中ps_i的值与pc_i的值不相等的情况下,密码变换部414在显示部402中显示第i个密码与密码(确认)的输入内容不一致的警告(S616),反复进行从步骤S604开始的处理。
在步骤S610中,密码变换部414在内部变量i的值大于密码数的计数器k的情况下,进行所输入的密码的变换处理(S617)。在后面详细说明变换处理。
接下来,将在变换处理步骤617中使用的密码变换用随机数的排列即随机数排列RH[k]与RV[k]存储在终端存储部407中(S618),经由终端装置401的终端通信部405向服务器装置408发送包含密码数k和变换后的密码ps_1到ps_k的密码登记变更(S619),并结束密码的登记变更处理。
接下来,参照图17,对图16的步骤S617的密码的变换处理的详细动作进行说明。
首先,密码变换部414分配水平随机数排列RH[64]和垂直随机数排列RV[64],将要素全部初始化为0(S701)。
接下来,密码变换部414将内部变量i初始化为1,将内部变量j初始化为0(S702),检查i是否为输入的密码的个数k以下(S703)。在i是k以下的情况下,将内部变量m初始化为1,在内部变量ln中存储第i个密码的长度(S704)。内部变量m是表示成为处理对象的字符的密码字符串内的位置的变量。内部变量ln是表示成为处理对象的密码字符串的密码长度(密码字符数)的变量。
接下来,在终端随机数生成部406中生成两个随机数r1和r2(S705)。这两个随机数r1和r2是密码变换用随机数。
接下来,密码变换部414把将r1除以10而得到的余数设为r1,并且存储在水平随机数排列RH[j]中,把将r2除以7而得到的余数设为r2,并且存储在垂直随机数排列RV[j]中(S706)。
接下来,密码变换部414在内部变量ch中临时存储第i个密码的第m个字符(S707),使用图9所示的密码排列,求出存储在内部变量ch中的字符是密码排列的第几个字符,并存储在内部变量n中(S708)。
接下来,密码变换部414从密码排列P,取得P[(n%10+r2)%7][(n/10+r1)%10]的要素,并临时存储在内部变量ch中(S709),用存储在内部变量ch中的字符置换第i个密码的第m个字符(S710)。
接下来,密码变换部414检查m是否为ln以下(S711),在m是ln以下的情况下,对m与j分别加上1(S712),反复进行从步骤S705开始的处理。
在步骤S711中,在m大于ln的情况下,对i加上1(S713),反复进行从步骤S703开始的处理。
在步骤S703中,在i大于k的情况下,结束密码字符串的变换处理。
这样,密码变换部414针对构成变换前密码字符串的每一个密码字符,判断在配置有与各密码字符一致的密码候补字符的密码排列中的位置,使用判断的各密码候补字符的位置和密码变换用随机数来进行规定的变换,将变换前密码字符串的密码字符置换为配置在与运算结果的值相当的位置上的密码候补字符,进行变换前密码字符串的变换。
接下来,参照图18,对在服务器装置408侧接收到密码登记变更时的处理进行说明。
在从终端装置401接收到包含对话ID和一个以上的新的密码字符串的登记变更时(S801),认证判断部410检查所接收到的对话ID是否与用户ID相关联地存储在管理部411中(S802)。
在接收到的对话ID没有与用户ID相关联地存储在管理部411中的情况下,认证判断部410设为非法的密码登记变更而结束处理。
另一方面,在步骤S802中,在接收到的对话ID与用户ID相关联地存储在管理部411中的情况下,认证判定部410从管理部411取得与对话ID相关联地存储的用户ID(S803),登记作为与用户ID相关联地存储在管理部411中的密码而接收到的一个以上的密码字符串(S804),并结束处理。
另外,按照图12以及图13所示的流程,进行执行了图18所示的密码登记变更后的用户认证处理。
在上述中,根据图12以及图13的流程,说明了在向服务器装置408进行的新利用者登记刚刚结束之后使用临时密码进行用户认证的例子,但按照图12以及图13的流程,也进行并非紧接在新利用者登记之后的通常的运用时的用户认证处理。
即,与实施方式1同样地,用户操作移动键使得相对于记忆的密码字符串的各字符成为共同的背景色,并输入选择键。在输入了选择键之后,由应答值计算部413进行图13的S508-S512的处理,计算出应答值。该应答值的计算中使用的水平随机数排列RH[k]与垂直随机数排列RV[k]是在图16的S618中存储的密码变换用的随机数排列。
因此,应答值计算部413使用在密码变换部414的密码变换处理中利用的密码变换用随机数,进行应答值的计算。
这样,应答值计算部413使用在密码变换部414的密码变换处理中利用的密码变换用随机数,进行与密码变换处理对应的应答值的计算,所以即使在服务器装置408的认证判断部410的认证判断中使用的密码字符串是变换后的密码字符串,也可以利用由应答值计算部413计算出的应答值进行更正确的用户认证。
这样,在从终端装置401进行密码的登记变更时,根据在终端侧生成的随机数变换用户的密码,将变换后的密码登记在服务器装置408中,所以例如在服务器装置408中,即使从管理部411泄露了变换后的密码,也无法推测用户实际上使用了什么样的密码,所以由此可以加强认证系统的安全性。
以上,在本实施方式中,说明了与进行用户的密码的变更登记和针对用户的认证的认证装置进行通信并由用户利用的终端装置。
更具体而言,说明了以下内容:上述终端装置具有:终端通信部,从认证装置接收认证用随机数,向上述认证装置发送与认证用随机数对应的应答值,在认证成功之后向上述认证装置发送更新用密码;输入部,从键受理输入值;终端随机数生成部,生成密码变换用随机数;终端存储部,存储表示对密码候补的外观进行变更的规则的外观变化模型和密码变换用随机数;外观设定部,根据由上述终端通信部接收到的认证用随机数、从上述输入部输入的输入值、以及由上述终端存储部存储的外观模型,设定密码候补字符的外观;以及显示部,对由上述外观设定部设定的外观的密码候补字符进行显示,并且,根据上述输入部受理的输入值和上述终端存储部所存储的密码变换用随机数来计算出上述应答值,在认证成功之后,根据由终端随机数生成部生成的密码变换用随机数,将从输入部输入的密码变换为上述更新用密码。
另外,在本实施方式中,说明了如下的认证装置:在用户的认证成功之后,由认证通信部接收来自终端装置的密码变更登记,更新存储在管理部中的密码字符串。
实施方式3
在以上的实施方式2中,在终端装置中生成随机数,并使用该随机数来变换用户的密码,从而防止泄露用户的密码,但接下来,示出使用用户输入到终端装置的变换用密码来变换与服务器装置的认证用的密码时的实施方式。
图19是示出本发明的实施方式3的认证系统的结构的框图。
在图19中,终端装置601的终端通信部605和服务器装置607的认证通信部611经由无线通信、有线通信、因特网等网络连接。
终端装置601的外观设定部604预先保持由成为密码候补的字符构成的密码排列和颜色变换表,设定在显示部602中显示的密码的背景色。外观设定部604是密码排列存储部的例子。
另外,输入部603受理来自用户的变换前密码字符串,并且受理起动密码字符串。起动密码字符串是密码变换用随机数的生成中使用的随机数生成用密码字符串。另外,输入部603是变换前密码输入部的例子。
终端装置的哈希值生成部606生成针对起动密码字符串(随机数生成用密码字符串)的哈希值,而生成密码变换用随机数。哈希值生成部606也可以对起动密码字符串(随机数生成用密码字符串)进行哈希运算以外的其它种类的单方向性运算,而生成密码变换用随机数。哈希值生成部606是终端随机数生成部的例子。
密码变换部614使用由哈希值生成部606生成的密码变换用随机数,进行变换前密码字符串的变换。
应答值计算部613与实施方式2同样地,使用密码变换用随机数,计算出向服务器装置607的应答值。
服务器装置607的管理部610在本实施方式中,例如由硬盘装置构成,将一个以上的用户的密码与用户ID相关联地进行存储。另外,存储密码排列和颜色变换表。
认证随机数生成部608生成十位的随机数。
认证随机数生成部409以及认证判断部410在本实施方式中具体而言是由程序实现的,该程序保存在硬盘装置、非易失性存储器、软盘等中,从它们载入到服务器装置(认证装置)408上并在CPU(Central Processing Unit)上执行。
服务器装置607的各要素与实施方式2示出的部分相同。
在本实施方式中,在管理部610中作为新用户的登记后的状态,与用户的ID相关联地登记有临时密码,终端装置401存储要素的值被初始化为0的长度64的两个随机数排列、水平随机数排列RH[64]和垂直随机数排列RV[64]。
在实施方式3中,在开始与服务器装置607的认证时,在终端装置601的显示部602中显示用户ID输入画面之前,显示图20所示的起动密码输入画面701。
用户在起动密码输入画面701上,从自身记忆的起动密码字符串的最初的字符中依次找出密码排列702中的字符,针对各登记密码字符串,利用移动键进行操作以使光标成为密码字符的背景,并按下选择键,通过反复进行这样的操作,进行起动密码字符串的输入操作。
在按下了选择键时,在输入显示字段703中追加显示一个“*”。在执行了针对所有起动密码字符串的输入操作之后,用户按下确定按钮704,从而开始进行从起动密码字符串生成随机数排列的处理。
另外,如果是按下确定按钮704之前,则用户按下1次清除按钮705,从而可以清除一个字符的输入操作的错误,此时显示在输入显示字段703中的“*”被删除一个。
接下来,图21示出按下了确定按钮704时开始的随机数排列生成处理。
首先,哈希值生成部606分配两个随机数排列RH[64]和RV[64],将要素初始化为0(S901)。
接下来,哈希值生成部606将利用SHA-256哈希函数H()对在起动密码输入画面中由用户输入的起动密码字符串进行哈希运算而得到的值存储在变量val1中,并将该相同的值也存储在变量val2中(S902)。
接下来,哈希值生成部606将内部计数器i初始化为0(S903)。
接下来,哈希值生成部606把将val1除以10而得到的余数存储到随机数排列RH[i]中,把将变量val2除以7而得到的余数存储到随机数排列RV[i]中,并且,利用将变量val1除以10而得到的商来更新val1,利用将变量val2除以7而得到的商来更新val2(S904)。
接下来,哈希值生成部606检查计数器i的值是否为63以上(S905),在是63以上的情况下,结束处理。
另一方面,在步骤S905中,在计数器i的值小于63的情况下使i加1(S906),反复进行从步骤S904开始的处理。
这样,哈希值生成部606对从用户输入的起动密码字符串(随机数生成用密码字符串)进行包含哈希运算的规定运算而生成密码变换用随机数。
之后的动作与实施方式2相同,在终端装置601中,密码变换部614使用密码变换用随机数来变换用户的密码字符串(变换前密码字符串),向服务器装置607发送变换后的密码字符串,在服务器装置607中登记变换后的密码字符串。
另外,在终端装置601中,在用户认证时,通过上述步骤,哈希值生成部606使用起动密码字符串(随机数生成用密码字符串)来生成密码变换用随机数,使用哈希值计算部606生成的密码变换用随机数,应答值计算部613进行与实施方式2同样的应答值的计算,向服务器装置607发送应答值。
这样,在本实施方式中,在从终端装置601进行密码的登记更新时,基于以起动密码字符串为基础而由终端装置601的哈希值生成部606生成的哈希值,来变换用户的密码,并将变换后的密码字符串登记在服务器装置607中,在认证时,基于以起动密码字符串为基础而由终端装置601的哈希值生成部606生成的哈希值,变换为针对变换后的密码的应答值,所以例如在服务器装置607中,即使从管理部610泄露了变换后的密码字符串,也无法推测用户实际使用了什么样的密码,所以由此可以加强认证系统的安全性。
另外,由于从起动密码字符串动态地生成哈希值,所以即使用户丢失或失去了终端装置601,也可以使用其他终端装置来进行认证。
另外,在本实施方式中,示出了在起动密码输入画面上利用移动键使光标移动而输入起动密码字符串的方法,但也可以与用户ID的输入同样地从键直接输入起动密码字符串。
以上,在本实施方式中,说明了与进行用户的密码的变更登记和针对用户的认证的认证装置进行通信的、用户利用的终端装置。
更具体而言,说明了以下内容:终端装置具有:终端通信部,从上述认证装置接收认证用随机数,向上述认证装置发送与认证用随机数对应的应答值,在认证成功之后,向上述认证装置发送更新用密码;输入部,从键受理输入值;哈希值生成部,生成哈希值;终端存储部,存储表示将密码候补的外观进行变更的规则的外观变化模型和密码变换用随机数;外观设定部,根据由上述终端通信部接收到的认证用随机数、从上述输入部输入的输入值、由哈希值生成部对输入值进行哈希运算而得到的哈希值、以及由上述终端存储部存储的外观模型,来设定密码候补字符的外观;以及显示部,显示由上述外观设定部设定的外观的密码候补字符,并且,根据上述输入部受理的输入值和由哈希值生成部对输入值进行哈希运算而得到的哈希值,来计算出上述应答值,并在认证成功之后,根据上述哈希值,将从输入部输入的密码变换为上述更新用密码。
实施方式4
在本实施方式中,示出如下实施方式:用户操作方向键,使一个以上的密码字符串的各字符的背景色与特定的颜色匹配,从而进行认证,终端装置使用这样的认证方式,以单体进行用户认证。
另外,在本实施方式中,在密码字符串中使用包含数字和字母表(alphabet)以及特殊字符的符号串的密码,并将密码字符串的合计长度设为最大64而进行了说明,但长度不限于此。另外,作为密码候补字符,使用了7行10列的密码排列,但同样地,排列的大小不限于此。
图22是示出本发明的实施方式4的认证系统的结构的框图。
存储部805、随机数生成部806、以及认证判断部807在本实施方式中安装在IC(集成电路)卡808内,具体而言是由程序实现的,该程序存储在IC卡808内的快闪存储器内,由IC卡808内的CPU执行。另外,IC卡808可以从终端装置801安装和拆卸。
显示部802、输入部803以及外观设定部804与实施方式1中说明的显示部102、输入部103以及外观设定部104相同。
存储部805在本实施方式中由非易失性的存储器构成,预先保存由终端装置801进行认证的用户的一个以上的密码字符串、密码颜色、与用户的公开密钥成对的用户的秘密密钥、由以密码的候补组成的密码候补字符构成的密码排列、以及颜色变换表。
密码排列P表示在终端装置801的显示部802中对可以使用于密码的字符进行显示时的字符的排列,保存了如下所示i行i列中显示的字符的ASCII码。
P[i|(0≤i≤6)[j|(0≤j≤9)]=[[0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x30],[0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a],[0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a],[0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0x53,0x54],[0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74],[0x55,0x56,0x57,0x58,0x59,0x5a,0x21,0x23,0x24,0x25],[0x75,0x76,0x77,0x78,0x79,0x7a,0x26,0x3d,0x3f,0x40]]
颜色变换表C表示在终端装置801的显示部802中显示密码排列P时的背景色,如下所示,用六位的十六进制数(各两位对应于RGB的各数值)保存与0至9的数值对应的背景色的颜色指定代码。
C[k|(0≤k≤9)]=[0xff0000,0x800000,0xffff00,0x808000,0x00ff00,0x008000,0x00ffff,0x008080,0xC0C0C0,0x000080]
另外,在本实施方式中,将密码的合计长度设为最大64而进行了说明,但长度不限于此。
另外,作为密码的候补字符,使用了7行10列的密码排列,但同样地,排列的大小不限于此。
接下来,对动作进行说明。
图23以及图24是示出在终端装置801中进行用户认证处理时执行的处理的流程图。首先,在用户使用终端装置801进行认证的情况下,从输入部803受理认证要求(S1001)。
此时,外观设定部804将保存应答值的认证数据排列h[64]和v[64]的要素初始化为0,将水平移动量m、垂直移动量n、以及输入计数器k分别初始化为0(S1002)。
接下来,在IC卡808的随机数生成部806中生成用户的认证中所需的数量的随机数的集合(S1003)。在本实施方式中,为了在终端装置的画面上显示7行10列的密码排列,生成七个由十位构成的随机数的集合。
接下来,外观设定部804针对密码排列的各行各列,根据生成的随机数的集合的值、两个移动量m与n的值、以及颜色变换表C,利用规定的运算求出颜色指定代码。
显示部802显示出在由所求出的颜色指定代码指定的背景色上描绘了密码字符的用户认证画面(S1004)。在步骤S1004中求出背景色的颜色代码的运算与实施方式1中示出的式(1)的处理相同。
针对在显示部802中显示为字符的带背景色的密码排列,从输入部803受理用户的输入键值(输入值)(S1005)。在受理了输入键时,认证判断部807判定所输入的键的种类(S1006)。
在所输入的键的种类是选择键的情况下,认证判断部807检查输入计数器k的值是否小于64(S1007)。在k的值小于64的情况下,将移动量m与n的值分别作为认证数据排列h[k]与v[k]的值进行存储之后,对输入计数器k的值加上1(S1008),反复进行从步骤S1004开始的处理。
另一方面,在步骤S1007中,在输入计数器k的值是64以上的情况下,显示出表示确定数已经达到密码的最大长度的警告(步骤S1009),反复进行从步骤S1004开始的处理。
在输入的键的种类是向左的移动键的情况下,认证判断部807从水平移动量m减去1(S1010)。接下来,检查水平移动量m的值是否小于0(S1011),在是小于0的值的情况下对m加上10(S1012),反复进行从步骤S1004开始的处理。
在输入的键的种类是向右的移动键的情况下,认证判断部807对水平移动量m加上1(S1013)。接下来,检查水平移动量m的值是否大于9(S1014),在是大于9的值的情况下从m减去10(S1015),反复进行从步骤S1004开始的处理。
在输入的键的种类是向上的移动键的情况下,认证判断部807从垂直移动量n减去1(S1016)。接下来,检查垂直移动量n的值是否小于0(S1017),在是小于0的值的情况下对n加上7(S1018),反复进行从步骤S1004开始的处理。
在输入的键的种类是向下的移动键的情况下,认证判断部807对垂直移动量n加上1(S1019)。接下来,检查垂直移动量n的值是否大于6(S1020),在是大于6的值的情况下从n减去7(S1021),反复进行从步骤S1004开始的处理。
在输入的键的种类是清除键的情况下,认证判断部807向认证数据排列h[k]与v[k]的值中存储0(S1022),检查输入计数器k的值是否大于0(S1023),在是大于0的值的情况下从k减去1(S1024),反复进行从步骤S1004开始的处理。
在输入的键的种类是认证键的情况下,认证判断部807根据随机数的集合、认证数据排列h[k]与v[k]、存储在存储部805中的一个以上的密码字符串、以及密码颜色,判定认证是否成功(S1025),在认证数据正确的情况下,许可用户访问终端装置801以及IC卡808(S1026),并在显示部802中显示认证的成功(S1026)。
另一方面,在步骤S1025中认证数据不正确的情况下,在显示部802中显示认证失败(S1027)。
在步骤S1025中进行认证判断的运算与实施方式1中示出的式(2)的处理相同。
由终端装置801在步骤S1005中受理来自用户的应答时,在显示部802中与实施方式1同样地显示图9所示的用户认证画面。
用户认证画面的操作方法与实施方式1相同。
在执行了针对所有登记密码字符串的认证操作之后,用户按下认证按钮304,从而在步骤S1025中检查认证数据是否正确。
这样,在实施方式4中,仅使登记结束的各密码字符串的背景色匹配,不用输入密码字符串自身而进行认证,所以即使第三方能够偷看到认证操作,也由于利用者不知道使哪个字符的哪个背景色匹配,因此在利用终端装置、IC卡时可以防止冒充为本人进行认证。
另外,用户可以在每次的认证中,针对每个密码字符串自由地改变各字符共同匹配的背景色。另外,在认证时,使一个以上的密码字符串连续而进行认证。
因此,对于第三方而言,由于不知道在认证中究竟使用了几个密码,而且也不知道各个密码的长度,所以可以进行保持了高的安全性的用户认证。
另外,可以使用广泛普及的以往的由字符和数字构成的密码来作为用户记忆的认证用的数据。对于用户而言,不存在与本认证方式匹配地新记忆特殊形式的数据的负担,用于维持安全性的密码的更新时的负荷也小。在密码中,既可以原样地使用已经记忆的密码,也可以将记忆的密码在途中分成两个而进行登记。
在本实施方式中,使用背景色作为密码的外观,但通过代替颜色变换表而使用将包含图案的文件名设为要素的图案变换表,还可以如图10所示在用户认证画面中,将密码候补字符与不同的图案一起进行显示。
以上,在本实施方式中,说明了插入到进行针对用户的认证的终端装置而使用、并与上述终端装置进行数据交换的集成电路(IC)卡。
更具体而言,说明了一种IC卡,该IC卡具有:存储部,存储用户的一个以上的密码字符串和密码字符串的外观;随机数生成部,生成随机数,并向上述终端装置提供该随机数;以及认证判断部,根据存储在上述存储部中的各密码字符串、密码字符的外观、由上述随机数生成部生成的随机数、以及从上述终端装置取得的上述终端装置受理来自键的输入值并根据该输入值计算出的针对上述随机数的应答值,来进行规定的运算,判断用户认证是否成功。
最后,对实施方式1-4中示出的终端装置101、401、601、801以及服务器装置106、408、607的硬件结构例进行说明。
图26是示出实施方式1-4中示出的终端装置101、401、601、801以及服务器装置106、408、607的硬件资源的一个例子的图。
另外,图26的结构只是终端装置101、401、601、801以及服务器装置106、408、607的硬件结构的一个例子,终端装置101、401、601、801以及服务器装置106、408、607的硬件结构不限于图26记载的结构,也可以是其他结构。
在图26中,终端装置101、401、601、801以及服务器装置106、408、607具备执行程序的CPU911(还称为Central Processing Unit、中央处理装置、处理装置、运算装置、微处理器、微型计算机、以及处理器)。CPU911经由总线912,例如与ROM(Read Only Memory:只读存储器)913、RAM(Random Access Memory:随机存取存储器)914、通信板915、显示装置901、键盘902、鼠标903、磁盘装置920连接,并对这些硬件设备进行控制。而且,CPU911也可以与FDD904(Flexible Disk Drive:软盘驱动器)、高密度盘装置905(CDD)、打印机装置906、扫描器装置907连接。另外,代替磁盘装置920,也可以是光盘装置、存储卡读写装置等存储装置。
RAM914是易失性存储器的一个例子。ROM913、FDD904、CDD905、磁盘装置920的存储介质是非易失性存储器的一个例子。这些是存储装置的一个例子。
通信板915、键盘902、鼠标903、扫描器装置907、FDD904等是输入装置的一个例子。
另外,通信板915、显示装置901、打印机装置906等是输出装置的一个例子。
通信板915如图1所示与网络连接。例如,通信板915也可以与LAN(局域网)、因特网、WAN(广域网)等连接。
在磁盘装置920中存储有操作系统921(OS)、视窗系统922、程序群923、文件群924。由CPU911、操作系统921、视窗系统922执行程序群923的程序。
在上述程序群923中存储有执行在实施方式1-4的说明中作为“~部”而说明的功能的程序。由CPU911读出并执行程序。
在文件群924中,作为“~文件”、“~数据库”的各项目,存储有表示在实施方式1-4的说明中作为“~的判断”、“~的计算”、“~的比较”、“~的生成”、“~的更新”、“~的设定”、“~的登记”等而说明的处理的结果的信息、数据、信号值、变量值、参数。
“~文件”、“~数据库”存储在盘、存储器等记录介质中。由CPU911经由读写电路将存储在盘、存储器等存储介质中的信息、数据、信号值、变量值、参数读出到主存储器、高速缓冲存储器中,用于抽出、检索、参照、比较、运算、计算、处理、编辑、输出、印刷、、显示等的CPU的动作中。
在抽出、检索、参照、比较、运算、计算、处理、编辑、输出、印刷、显示的CPU的动作的期间,信息、数据、信号值、变量值、参数临时存储在主存储器、寄存器、高速缓冲存储器、缓冲存储器等中。
另外,实施方式1-4中说明的流程图的箭头的部分主要表示数据、信号的输入输出,数据、信号值记录在RAM914的存储器、FDD904的软盘、CDD905的高密度盘、磁盘装置920的磁盘、以及光盘、迷你盘、DVD等记录介质中。另外,通过总线912、信号线、线缆、其他传送介质在线传送数据、信号。
另外,在实施方式1-4的说明中作为“~部”而说明的部分既可以是“~电路”、“~装置”、“~机器”,并且也可以是“~步骤”、“~过程”、“~处理”。即,作为“~部”而说明的部分也可以通过存储在ROM913中的固件来实现。或者,也可以仅通过软件、或仅通过元件、设备、基板、布线等硬件、或通过软件与硬件的组合、或通过软件与硬件以及固件的组合来实施。固件和软件作为程序而存储在磁盘、软盘、光盘、高密度盘、迷你盘、DVD等记录介质中。由CPU911读出并执行程序。即,程序使计算机作为实施方式1-4的“~部”而发挥功能。或者,使计算机执行实施方式1-4的“~部”的过程、方法。
这样,实施方式1-4中示出的终端装置101、401、601、801以及服务器装置106、408、607是具备作为处理装置的CPU、作为存储装置的存储器、磁盘等、作为输入装置的键盘、鼠标、通信板等、作为输出装置的显示装置、通信板等的计算机,使用这些处理装置、存储装置、输入装置、输出装置来实现如上所述作为“~部”而示出的功能。
Claims (20)
1.一种认证系统,具有用户利用的终端装置以及与上述终端装置进行通信而进行针对用户的认证的认证装置,其特征在于,
上述终端装置具有:
终端通信部,从上述认证装置接收认证用随机数,向上述认证装置发送针对认证用随机数的应答值;
输入部,受理输入值;
外观设定部,根据由上述终端通信部接收到的认证用随机数和由上述输入部受理的输入值,设定密码候补字符的外观;
显示部,显示由上述外观设定部设定的外观的密码候补字符;以及
应答值计算部,根据由上述输入部受理的输入值,计算出上述应答值,
上述认证装置具有:
管理部,将用户的密码字符串存储两个以上;
认证随机数生成部,生成认证用随机数;
认证通信部,向上述终端装置发送由上述认证随机数生成部生成的认证用随机数,从上述终端装置接收针对上述认证用随机数的应答值;以及
认证判断部,使用存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,并使用所求出的各密码字符串的最初的密码字符的外观、存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值来进行规定的运算,判断用户认证是否成功。
2.根据权利要求1所述的认证系统,其特征在于,
上述管理部存储上述认证判断部的认证顺序被指定的两个以上的密码字符串,
上述认证判断部按照上述认证顺序,从由上述认证通信部接收到的应答值中抽出与各密码字符串对应的应答值,并使用与各密码字符串对应的应答值和各密码字符串,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,针对每个密码字符串,使用所求出的最初的密码字符的外观、该密码字符串、上述认证用随机数以及与该密码字符串对应的应答值来进行规定的运算,判断用户认证是否成功。
3.根据权利要求1或2所述的认证系统,其特征在于,
上述管理部存储密码长度相互并非恒定的两个以上的密码字符串,
上述认证判断部按照上述认证顺序,从由上述认证通信部接收到的应答值中,根据各密码字符串的密码长度而抽出与各密码字符串对应的应答值。
4.根据权利要求1或2所述的认证系统,其特征在于,
上述认证判断部进行如下运算:针对每个密码字符串,求出由上述终端装置选择的第二个以后的密码字符各自的外观,判定所求出的第二个以后的密码字符各自的外观是否与最初的密码字符的外观一致。
5.根据权利要求1或2所述的认证系统,其特征在于,
上述外观设定部设定各字符的背景色而作为密码候补字符的外观。
6.根据权利要求1或2所述的认证系统,其特征在于,
上述外观设定部对各字符的背景设定图案而作为密码候补字符的外观。
7.一种认证装置,与用户利用的终端装置进行通信而进行针对用户的认证,其特征在于,具有:
管理部,将用户的密码字符串存储两个以上;
认证随机数生成部,生成认证用随机数;
认证通信部,向上述终端装置发送由上述认证随机数生成部生成的认证用随机数,从上述终端装置接收上述终端装置受理输入值并根据该输入值计算出的针对上述认证用随机数的应答值;以及
认证判断部,使用存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,并使用所求出的各密码字符串的最初的密码字符的外观、存储在上述管理部中的各密码字符串、由上述认证随机数生成部生成的认证用随机数以及由上述认证通信部接收到的应答值来进行规定的运算,判断用户认证是否成功。
8.根据权利要求7所述的认证装置,其特征在于,
上述管理部存储上述认证判断部的认证顺序被指定的两个以上的密码字符串,
上述认证判断部按照上述认证顺序,从由上述认证通信部接收到的应答值中,抽出与各密码字符串对应的应答值,并使用与各密码字符串对应的应答值和各密码字符串来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,针对每个密码字符串,使用所求出的最初的密码字符的外观、该密码字符串、上述认证用随机数以及与该密码字符串对应的应答值来进行规定的运算,判断用户认证是否成功。
9.根据权利要求7或8所述的认证装置,其特征在于,
上述管理部存储密码长度相互并非恒定的两个以上的密码字符串,
上述认证判断部按照上述认证顺序,从由上述认证通信部接收到的应答值中,根据各密码字符串的密码长度而抽出与各密码字符串对应的应答值。
10.根据权利要求7或8所述的认证装置,其特征在于,
上述认证判断部进行如下运算:针对每个密码字符串,求出由上述终端装置选择的第二个以后的密码字符各自的外观,判定所求出的第二个以后的密码字符各自的外观是否与最初的密码字符的外观一致。
11.一种终端装置,是与进行针对用户的认证的认证装置进行通信的、用户利用的终端装置,其特征在于,具有:
变换前密码输入部,受理用户的变换前密码字符串;
终端随机数生成部,生成密码变换用随机数;
密码排列存储部,存储排列有上述认证装置的认证中使用的多个密码候补字符的密码排列;以及
密码变换部,根据由上述终端随机数生成部生成的密码变换用随机数以及存储在上述密码排列存储部中的密码排列,进行由上述变换前密码输入部受理的变换前密码字符串的变换。
12.根据权利要求11所述的终端装置,其特征在于,
上述密码排列存储部将在分别指定的位置上配置有多个密码候补字符的各字符的密码排列进行存储,
上述密码变换部针对构成上述变换前密码字符串的每一个密码字符,判断在配置有一致的密码候补字符的上述密码排列中的位置,并根据判断出的各密码候补字符的位置和上述密码变换用随机数,进行上述变换前密码字符串的变换。
13.根据权利要求11或12所述的终端装置,其特征在于,
上述密码变换部针对构成上述变换前密码字符串的每一个密码字符,判断在配置有一致的密码候补字符的上述密码排列中的位置,并根据判断出的各密码候补字符的位置和上述密码变换用随机数来进行规定的运算,将上述变换前密码字符串的密码字符置换为配置在与运算结果的值相当的位置上的密码候补字符,进行上述变换前密码字符串的变换。
14.根据权利要求11或12所述的终端装置,其特征在于,
上述终端装置还具有终端通信部,该终端通信部向上述认证装置发送由上述密码变换部变换后的变换后密码字符串。
15.根据权利要求11或12所述的终端装置,其特征在于,
上述变换前密码输入部受理密码变换用随机数的生成用的随机数生成用密码字符串,
上述终端随机数生成部对由上述密码输入部受理的随机数生成用密码字符串进行单方向性运算,生成密码变换用随机数。
16.根据权利要求11或12所述的终端装置,其特征在于,
上述终端装置还具有:
输入部,受理输入值;
终端存储部,存储表示将密码候补字符的外观进行变更的规则的外观变化模型和上述密码变换用随机数;
终端通信部,从上述认证装置接收认证用随机数,向上述认证装置发送与认证用随机数对应的应答值;
外观设定部,根据由上述终端通信部接收到的认证用随机数、由上述输入部受理的输入值、由上述终端存储部存储的外观变化模型以及存储在上述密码排列存储部中的密码排列,设定密码候补字符的外观;
显示部,显示由上述外观设定部设定的外观的密码候补字符;以及
应答值计算部,根据由上述输入部受理的输入值以及存储在上述终端存储部中的密码变换用随机数,计算出上述应答值。
17.根据权利要求16所述的终端装置,其特征在于,
上述显示部利用m行n列的矩阵来显示密码候补字符,其中,m、n都是任意的自然数,
上述应答值计算部根据由上述输入部受理的输入值、存储在上述终端存储部中的密码变换用随机数以及由上述显示部显示的矩阵的行数和列数,计算出上述应答值。
18.一种集成电路(IC)卡,插入到进行针对用户的认证的终端装置而使用,并与上述终端装置进行数据的交换,其特征在于,具有:
存储部,存储用户的两个以上的密码字符串和密码候补字符的外观;
随机数生成部,生成随机数,并向上述终端装置提供该随机数;以及
认证判断部,根据存储在上述存储部中的各密码字符串和密码候补字符的外观、由上述随机数部生成的随机数以及从上述终端装置取得的上述终端装置受理输入值并根据该输入值计算出的针对上述随机数的应答值,来进行规定的运算,判断用户认证是否成功。
19.一种程序,其特征在于,使与用户利用的终端装置进行通信而进行针对用户的认证的作为计算机的认证装置执行如下处理:
认证随机数生成处理,生成认证用随机数;
认证通信处理,向上述终端装置发送通过上述认证随机数生成处理生成的认证用随机数,从上述终端装置接收上述终端装置受理输入值并根据该输入值计算出的针对上述认证用随机数的应答值;以及
认证判断处理,使用存储在上述认证装置的存储区域中的用户的两个以上的各个密码字符串、通过上述认证生成处理生成的认证用随机数以及通过上述认证通信处理接收到的应答值,来求出由上述终端装置选择的各密码字符串的最初的密码字符的外观,并使用所求出的各密码字符串的最初的密码字符的外观、存储在上述存储区域中的各密码字符串、通过上述认证随机数生成处理生成的认证用随机数以及通过上述认证通信处理接收到的应答值,来进行规定的运算,判断用户认证是否成功。
20.一种程序,其特征在于,使与进行针对用户的认证的认证装置进行通信的、用户利用的作为计算机的终端装置执行如下处理:
变换前密码输入处理,受理用户的变换前密码字符串;
终端随机数生成处理,生成密码变换用随机数;以及
密码变换处理,根据通过上述终端随机数生成处理生成的密码变换用随机数以及存储在上述终端装置的存储区域中的排列有上述认证装置的认证中使用的多个密码候补字符的密码排列,进行通过上述变换前密码输入处理受理的变换前密码字符串的变换。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/066795 WO2009028060A1 (ja) | 2007-08-29 | 2007-08-29 | 認証システム及び認証装置及び端末装置及びicカード及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101779211A true CN101779211A (zh) | 2010-07-14 |
CN101779211B CN101779211B (zh) | 2012-12-12 |
Family
ID=40386804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780100257.2A Expired - Fee Related CN101779211B (zh) | 2007-08-29 | 2007-08-29 | 认证系统、装置及方法、终端装置及其控制方法和ic卡 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP4959038B2 (zh) |
CN (1) | CN101779211B (zh) |
WO (1) | WO2009028060A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279445A (zh) * | 2014-06-09 | 2016-01-27 | 全宏科技股份有限公司 | 数据输入及传输方法与系统 |
CN106658093A (zh) * | 2016-12-27 | 2017-05-10 | 深圳市九洲电器有限公司 | 机顶盒与服务器的交互方法及系统 |
CN107423799A (zh) * | 2017-08-13 | 2017-12-01 | 宁波亿诺维信息技术有限公司 | 一种二维码生成系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2858003B1 (en) | 2012-05-29 | 2018-10-10 | Toyota Jidosha Kabushiki Kaisha | Authentication system and authentication method |
TWI525467B (zh) | 2013-10-31 | 2016-03-11 | 萬國商業機器公司 | 動態提供多因次式密碼/盤問鑑定的方法與電腦系統 |
CN104702580B (zh) * | 2013-12-10 | 2017-12-29 | 北京安讯奔科技有限责任公司 | 多通讯渠道认证授权平台系统和方法 |
CN104010301A (zh) * | 2014-06-13 | 2014-08-27 | 曾宪钊 | 用于无线安全通讯的多元随机变码加密算法 |
CN105357210B (zh) * | 2015-11-23 | 2018-04-13 | 贾如银 | 动态密码的生成方法 |
CN113111318A (zh) * | 2021-03-29 | 2021-07-13 | 盛林妹 | 一种认证方法、实现认证的设备和智能锁 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0818473B2 (ja) * | 1985-07-31 | 1996-02-28 | トッパン・ムーア株式会社 | 機密水準を設定できるicカード |
JPS63208150A (ja) * | 1987-02-24 | 1988-08-29 | Nec Corp | パスワ−ドの管理方式 |
US5282247A (en) * | 1992-11-12 | 1994-01-25 | Maxtor Corporation | Apparatus and method for providing data security in a computer system having removable memory |
JP3694017B1 (ja) * | 2004-06-30 | 2005-09-14 | 三菱電機株式会社 | 認証システム、認証装置、端末装置及びicカード |
CN100492966C (zh) * | 2004-11-26 | 2009-05-27 | 王小矿 | 基于智能卡和动态密码的身份认证系统 |
-
2007
- 2007-08-29 CN CN200780100257.2A patent/CN101779211B/zh not_active Expired - Fee Related
- 2007-08-29 JP JP2009529909A patent/JP4959038B2/ja not_active Expired - Fee Related
- 2007-08-29 WO PCT/JP2007/066795 patent/WO2009028060A1/ja active Application Filing
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279445A (zh) * | 2014-06-09 | 2016-01-27 | 全宏科技股份有限公司 | 数据输入及传输方法与系统 |
CN106658093A (zh) * | 2016-12-27 | 2017-05-10 | 深圳市九洲电器有限公司 | 机顶盒与服务器的交互方法及系统 |
CN106658093B (zh) * | 2016-12-27 | 2019-07-09 | 深圳市九洲电器有限公司 | 机顶盒与服务器的交互方法及系统 |
CN107423799A (zh) * | 2017-08-13 | 2017-12-01 | 宁波亿诺维信息技术有限公司 | 一种二维码生成系统 |
CN107423799B (zh) * | 2017-08-13 | 2020-06-05 | 上海平欣电子科技有限公司 | 一种二维码生成系统 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2009028060A1 (ja) | 2010-11-25 |
WO2009028060A1 (ja) | 2009-03-05 |
CN101779211B (zh) | 2012-12-12 |
JP4959038B2 (ja) | 2012-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101779211B (zh) | 认证系统、装置及方法、终端装置及其控制方法和ic卡 | |
CN102804201B (zh) | 离线双因素用户认证系统、其方法及其程序 | |
EP1454450B1 (en) | System, portable device and method for digital authenticating, crypting and signing by generating short-lived cryptokeys | |
JP3636902B2 (ja) | 電子情報管理システム、icカード、端末装置及び電子情報管理方法並びに電子情報管理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN102158488B (zh) | 动态口令生成方法及装置、认证方法及系统 | |
CN106375326B (zh) | 一种手机双向验证终端及方法 | |
CN103180860B (zh) | 认证系统及方法 | |
CN105593867B (zh) | 用于评估证件的方法 | |
CN103562925B (zh) | 信息处理系统、信息处理方法及信息处理装置 | |
US20180013758A1 (en) | Method and system for dynamic password based user authentication and password management | |
CN107895105A (zh) | 一种密码处理方法、终端设备及计算机可读存储介质 | |
CN101201880A (zh) | 认证装置和认证方法 | |
KR100809817B1 (ko) | Ic 카드 서비스 제공 방법, 카드 단말기, 및 ic 카드 | |
CN108702291A (zh) | 基于生物信息的认证装置及其操作方法 | |
US8984599B2 (en) | Real time password generation apparatus and method | |
US20160283708A1 (en) | Image-based user authentication | |
WO2022099113A1 (en) | Proximity-based exchange between physical currency and digital accounts related to cryptocurrency | |
CN102292731A (zh) | 受密码保护的安全设备 | |
KR20080112674A (ko) | 보안 기능을 가진 휴대용 저장장치를 이용한 서버 및사용자를 인증하는 장치, 시스템, 방법 및 기록매체 | |
KR100869157B1 (ko) | 전자지갑 서비스를 제공하는 장치, 방법 및 기록매체 | |
KR20070065863A (ko) | 범용 사용자 인증 모듈 카드를 이용한 전자지갑 서비스를제공하는 장치,시스템,장치,방법 및 기록매체 | |
JP2007052489A (ja) | 利用者認証方法及び利用者認証プログラム | |
JP4550513B2 (ja) | パスワード生成装置、パスワード生成方法、パスワード生成システム、icカード、認証装置、認証方法及び認証システム | |
WO2006040820A1 (ja) | パスワード生成装置及びicカード及び認証装置 | |
US9058476B2 (en) | Method and image forming apparatus to authenticate user by using smart card |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121212 Termination date: 20160829 |
|
CF01 | Termination of patent right due to non-payment of annual fee |