认证设备、认证方法及程序的制作方法

文档序号:7746504阅读:139来源:国知局
专利名称:认证设备、认证方法及程序的制作方法
技术领域
本发明涉及认证设备、认证方法以及程序。
背景技术
近年来,随着网络环境使用的普及,不只是诸如个人计算机(此后称为“PC”)的一 般用途电子设备,而且诸如电视机、记录/复制设备和便携式音频设备的具有特殊功能的 电子设备也变得能够连接到网络。在这种条件下,安全的保证(诸如对用户个人信息的保 护或者检测计算机病毒或恶意软件)对于各种类型的电子设备变得更加重要。因此,希望 各种类型的电子设备执行认证功能,用于检查通信对象的真实性。特别地,希望在电子设备 中扮演重要角色的半导体集成电路(此后称为“IC”)实现认证功能,用于检查从外部输入 的软件或固件(此后称为“程序”)的真实性。在许多情况下,通过使用加密技术来实现这种认证功能。作为使用加密技术的认 证功能,存在用于检查通信对象是否具有有效密钥的认证、用于检查程序等是否有效的数 字签名、信息认证码(MAC)等。根据认证,将随机数传输到所要认证的对象,并且要求该对 象产生密文(ciphertext),并且通过确定从该对象返回的密文的解密结果是否与已经被传 输的随机数相匹配来决定该对象的密钥是否有效。另外,根据数字签名和MAC,基于使用密 钥的数据操作的结果是否与预期值匹配来检查数据篡改、密钥产生器的真实性等。例如, 3749640号日本专利公开了与这种认证功能相关的技术。

发明内容
逻辑上,只要使用这种安全加密算法,未经授权的通信对象不被错误地识别为经 授权的通信对象,或者不执行未经授权的程序。然而,当用于执行认证的程序的实现方法中 存在缺陷时,不具有密钥的攻击者能够冒充经认证的通信对象,或者能够执行未经授权的 程序。例如,考虑到验证和可读性,以这样的方式实现用于执行认证的程序认证通过 /未通过的条件分支部分为“如果条件表达式为真(TRUE)则通过;如果条件表达式为假 (FALSE)则未通过。”因此,当执行程序时,IC中的微处理器(MPU,微处理单元)根据条件表 达式的真或假将标志寄存器的特定位的值设置为1或0。例如,当条件表达式为真时将标志 寄存器的特定位的值设置为1,而当条件表达式为假时将标志寄存器的特定位的值设置为 0o因此,程序读取标志寄存器的特定位的值,并且在1的情况下执行认证通过过程 而在0的情况下执行认证未通过过程。因此,在认证通过的情况下,标志寄存器的特定位的 值总是1。然而,如果以这种方式执行程序,在通过使用聚焦离子束(FIB)将标志寄存器值 的输出线短接到电源或接地(GND),则MPU的标志寄存器的特定位的值将被固定到1。类似 地,诸如通过激光辐射将MPU的标志寄存器的值固定的攻击将会把MPU的标志寄存器的特 定位的值固定到1。结果,攻击者使得MPU执行认证通过的过程。
因此,根据前述内容,希望提供新的并且改进的认证设备、认证方法和程序,其能 够避免认证过程的未经授权的执行,即便MPU等的标志寄存器的特定位的值被固定。根据本发明的一个实施例,提供了一种认证设备,包括寄存器,其中存储第一位 值或与该第一位值不同的第二位值;m(l彡m彡N-l, N彡2)个第一确定处理单元,用于确 定输入信息与对应于该输入信息的认证信息是否匹配,并且如果确定的结果为真则在寄存 器中存储第一位值,而如果确定的结果为假则在寄存器中存储第二位值;(N-m)个第二确 定处理单元,用于确定输入信息与对应于该输入信息的认证信息是否不匹配,并且如果确 定的结果为真则在寄存器中存储第一位值,而如果确定的结果为假则在寄存器中存储第二 位值;以及认证确定单元,用于在由每个第一确定处理单元通过确定过程在寄存器中存储 第一位值并且由每个第二确定处理单元通过确定过程在寄存器中存储第二位值的情况下 确定认证通过。另外,该认证设备可以包括处理电路,在输入用于确定过程的执行命令和与该执 行命令相关的输入数据的情况下,该处理电路用于如果通过使用输入数据执行该执行命 令的结果为真则在寄存器中存储第一位值,而如果结果为假则在寄存器中存储第二位值。 在这种情况下,第一确定处理单元通过向处理电路输入用于针对两个输入数据的匹配确定 过程的执行命令,以及输入作为输入数据的输入信息和对应于该输入信息的认证信息,在 寄存器中存储第一位值或第二位值。此外,第二确定处理单元通过向处理电路输入用于针 对两个输入数据的不匹配确定过程的执行命令,以及输入作为输入数据的输入信息和对应 于该输入信息的认证信息,在寄存器中存储第一位值或第二位值。另外,该认证设备还可以包括存储单元,在该存储单元中存储第一认证信息,其 要用于认证为应用程序建立执行环境的第一程序;以及第二认证信息,其要用于认证该应 用程序。在这种情况下,第一确定处理单元确定作为输入信息从作为执行目标的第一程序 获得的认证信息与存储在存储单元中的第一认证信息是否匹配,并且在寄存器中存储第一 位值或第二位值。另外,第二确定处理单元确定作为输入信息从作为执行目标的第二程序 获得的认证信息与存储在存储单元中的第二认证信息是否不匹配,并且在寄存器中存储第 一位值或第二位值。另外,该认证设备还可以包括存储单元,在该存储单元中存储第一认证信息,其 要用于认证为应用程序建立执行环境的第一程序;以及第二认证信息,其要用于认证该应 用程序。在这种情况下,第二确定处理单元确定作为输入信息从作为执行目标的第一程序 获得的认证信息与存储在存储单元中的第一认证信息是否不匹配,并且在寄存器中存储第 一位值或第二位值。另外,第一确定处理单元确定作为输入信息从作为执行目标的第二程 序获得的认证信息与存储在存储单元中的第二认证信息是否匹配,并且在寄存器中存储第 一位值或第二位值。另外,该认证设备还可以包括存储单元,在该存储单元中存储第一认证信息,其 要用于该认证设备与外部设备之间的认证过程;以及第二认证信息,其要用于经由外部设 备的用户认证。在这种情况下,第一确定处理单元确定从外部设备输入的输入信息与存储 在存储单元中的第一认证信息是否匹配,并且在寄存器中存储第一位值或第二位值。另外, 第二确定处理单元确定由用户经由外部设备输入的输入信息与存储在存储单元中的第二 认证信息是否不匹配,并且在寄存器中存储第一位值或第二位值。
另外,该认证设备还可以包括存储单元,在该存储单元中存储第一认证信息,其 要用于该认证设备与外部设备之间的认证过程;以及第二认证信息,其要用于经由外部设 备的用户认证。在这种情况下,第一确定处理单元确定由用户经由外部设备输入的输入信 息与存储在存储单元中的第二认证信息是否匹配,并且在寄存器中存储第一位值或第二位 值。另外,第二确定处理单元确定从外部设备输入的输入信息与存储在存储单元中的第一 认证信息是否不匹配,并且在寄存器中存储第一位值或第二位值。根据本发明的另一个实施例,提供了一种认证方法,包括以下步骤确定输入信息 与对应于该输入信息的认证信息是否匹配,并执行m次(1彡m彡N-l,N彡2)第一确定处 理步骤如果确定的结果为真,则在要存储第一位值或与该第一位值不同的第二位值的寄 存器中存储第一位值,而如果确定的结果为假,则在寄存器中存储第二位值;确定输入信息 与对应于该输入信息的认证信息是否不匹配,并执行(N-m)次第二确定处理步骤如果确 定的结果为真,则在寄存器中存储第一位值,而如果确定的结果为假,则在寄存器中存储第 二位值;以及,在由每个第一确定处理步骤的确定过程在寄存器中存储第一位值,并且由每 个第二确定处理步骤的确定过程在寄存器中存储第二位值的情况下确定认证通过。根据本发明的另一个实施例,提供了一种程序,用于使得计算机实现步骤确定输 入信息与对应于该输入信息的认证信息是否匹配,并执行m次(1彡m彡N-l,N彡2)第一 确定处理步骤如果确定的结果为真,则在要存储第一位值或与该第一位值不同的第二位 值的寄存器中存储第一位值,而如果确定的结果为假,则在寄存器中存储第二位值;确定输 入信息与对应于该输入信息的认证信息是否不匹配,并执行(N-m)次第二确定处理步骤 如果确定的结果为真,则在寄存器中存储第一位值,而如果确定的结果为假,则在寄存器中 存储第二位值;以及,在由每个第一确定处理步骤的确定过程在寄存器中存储第一位值,并 且由每个第二确定处理步骤的确定过程在寄存器中存储第二位值的情况下确定认证通过。根据本发明的另一个实施例,提供了一种记录介质,在其中记录了该程序,该记录 介质能够被计算机读取。根据本发明的上述实施例,能够避免执行未经授权的认证过程,即便MPU等的寄 存器的特定位的值被固定。


图1是示出根据本发明的一个实施例的认证处理系统的结构示例的说明图;图2是示出根据本实施例的认证方法的示例的说明图;图3是示出根据本实施例的IC卡用户终端的结构示例的说明图;图4是示出根据本实施例的IC卡的结构示例的说明图;图5是示出根据本实施例的IC卡的处理流程的说明图;图6A是示出要由根据本实施例的IC卡执行的操作的部分的说明图;图6B是示出要由根据本实施例的IC卡执行的操作的部分的说明图;图7是示出根据本实施例的IC卡的更具体的处理流程的说明图;图8是用于比较根据本实施例的认证方法和一般认证方法的说明图;图9是示出在使用一般认证方法的情况下可能执行的篡改的示例的说明图;以及图10是示出在使用一般认证方法的情况下可能执行的篡改的示例的说明图。
具体实施例方式下面,将参照附图具体描述本发明的优选实施例。注意,在本说明书和附图中,使 用相同的附图标记表示具有基本相同的功能和结构的结构单元,并省略对这些结构单元的 重复说明。另外,将以以下顺序进行说明。〈说明的流程〉这里,将简述下面将要描述的本发明的实施例的说明流程。首先,参照图1,将描述 根据本发明的一个实施例的认证处理系统的结构示例。接下来,参照图2,将描述根据本实 施例的认证过程的流程。然后,参照图3,将描述根据本实施例的IC卡用户终端10的功能 结构。然后,参照图4,将描述根据本实施例的IC卡20的功能结构。然后,参考图5,将描 述根据本实施例的IC卡20的过程流程。接下来,参照图6A和图6B,将更详细地描述根据本实施例的IC卡20的部分操作。 然后,参照图7,将关于根据本实施例的IC卡20的过程的部分描述更具体的过程流程。然 后,参照图8到图10,将描述根据本实施例的认证方法与一般的认证方法之间的差别,并且 将描述通过应用根据本实施例的认证方法得到的效果。最后,将简要描述本实施例的技术 思路以及由本技术思路得到的效果。(说明项)1 实施例1-1 认证处理系统的结构1-2 认证方法的总体流程1-3 :IC卡用户终端10的功能结构1-4 :IC卡20的功能结构1-5 与一般认证方法的比较2 结论<1:实施例〉将描述本发明的一个实施例。本实施例涉及在半导体集成电路(IC)中运行的用 于执行诸如相互认证和消息认证的各种类型的认证过程的程序的实现方法。另外,本实施 例涉及用于执行认证的程序中的认证通过/未通过判决部分,并且其特点在于该程序被这 样实现,使得用于在条件表达式为真的情况下执行认证通过过程的部分以及用于在条件表 达式为假的情况下执行认证未通过的部分以混合的方式存在。此特点使得能够避免通过诸 如FIB、激光辐射等分析技术对认证结果进行的固定攻击而造成的对认证结果的篡改。另 外,本实施例的技术被应用于实现认证执行程序的情况,该认证执行程序用于执行认证通 过/未通过判决若干次。(1-1 认证处理系统的结构)首先,参照图1,将描述根据本实施例的认证处理系统的结构示例。图1是示出根 据本实施例的认证处理系统的结构示例的说明图。图1中示出的系统结构仅仅是示例,并 且根据本实施例的技术的应用范围不限于此。例如,在本实施例中,为了说明的目的使用利 用非接触IC卡的认证过程作为示例。然而,应该注意,各种配备有IC、接触式IC卡等的电 子设备也在本实施例的技术范围内。
如图1所示,认证处理系统主要由IC卡用户终端10和IC卡20构成。另外,IC卡 20是认证设备的一个示例。IC卡用户终端10是用于读取和写入IC信息的终端,其连接到 PC等或安装在公共交通工具的检票口、零售店、银行柜台等处。IC卡用户终端10主要由输 入设备12、显示设备14、处理器16和读取器/写入器18构成。然而,可以根据实施例的模 式部分地省略这些结构单元。输入设备12是IC卡用户用来输入个人信息、认证信息(PIN,个人识别号)等的 输入装置。另外,显示设备14是用于显示由IC卡用户输入的个人信息或用于提示输入认 证信息的显示装置。处理器16是控制显示设备14显示或读取器/写入器18操作的装置。 另外,处理器16能够保持通过使用输入设备12输入的IC卡用户的个人信息和认证信息或 各种经由读取器/写入器18得到的信息。另外,处理器16是用于执行认证过程中的各种 操作过程的装置。另外,读取器/写入器18是用于通过与IC卡20通信来读取安装在IC卡20上的 IC芯片22中的信息或在IC芯片22中写入信息的装置。另外,读取器/写入器18与IC卡 20之间的通信可以是非接触通信或接触通信。如上所述,IC芯片22被提供在IC卡20内。 另外,在非接触通信的情况下,回路天线被设置在IC卡20内,并且回路天线的一端连接到 IC芯片22。因此,由于由读取器/写入器18导致的磁场改变、通过使用由回路天线导致的 功率调制来实现IC卡20和IC卡用户终端10之间的通信。[29]图1所示的配置仅仅是示例,但是为了说明的目的,下面的说明将根据图1的 系统配置。当然,根据本实施例的技术的应用范围不限于此。(1-2 认证方法的总体流程)下面将参照图2描述本实施例的认证处理系统的认证方法的总体流程。图2是示 出根据本实施例的认证处理系统的认证方法的总体流程的示例性图示。然而,图2所示的 认证方法仅仅是示例,根据本实施例的技术的应用范围不限于此。例如,本实施例可以应用 于任何包括若干次确定过程的认证方法。因此,应该记住图2仅仅是从包括若干次确定过 程的认证方法中选择的示例。首先,用户通过使用输入设备12向IC卡用户终端10输入PIN(S102、S104)。另 外,关于由用户输入的PIN的信息此时被保持在IC卡20中。接下来,IC卡用户终端10产 生随机数请求并将其发送给IC卡20(S106)。该随机数请求用于获取由IC卡20产生的随 机数。当从IC卡用户终端10接收到该随机数请求时,IC卡20产生随机数(r) (S108)。接 下来,IC卡20将所产生的随机数r发送给IC卡用户终端10 (S110)。当从IC卡20接收到该随机数r时,IC卡用户终端10生成随机数(K0) (S112)。然 后,从IC卡20获取的随机数r、在步骤S112中生成的随机数K0和由用户输入的PIN被使用 IC卡20产生的公开密钥PK加密(S114)。由此加密过程生成密文E(PK,(r,K0,PIN))。另 外,当表示为E(A,B)时,E(A,B)指示通过用加密密钥A加密B而得到的密文。另外,E(PK, (r, K0,PIN))指示密文,其中r、K0和PIN分别以某种形式加密,该形式能够被对应于该公 开密钥PK的秘密密钥SK解密。当产生了密文E(PK,(r,K0, PIN))时,IC卡用户终端10将该密文E(PK,(r,K0, PIN))发送到IC卡20(S116)。当从IC卡用户终端10接收到密文E(PK,(r,K0,PIN))时, IC卡20通过使用与公开密钥PK对应的秘密密钥SK来解密r、K0和PIN(S118)。然后,IC卡20检查所解密的PIN与其自己保持的PIN是否不匹配(S120)。此时,在PIN不匹配的情 况下,由IC卡20确定为真。在PIN不匹配的情况下,IC卡20执行错误处理过程并结束该 系列认证过程。在PIN匹配的情况下,IC卡20检查已经在步骤S118中解密的随机数r与IC卡 在步骤S108中自己产生的随机数r是否匹配(S122)。此时,在随机数r匹配的情况下,由 IC卡20确定为真。在该随机数不匹配的情况下,IC卡20执行错误处理过程并结束该系 列认证过程。另一方面,在随机数r匹配的情况下,IC卡20生成随机数(K1)(S124)。接 下来,IC卡20使用已经在步骤S118中解密的随机数K0加密随机数K1 (S126)。由该加密 过程生成密文E(K0,K1)。然后,IC卡20将所生成的密文E(K0,K1)发送到IC卡用户终端 10(S128)。当从IC卡20接收到密文E(K0,K1)时,IC卡用户终端10用在步骤S112中作为 密钥生成的随机数K0来解密包括在密文E(K0,K1)中的随机数K1(S130)。然后,IC卡用户 终端10使用随机数K0和K1生成公共密钥K = K1 xor K0(S132)。“xor”是指异或运算。 以相似的方式,IC卡20使用随机数K0和K1生成公共密钥K = K1 xor K0 (S134)。然后, IC卡用户终端10和IC卡20使用公共密钥K来执行加密通信(S136)。如上所述,图2所示的认证方法包括由IC卡20执行的两个确定过程(步骤S120、 S122)。在本实施例中,步骤S120的确定过程是不匹配检查,而步骤S122的确定过程是匹 配检查。因此,当步骤S120中的确定过程指示“假”并且步骤S122中的确定过程指示“真” 时通过认证。如所述,本实施例的主要技术特点是每个确定过程的确定认证通过/未通过 的真值不同。下面,将以图2所示的过程为例更详细地描述本技术。(1-3 :IC卡用户终端10的功能结构)首先,参照图3,将描述根据本实施例的IC卡用户终端10的功能结构。图3是示 出根据本实施例的ic卡用户终端10的功能结构示例的说明图。另外,图3中示出的功能结 构示例用于执行图2的认证步骤,并且其根据所要执行的认证过程的类型等适当地改变。如图3所示,IC卡用户终端10主要包括输入设备12、显示设备14、通信单元102、 随机数获取单元104、随机数生成单元106、存储单元108、加密单元110、公共密钥生成单元 112和解密单元114。另外,随机数获取单元104、随机数生成单元106、存储单元108、加密 单元110公共密钥生成单元112和解密单元114的功能是由处理器16实现的。另外,通信 单元102的功能是通过读取器/写入器18实现的。首先,当用户使用输入设备12输入PIN时,该PIN被从输入设备12输入到加密单 元110。此时,关于输入的PIN的确认信息可以显示在显示设备14上。另外,从输入设备12 向随机数获取单元104输入指示PIN被输入的通知信息(info)。当接收到该通知信息时, 随机数获取单元104产生随机数请求(请求)并经由通信单元102将其发送到IC卡20。 当根据随机数请求的接收从IC卡20发送随机数r时,随机数r被经由通信单元102输入 到随机数获取单元104。当以这种方式从IC卡20获取到随机数r时,随机数获取单元104将所获取的随 机数r输入到加密单元110。由随机数生成单元106生成的随机数K0也被输入到加密单元 110。随机数生成单元106生成随机数K0,并且除了加密单元110外,还将随机数K0输入到 公共密钥生成单元112和解密单元114。另外,加密单元110获取存储在存储单元108中的公开密钥PK,并用公开密钥PK加密所输入的PIN、r和K0。由此加密过程生成密文E (PK, (r, K0, PIN))。由加密单元110生成的密文E(PK,(r,K0,PIN))被经由通信单元102发送到IC卡 20。由IC卡20在接收到密文E(PK,(r,K0,PIN))时执行针对PIN和随机数r的认证过程, 并且当认证成功时,从IC卡20发送通过使用随机数K0加密随机数K1而得到的密文E(K0, K1)。通过通信单元102接收的密文E(K0,K1)被从通信单元102输入到解密单元114。当 输入密文E(K0,K1)时,解密单元114通过使用从随机数生成单元106输入的随机数K0来 解密包括在密文E(K0,K1)中的随机数K1。然后,由解密单元114解密的随机数K1被输入 到公共密钥生成单元112。当从解密单元114输入随机数K1时,公共密钥生成单元112使用由随机数生成单 元106生成的随机数K0和从解密单元114输入的随机数K1生成公共密钥K = K0 xor Kl。 另外,基于随机数K0和K1生成由公共密钥生成单元112生成的公共密钥K是充分的。因 此,用于生成公共密钥K的算术表达式不一定限于上述异或运算。然而,为了说明的目的, 应该理解由上述算术表达式生成该公共密钥。由公共密钥生成单元112生成的公共密钥K 被输入到解密单元114和加密单元110。加密单元110用公共密钥K加密存储在存储单元108中的传输数据(数据),并 经由通信单元102将该数据发送到IC卡20。另一方面,在从IC卡20发送使用公共密钥K 加密的密文的情况下,经由通信单元102接收的密文被输入到解密单元114。然后,解密单 元114使用公共密钥K对所接收的密文执行解密过程。以此方式实现加密通信。到此,已 经描述了 IC卡用户终端10的功能结构。下面,将具体描述IC卡20的功能结构。(1-4 :IC卡20的功能结构)接下来,参照图4,将描述根据本实施例的IC卡20的功能结构示例。图4是示出 根据本实施例的IC卡20的功能结构示例的说明图。另外,图4中示出的功能结构示例用 于执行图2的认证过程,并且根据所要执行的认证方法的类型等适当地改变。如图4所示,IC卡20主要包括通信单元202、第一随机数生成单元204、存储单元 206、解密单元208、PIN检查单元210、随机数检查单元212、第二随机数生成单元214、加密 单元216和公共密钥生成单元218。在这些结构单元中,主要特点是PIN检查单元210和随 机数检查单元212的功能。另外,上述PIN检查单元210是第二确定处理单元的示例。另 外,上述随机数检查单元212是第一确定处理单元的示例。另外,上述PIN检查单元210和 随机数检查单元212是认证确定单元的示例。首先,当从IC卡用户终端10发送随机数请求(请求)时,IC卡20通过通信单元 202接收该随机数请求。所接收的随机数请求被经由通信单元202输入到第一随机数生成 单元204。第一随机数生成单元204响应于该随机数请求生成随机数r。然后,由第一随机 数生成单元204生成的随机数r被输入到通信单元202,并且被存储在存储单元206中。除 了随机数r,用户的PIN和对应于公开密钥PK的秘密密钥SK被存储在存储单元206中。当随机数r被从第一随机数生成单元204输入到通信单元202时,随机数r被经 由通信单元202发送到IC卡用户终端10。然后,当从已接收到该随机数r的IC卡用户终 端10发送使用公开密钥PK生成的密文E(PK,(r,K0,PIN))时,IC卡20通过通信单元202 接收密文E(PK,(r,K0,PIN))。然后,密文E(PK,(r,K0,PIN))被从通信单元202输入到解密单元208。当输入了密文E(PK,(r,K0, PIN))时,解密单元208从存储单元206读取对应于 该公开密钥PK的秘密密钥SK,使用该秘密密钥SK解密该密文E (PK,(r, K0, PIN)),并得到 r、K0和PIN。然后,解密单元208将得到的r输入到随机数检查单元212,将得到的PIN输 入到PIN检查单元210,并将得到的K0输入到加密单元216。PIN检查单元210检查从解密单元208输入的PIN与从存储单元206读出的PIN 是否不匹配。当检查结果为PIN不匹配(确定操作的输出=“真”)时,PIN检查单元210执 行错误处理过程。另一方面,当PIN匹配(确定操作的输出=“假”)时,PIN检查单元210 通知随机数检查单元212PIN认证的通过(ok)。当通知了 PIN认证的通过时,随机数检查单元212检查从解密单元208输入的r和 从存储单元206读出的r是否匹配。当检查结果为r匹配(确定操作的输出=“真”)时, 随机数检查单元212向第二随机数生成单元214输入指示基于随机数的该认证通过(ok) 的通知。另一方面,当r不匹配(确定操作的输出=“假”)时,随机数检查单元212执行错 误处理过程。当被随机数检查单元212输入指示基于随机数的认证通过的通知时,第二随机数 生成单元214生成随机数K1。由第二随机数生成单元214生成的随机数K1被输入到加密 单元216。当输入了随机数K1时,加密单元216使用从解密单元208输入的K0来加密该随 机数K1。由此加密过程生成密文E(K0,K1)。然后,由加密单元216生成的密文E(K0,K1) 被经由通信单元202发送到IC卡用户终端10。另外,由解密单元208得到的K0和由第二随机数生成单元214生成的随机数K1 被输入到公共密钥生成单元218。公共密钥生成单元218使用所输入的K0和K1生成公共 密钥K = K0 xor K1。另外,基于随机数K0和K1生成由公共密钥生成单元218生成的公共 密钥K是充分的。因此,用于生成公共密钥K的算术表达式不一定限于上述异或运算。然 而,为了说明的目的,会理解由上述算术表达式生成公共密钥。由公共密钥生成单元218生成的公共密钥K被输入到加密单元216,并且被存储在 存储单元206中。加密单元216在加密要通过该加密通信发送的数据时使用公共密钥K。 另外,在解密通过该加密通信接收的密文时,解密单元208使用存储在存储单元206的公共 密钥K来解密该密文。以这种方式实现该加密通信。到此,已经描述了 IC卡20的功能结 构。如上所述,本实施例的IC卡20的特点是PIN检查单元210和随机数检查单元212的 功能。下面,将更为详细地给出针对这些特征的描述。(关于确定过程的操作)首先,参照图5,将针对PIN检查单元210和随机数检查单元212的过程描述IC卡 20的过程流程。图5是示出IC卡20的过程的流程的说明图。首先,IC卡20通过通信单元202接收从IC卡用户终端10发送的随机数请求 (S142)。然后,IC卡20通过第一随机数生成单元204生成随机数r,并经由通信单元202 向IC卡用户终端10发送该随机数r (S144)。然后,IC卡20从IC卡用户终端10接收密文 £(卩1(,(1~,1(0沖1沁),并通过解密单元208将其解密(S146)。通过步骤S146的过程,得到了 r、K0 禾口 PIN。然后,PIN检查单元210检查所得到的PIN和保持在IC卡20中的PIN是否不匹配(S148)。当检查结果为不匹配时,IC卡20执行错误处理过程(S152)。另一方面,当检 查结果不是不匹配时,IC卡20前进到步骤S150的过程。这里应该注意,PIN检查单元210 不确定“其是否匹配”,而是确定“其是否不匹配”。稍后将描述该配置的原因。当过程前进到步骤S150时,由随机数检查单元212检查所得到的r和保持在IC卡 20中的r是否匹配(S150)。当检查结果为不匹配时,IC卡20执行错误处理过程(S152)。 另一方面,当其匹配时,IC卡20前进到步骤S154的过程。这里应该注意,PIN检查单元210 确定“其是否不匹配”,而随机数检查单元212确定“其是否匹配”。当过程前进到步骤S154时,IC卡20通过第二随机数生成单元214生成随机数 K1 (S154)。然后,IC卡20通过加密单元216生成密文E (K0,K1),并经由通信单元202将其 发送到IC卡用户终端10 (S156)。另外,IC卡20通过公共密钥生成单元218生成公共密钥 K = KOxor K1(S158)。将更详细地描述步骤S148和S150的过程。如上所述,步骤S148的过程是针对 PIN的“不匹配检查”的确定过程。另一方面,步骤S150的过程是针对随机数r的“匹配检 查”的确定过程。这些过程实际上通过使用如图6A和图6B所示的安装在IC卡20上的MPU 220执行。因此,MPU 220是处理电路的示例。首先,参照图6A。图6A示意性地示出PIN检查单元210的“不匹配检查”过程。 另外,在图6A中,从IC卡用户终端10获取的PIN被表示为PIN,,而保持在IC卡20中的 PIN被简单表示为PIN。如图6A所示,MPU 220设置有标志寄存器222 (FR)。另外,虽然表 示为“标志寄存器”,在广义上,其含义为指示MPU 220的操作状态的状态寄存器。另外,标 志寄存器是寄存器的一个示例。另外,标志寄存器222在特定位的位置包括零标志(ZF)。该零标志是当操作结果 为1(确定过程中的“真”)时被设置(写入1)的部分。相反地,当操作结果为0(确定过程 中的“假”)时,该零标志被清除(写入0)。如上所述,PIN检查单元210确定PIN和PIN,是否不匹配。换句话说,PIN检查单 元210向MPU 220输入用于使MPU 220确定是否其不匹配的确定过程命令(bne A,B),以 及作为参数的PIN和PIN’,并与存储在标志寄存器222的零标志中的值关联。这里,“bne A, B”是指过程命令,通过该过程命令,在参数A和B不匹配的情况下确定“真”而在它们匹 配的情况下确定“假”。当输入此命令时,MPU 220确定PIN和PIN’是否不匹配,并在确定结果为“真”的 情况下设置标志寄存器222的零标志,而在确定结果为“假”的情况下清除标志寄存器222 的零标志。因此,在要通过PIN认证的情况下,“0”需要被存储在标志寄存器222的零标志中。接下来,参照图6B。图6B示意性地示出随机数检查单元212的“匹配检查”过程。 因此,从IC卡用户终端10获取的r被表示为r’,而保持在IC卡20中的r被简单表示为 r。如上所述,随机数检查单元212确定r和r’是否匹配。换句话说,随机数检查单元212 向MPU 220输入用于使MPU 220确定其是否匹配的确定过程命令(beq A, B),以及作为参 数的r和r’,并与存储在标志寄存器222的零标志中的值关联。这里,“beq A, B”是指过程命令,通过该过程命令,在参数A和B匹配的情况下确 定“真”而在它们不匹配的情况下确定“假”。当向MPU220输入此命令时,MPU 220确定r和r’是否匹配,并在确定结果为“真”的情况下设置标志寄存器222的零标志,而在确定结果 为“假”的情况下清除标志寄存器222的零标志。因此,在要通过基于随机数r的认证的情 况下,“ 1,,需要被存储在标志寄存器222的零标志中。从图6A和图6B明显看出,“匹配检查”和“不匹配检查”的相同之处在于比较两个 参数并确定参数的匹配/不匹配。然而,由于通过MPU 220执行的操作过程不同,即便确定 结果都是“匹配”,零标志的值也将不同。本实施例提出一种通过使用图6A和图6B中示出 的特征来提高安全性的方法,该特征为,对于“相同的确定结果‘匹配(或不匹配)’”,“零标 志的值”彼此不同。根据一般方法,如果标志寄存器222的零标志被固定到“1”,PIN认证 和基于随机数的认证都将被通过。然而,当使用根据本实施例的方法时,PIN认证将被未通 过,并且能够避免篡改。下面将更为详细地描述这一点。(1-5 与一般认证方法的比较)首先,参照图7,下面将针对包括与图5所示的根据本实施例的认证过程中的与 PIN认证和随机数认证相关的步骤S146到S154 (此后称为“步骤160”)描述MPU 220的操 作的流程。然后,将描述在使用一般认证方法(图8)的情况下MPU 220的操作的流程(图 9)。另外,将在比较一般认证方法(图9)和本实施例的方法(图7)的同时描述对固定零 标志的攻击的抵抗性(图10)。(根据本实施例的认证方法的MPU220的操作)首先,将参照图7。图7详细示出图5中示出的关于MPU 220的操作的步骤S148 和S150的过程。如图7所示,当通过步骤S146的过程得到PIN和r时,PIN检查单元210向MPU 220输入命令“bne A,B” PIN和PIN,。MPU 220根据该输入命令确定PIN和PIN’是否不 匹配(S1481)。当确定结果为“真(是),,时,MPU 220在标志寄存器222的零标志中存储 “1,,(S1482)。另一方面,当确定结果为“假(否)”时,MPU 220在标志寄存器222的零标 志中存储“0”(S1483)。接下来,PIN检查单元210检查标志寄存器222的零标志是否为“0” (S1484)。当 零标志不是“0”时,IC卡20执行错误处理过程(S152)。另一方面,当零标志为“0”时,IC 卡20前进到步骤S1501的过程。即便零标志的值被零标志固定攻击固定到“1”,该攻击能 够在步骤S1484中被避免。在过程前往步骤S1501的情况下,随机数检查单元212向MPU 220输入命令“beq A,B”i 和r’。MPU 220根据该输入命令确定r和r’是否匹配(S1501)。当确定结果为“真 (是)”时,MPU 220在标志寄存器222的零标志中存储“1”(S1502)。另一方面,当确定结 果为“假(否)”时,MPU 220在标志寄存器222的零标志中存储“0”(S1503)。接下来,随机数检查单元212检查标志寄存器222的零标志是否为“1” (S1504)。 当零标志不是“1”时,IC卡20执行错误处理过程(S152)。另一方面,当零标志为“1”时, IC卡20前进到步骤S154的过程。即便零标志的值被零标志固定攻击固定到“0”,该攻击 能够在步骤S1504中被避免。(一般认证方法的MPU 220的操作)接下来,参照图8和图9,将描述一般认证方法的MPU 220的操作。图8是示出一 般认证方法的总体流程的说明图。另外,图9是示出认证过程的流程的说明图,其中详细示出了 MPU 220的与PIN认证和随机数认证相关的操作。首先,将参照图8。首先,从IC卡用户终端10接收随机数请求(S12),并且产生随 机数r并将其发送到IC卡用户终端10(S14)。然后,从IC卡用户终端10接收密文E(PK, (r,K0,PIN)),并且得到r和PIN(S16)。然后,检查所得到的PIN和已经保持的PIN是否匹 配(S18)。在检查结果为匹配的情况下,过程前进到步骤S20 ;而在检查结果为不匹配的情 况下,执行错误处理过程(S22)。在前往步骤S20的情况下,检查所得到的r和已经保持的r是否匹配(S20)。在检 查结果为匹配的情况下,过程前进到步骤S24 ;而在检查结果为不匹配的情况下,执行错误 处理过程(S22)。在前进到S24的过程的情况下,生成随机数K1(S24),并且生成密文E(K0, K1)并将其发送到IC卡用户终端10(S26)。另外,生成公共密钥K(S28)。如上所述,在一般认证方法中,步骤S18和步骤S20中执行的确定过程都是“匹配 检查”。将考虑到这一点来参考图9。如图9所示,当通过步骤S16的过程获得了 PIN和r时,向MPU 220输入命令“beq A,B”PIN和PIN,。MPU 220根据所输入的命令确定PIN和PIN’是否匹配(S0181)。当确 定操作的输出为“真(是)”时,MPU 220在标志寄存器222的零标志中存储“1”(S0182)。 另一方面,当确定操作的输出为“假(否)”时,MPU 220在标志寄存器222的零标志中存储 “0” (SO 183)。接下来,检查标志寄存器222的零标志是否为“1” (S0184)。在零标志不是“1”的 情况下,执行错误处理过程(S22)。另一方面,在零标志为“1”的情况下,过程前进到步骤 S0201。如果零标志的值被零标志固定攻击固定到“1”,步骤S0184的确定过程通过,该攻击 没有被避免。当过程前进到步骤S0201时,向MPU 220输入命令“beq A,B,,rfPr,。MPU 220 根据该输入命令确定r和r’是否匹配(S0201)。当确定操作的输出为“真(是)”时,MPU 220在标志寄存器222的零标志中存储“1”(S0202)。另一方面,当确定操作的输出为“假 (否)”时,MPU220在标志寄存器222的零标志中存储“0” (S0203)。接下来,检查标志寄存器222的零标志是否为“1” (S0204)。在零标志不为“1”的 情况下,执行错误处理过程(S22)。另一方面,在零标志为“1”的情况下,过程前进到步骤 S24。如果零标志的值被零标志固定攻击固定到“1”,步骤S0204的确定过程通过,该攻击没 有被避免。也就是,如图10所示,PIN匹配检查(步骤S44)和r匹配检查(步骤S46)被无 效。这里,将参照图10简要描述固定零标志的位值的攻击以及该攻击对采用一般认证方法 的IC卡的影响。如图10所示,怀有恶意的一方首先产生随机数请求并将其发送到IC卡(S30)。IC 卡响应于所接收的随机数请求生成随机数r (S34)。然后,IC卡将所生成的随机数r发送到 该攻击者(S32)。接下来,攻击者生成随机数K0’(S36)。然后,用IC卡的公开密钥PK加密 r,、K0,和PIN,,并生成密文E(PK,(r,,K0,,PIN,)) (S38)。这里,r,与IC卡生成的r不 同。另外,PIN’与保持在IC卡中的PIN不同。另外,r有可能代替r’被使用。然后,攻击者将所生成的密文E(PK,(r,,K0,,PIN,))发送到IC卡(S40)。然而, 在此时,攻击者开始对IC卡进行激光辐射,并将IC卡的MPU 220的标志寄存器222的零标志固定到“1”。密文E(PK,(r,,KO,,PIN,))被IC卡接收并且使用对应于公开密钥PK的秘 密密钥解密r’、K0’和PIN,(S42)。然后,执行PIN匹配检查(S44)和r匹配检查(S46)。然而,由于标志寄存器222的零标志被固定到“1”,虽然PIN Φ PIN’且r乒r’, PIN认证和r认证仍然通过。也就是,步骤S44和S46的认证过程被无效。当步骤S44和 S46的认证通过时,IC卡生成随机数Kl (S48)。然后,IC卡用已经在步骤S42中解密的K0, 来加密K1,并生成密文E(K0’,K1) (S50)。
然后,IC卡将密文E (K0’,Kl)发送到攻击者(S52)。接收到该密文E (K0’,Kl)的 该攻击者使用该攻击者保持的K0’解密该密文E (K0’,K1),并得到K1(S54)。另外,该攻击 者使用所得到的Kl生成公共密钥K = Kl xor KO' (S56)。同样地,IC卡生成公共密钥K = Kl xorKO’。此时该公共密钥变为由该攻击者和IC卡共享,并且因此,通过使用该公共密钥 K建立加密通信S60。结果,该攻击者能够自由地篡改该IC卡上的信息。只要使用一般认证方法,对于使用FIB对标志寄存器值的输出线的短路攻击也是 这种情况。然而,通过应用根据本实施例的认证方法,针对这些攻击输出错误,并且能够避 免允许对IC卡的信息进行篡改的情况。另外,可以假设一种方法,根据该方法,攻击者在PIN认证和r认证之间在激光的 辐射/不辐射之间切换。然而,这种激光辐射控制在技术上是相当困难的。另外,由于没有 加入新电路以获得对上述攻击的抵御,本实施例的技术的应用不导致电路尺度或逻辑复杂 度的增大。因此,能够提高安全性而不增加制造成本和设计负担。到此,已经参考具体示例详细描述了根据本实施例的技术。在以上示例中,本技术 应用的目标是IC卡20。然而,在包括若干次确定过程的认证将要被IC卡用户终端10执行 的情况下,该技术也可以应用到IC卡用户终端10。另外,本技术所应用的目标不限于IC卡 或IC芯片。也就是,其可以应用于任何配备有具有如MPU 220的结构的操作单元的装置, 并且在执行若干次确定过程时,其向MPU 220输入确定操作命令并通过参照输出到标志寄 存器222的特定位的值来执行该确定过程。因此,其可以应用于包括上述装置的PC、移动终 端、移动电话、IC芯片、读取器/写入器以及各种类型的电子设备等。(2:结论)根据本实施例的技术被应用到用于执行若干次认证过程的认证设备。例如,其能 够应用于使用用户个人识别号PIN以及共享使用随机数r的密钥来执行认证的IC卡等。通 过应用此配置,未经授权的用户可以被拒绝,并且使用过去的数据的伪装攻击能够被避免。 然而,如果实际执行要在认证过程时执行的确定过程的MPU的标志寄存器值被固定到“ 1” 或“0”,则会出现困难的情况,即任一认证都以未经授权的方式通过。为了解决这一困难情况,本实施例提出一种方法,其交替地或随机地执行在条件 表达式为“真”的情况下执行认证通过过程的部分以及在条件表达式为“假”的情况下执行 认证通过过程的部分。通过应用这种实施方法,实施这样的过程,根据该过程,在标志寄存 器的值为“0”的情况下通过认证,并且实施这样的过程,根据该过程,在该值为“ 1,,的情况 下通过认证。结果,即便标志寄存器的值被固定,也能够避免攻击者执行未经授权的认证通 过过程。本领域技术人员应该理解,可以根据设计需要和其它因素在所附权利要求或与其 等同的范围内进行各种修改、组合、次组合和改变。
例如,在与上述实施例相关的说明中,为了简化说明主要描述了将本实施例的技术应用于使用外部设备进行的相互认证。然而,根据本实施例的技术能够被应用到在作为 认证设备的例子的IC卡等内执行的各种认证过程。例如,其可以被应用于在IC卡等内执 行的程序认证。提供各种服务的应用程序被加载到IC卡等。另外,在启动时执行的以及用 于为应用程序等通过执行环境的固件被加载到IC卡等。这些固件和应用程序用于读取存储在IC卡等内的各种信息或向IC卡等写入信 息。因此,需要坚决避免对这些固件和应用程序的篡改。在许多情况下,在IC卡等内执行 程序认证以避免固件和应用程序的篡改。然而,当进行例如激光辐射等的篡改攻击时,在IC 卡等内执行的认证过程被无效。因此,将本实施例的技术应用于针对固件和应用程序的认 证过程以增强对篡改的抵御变得很重要。例如,接连执行对作为执行目标的应用程序的认证过程和用来为该应用程序通过 执行环境的固件的认证过程,并且此时使用本实施例的技术。通过使用此方法,能够有效地 避免在程序认证被例如激光辐射的篡改攻击无效时未经授权的应用程序的执行。如所描述 的,根据本实施例的技术不仅对使用外部设备相互执行的认证过程产生巨大的效果,还对 在设备内执行的认证过程产生巨大的效果。本申请包含的主题涉及2009年4月10日在日本专利局提交的日本优先权专利申 请JP 2009-096196,通过引用将其完整内容结合于此。
权利要求
一种认证设备,包括寄存器,其中存储第一位值和与所述第一位值不同的第二位值;m(1≤m≤N-1,N≥2)个第一确定处理单元,用于确定输入信息和对应于该输入信息的认证信息是否匹配,并且如果所述确定的结果为真则在所述寄存器中存储所述第一位值,如果所述确定结果为假则在所述寄存器中存储所述第二位值;(N-m)个第二确定处理单元,用于确定输入信息与对应于该输入信息的认证信息是否不匹配,并且如果所述确定的结果为真则在所述寄存器中存储所述第一位值,如果所述确定的结果为假则在所述寄存器中存储所述第二位值;以及认证确定单元,用于在通过每个第一确定处理单元的确定过程在所述寄存器中存储所述第一位值并且通过每个第二确定处理单元的确定过程在所述寄存器中存储所述第二位值的情况下确定认证通过。
2.根据权利要求1所述的认证设备,包括处理电路,用于在输入用于确定过程的执行命令以及与所述执行命令相关的输入数据 的情况下,如果通过使用所述输入数据执行所述执行命令的结果为真则在所述寄存器中存 储所述第一位值,而如果执行的结果为假则在所述寄存器中存储所述第二位值;其中,所述第一确定处理单元通过向所述处理电路输入用于针对两个输入数据的匹配 确定过程的执行命令,并且作为输入数据输入所述输入信息和对应于所述输入信息的认证 信息,在所述寄存器中存储所述第一位值或所述第二位值,并且其中,所述第二确定处理单元通过向所述处理电路输入针对两个输入数据的用于不匹 配确定过程的执行命令,并且作为输入数据输入所述输入信息和对应于所述输入信息的认 证信息,在所述寄存器中存储所述第一位值或所述第二位值。
3.根据权利要求1所述的认证设备;还包括存储单元,其中存储要用于认证为应用程序建立执行环境的第一程序的第一认证信息 和要用于认证所述应用程序的第二认证信息;其中,所述第一确定处理单元确定作为所述输入信息从作为执行目标的所述第一程序 得到的用于认证的信息与存储在所述存储单元内的所述第一认证信息是否匹配,并且在所 述寄存器中存储所述第一位值或所述第二位值,并且其中,所述第二确定处理单元确定作为所述输入信息从作为执行目标的所述第二程序 得到的用于认证的信息与存储在所述存储单元内的所述第二认证信息是否不匹配,并且在 所述寄存器中存储所述第一位值或所述第二位值。
4.根据权利要求2所述的认证设备,还包括存储单元,其中存储要用于认证为应用程序建立执行环境的第一程序的第一认证信息 和要用于认证所述应用程序的第二认证信息;其中,所述第一确定处理单元确定作为所述输入信息从作为执行目标的所述第一程序 得到的用于认证的信息与存储在所述存储单元内的所述第一认证信息是否匹配,并且在所 述寄存器中存储所述第一位值或所述第二位值,并且其中,所述第二确定处理单元确定作为所述输入信息从作为执行目标的所述第二程序 得到的用于认证的信息与存储在所述存储单元内的所述第二认证信息是否不匹配,并且在 所述寄存器中存储所述第一位值或所述第二位值。
5.根据权利要求1所述的认证设备,还包括存储单元,其中存储要用于认证为应用程序建立执行环境的第一程序的第一认证信息 和要用于认证所述应用程序的第二认证信息;其中,所述第二确定处理单元确定作为所述输入信息从作为执行目标的所述第一程序 得到的用于认证的信息与存储在所述存储单元内的所述第一认证信息是否不匹配,并且在 所述寄存器中存储所述第一位值或所述第二位值,并且其中,所述第一确定处理单元确定作为所述输入信息从作为执行目标的所述第二程序 得到的用于认证的信息与存储在所述存储单元内的所述第二认证信息是否匹配,并且在所 述寄存器中存储所述第一位值或所述第二位值。
6.根据权利要求2所述的认证设备,还包括存储单元,其中存储要用于认证为应用程序建立执行环境的第一程序的第一认证信息 和要用于认证所述应用程序的第二认证信息;其中,所述第二确定处理单元确定作为所述输入信息从作为执行目标的所述第一程序 得到的用于认证的信息与存储在所述存储单元内的所述第一认证信息是否不匹配,并且在 所述寄存器中存储所述第一位值或所述第二位值,并且其中,所述第一确定处理单元确定作为所述输入信息从作为执行目标的所述第二程序 得到的用于认证的信息与存储在所述存储单元内的所述第二认证信息是否匹配,并且在所 述寄存器中存储所述第一位值或所述第二位值。
7.根据权利要求1所述的认证设备,还包括存储单元,其中存储要用于所述认证设备与外部设备之间的认证过程的第一认证信息 和要用于经由所述外部设备的用户认证的第二认证信息;其中,所述第一确定处理单元确定从所述外部设备输入的输入信息与存储在所述存储 单元内的所述第一认证信息是否匹配,并且在所述寄存器中存储所述第一位值或所述第二 位值,并且其中,所述第二确定处理单元确定由用户经由所述外部设备输入的输入信息与存储在 所述存储单元内的所述第二认证信息是否不匹配,并且在所述寄存器中存储所述第一位值 或所述第二位值。
8.根据权利要求2所述的认证设备,还包括存储单元,其中存储要用于所述认证设备与外部设备之间的认证过程的第一认证信息 和要用于经由所述外部设备的用户认证的第二认证信息;其中,所述第一确定处理单元确定从所述外部设备输入的输入信息与存储在所述存储 单元内的所述第一认证信息是否匹配,并且在所述寄存器中存储所述第一位值或所述第二 位值,并且其中,所述第二确定处理单元确定由用户经由所述外部设备输入的输入信息与存储在 所述存储单元内的所述第二认证信息是否不匹配,并且在所述寄存器中存储所述第一位值 或所述第二位值。
9.根据权利要求1所述的认证设备,还包括存储单元,其中存储要用于所述认证设备与外部设备之间的认证过程的第一认证信息 和要用于经由所述外部设备的用户认证的第二认证信息;其中,所述第一确定处理单元确定由用户经由所述外部设备输入的输入信息与存储在 所述存储单元内的所述第二认证信息是否匹配,并且在所述寄存器中存储所述第一位值或 所述第二位值,并且其中,所述第二确定处理单元确定从所述外部设备输入的输入信息与存储在所述存储 单元内的所述第一认证信息是否不匹配,并且在所述寄存器中存储所述第一位值或所述第二位值
10.根据权利要求2所述的认证设备,还包括存储单元,其中存储要用于所述认证设备与外部设备之间的认证过程的第一认证信息 和要用于经由所述外部设备的用户认证的第二认证信息;其中,所述第一确定处理单元确定由用户经由所述外部设备输入的输入信息与存储在 所述存储单元内的所述第二认证信息是否匹配,并且在所述寄存器中存储所述第一位值或 所述第二位值,并且其中,所述第二确定处理单元确定从所述外部设备输入的输入信息与存储在所述存储 单元内的所述第一认证信息是否不匹配,并且在所述寄存器中存储所述第一位值或所述第二位值
11.一种认证方法,包括步骤确定输入信息和对应于该输入信息的认证信息是否匹配,并执行m次(1彡m彡N-1, N^2)第一确定处理步骤如果所述确定的结果为真,则在要存储第一位值或与所述第一 位值不同的第二位值的寄存器中存储所述第一位值,并且如果所述确定的结果为假,则在 所述寄存器中存储所述第二位值;确定输入信息和对应于该输入信息的认证信息是否不匹配,并执行(N-m)次第二确定 处理步骤如果所述确定的结果为真,则在所述寄存器中存储所述第一位值,并且如果所述 确定的结果为假,则在所述寄存器中存储所述第二位值;以及在由每个第一确定处理步骤的确定过程在所述寄存器中存储所述第一位值并且由每 个第二确定处理步骤的确定过程在所述寄存器中存储所述第二位值的情况下确定认证通 过
12.—种程序,其用于使计算机实现步骤确定输入信息和对应于该输入信息的认证信息是否匹配,并执行m次(1彡m彡N-1, N^2)第一确定处理步骤如果所述确定的结果为真,则在要存储第一位值或与所述第一 位值不同的第二位值的寄存器中存储所述第一位值,并且如果所述确定的结果为假,则在 所述寄存器中存储所述第二位值;确定输入信息和对应于该输入信息的认证信息是否不匹配,并执行(N-m)次第二确定 处理步骤如果所述确定的结果为真,则在所述寄存器中存储所述第一位值,并且如果所述 确定的结果为假,则在所述寄存器中存储所述第二位值;以及在由每个第一确定处理步骤的确定过程在所述寄存器中存储所述第一位值并且由每 个第二确定处理步骤的确定过程在所述寄存器中存储所述第二位值的情况下确定认证通 过
全文摘要
一种认证设备、认证方法及其程序背景。提供了一种认证设备,其包括寄存器,其中存储第一位值和与所述第一位值不同的第二位值;m个第一确定处理单元,用于确定输入信息和对应于该输入信息的认证信息是否匹配,并且如果所述确定的结果为真则在所述寄存器中存储所述第一位值、如果所述确定结果为假则在所述寄存器中存储所述第二位值;(N-m)个第二确定处理单元,用于确定输入信息与对应于该输入信息的认证信息是否不匹配,并且如果所述确定的结果为真则在所述寄存器中存储所述第一位值、如果所述确定的结果为假则在所述寄存器中存储所述第二位值;以及认证确定单元,用于在通过每个第一确定处理单元的确定过程在所述寄存器中存储所述第一位值并且通过每个第二确定处理单元的确定过程在所述寄存器中存储所述第二位值的情况下确定认证通过。
文档编号H04L29/06GK101860528SQ201010151369
公开日2010年10月13日 申请日期2010年4月2日 优先权日2009年4月10日
发明者宫户良和, 草川雅文 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1