访问控制装置、访问控制方法及访问控制程序的制作方法

文档序号:6470118阅读:174来源:国知局
专利名称:访问控制装置、访问控制方法及访问控制程序的制作方法
技术领域
本发明涉及一种访问控制装置、访问控制方法及访问控制程序,其 控制对记录装置的访问。上述对记录装置的访问借助于基于特定的指令 码处理数据的数据处理装置来实行。
背景技术
先前,提出有用于防止电路板、电路模组、电子设备装置等数据处 理装置的非法处理的技术。数据处理装置实施非法动作的原因,例如包 括人为的行为引起的非法动作及电性、物理性的错误引起的非法动作等。 人为的行为可列举例如更改控制程序和更改认证数据等。并且,人为的
行为还可列举例如以非法的芯片替换数据处理装置内的芯片(LSI等半导 体装置),以及在数据处理装置内追加非法的芯片等行为。上述情况主要 是指有非法企图的人为了让数据处理装置实施符合自身利益的处理而实 施的情况。
并且,电性、物理性的错误可列举例如在读出(读取)指令码时因 位错等导致芯片所实施处理的指令码的代码串发生变化的情况等。这种 情况下,有可能因错误导致数据处理装置停止处理,或数据处理装置的 处理失控,不断地实施用户不希望的处理。
为了防止上述的非法处理,例如提出有微处理器,其构成为,在由 中央处理器(CPU)进行比较的结果认证码不一致时,运行监视应用程 序的执行地址的装置或者监视应用程序的执行时间的装置,同时执行应 用程序,并在程序超出区域时或者程序执行时间经过特定时间时,停止 装置的运行,而在通过比较认证码一致时执行应用程序(例如参照下述 专利文献l)。
并且,例如以寄存器保存程序计数器的值的同时,对保存存储器上
保护区域的地址的列表及保存允许对保护区域进行访问的指令的地址的 列表进行保存,通过访问检测电路基于指令的解读结果、访问目的地的 地址与列表的地址的比较结果,判定是否是对保护区域的访问指令。并 且,提出有在检测出对保护区域的访问指令时,通过比较电路对寄存器 及列表的地址进行比较,在判断是从不允许对保存区域进行访问的区域 读出的指令时,输出禁止信号,从而禁止非法存储器访问的技术(例如 参照下述专利文献2)。
专利文献1:日本专利文献特开平6-327831号公报 专利文献2:日本专利文献特开平10-228421号公报 然而,虽然可以根据上述专利文献1中的技术检测出程序的更改(或 者无意的更改,以下相同),但是存在无法检测出微处理器本身被替换成 非法的产品,或微处理器的外部追加有非法的芯片等问题。如果是数据 处理装置的所有者等,则可以较轻易地替换成非法产品及追加非法芯片。 因此,存在如果不能够检测出对非法芯片的替换或非法芯片的追加,就 不可能谋求真正防止对芯片的非法操作的问题。
并且,根据上述专利文献l中的技术,存在无法检测出并不是更改 程序本身,而是更改通过程序读写的数据的非法处理的问题。
并且,根据上述专利文献2中的技术,存在由于实施指令码的解读 及程序计数器值的读入,而使对非法处理的检测步骤复杂化,开发及设 计的难度增大的问题。并且,根据专利文献2中的技术,存在由于在CPU 内装载有访问控制功能,而无法应用在使用目前CPU的数据处理装置中 的问题。

发明内容
本发明的目的在于提供一种解决上述现有技术的问题,可防止数据 处理装置的非法处理的访问控制装置、访问控制方法及访问控制程序。
为解决上述课题并达成目的,权力要求1所述的发明的访问控制装 置,是基于特定的指令码控制处理数据的数据处理装置对记录装置的访 问的访问控制装置,该访问控制装置的特征在于,具有获取装置,其
获取有关上述数据处理装置所执行的指令码的信息,控制装置,其基于 有关通过上述获取装置所获取的指令码的信息,控制上述数据处理装置 对上述记录装置的访问。
根据该权利要求1的发明,可基于数据处理装置所执行的指令码, 控制数据处理装置对记录装置的访问。由此,可以防止通过数据处理装 置的非法处理,非法改写记录在记录装置的数据,或非法读出数据。通 过反复"读出数据"、"运算数据"、"写入数据"而实施数据处理。权力要求 1的发明通过控制使"读出数据"及"写入数据"仅在执行合法的指令码时 实施,从而可以防止执行非法处理。
并且,权力要求2所述的发明的访问控制装置,其特征在于,在权 力要求1所述的发明中,上述获取装置获取上述数据处理装置所执行的 指令码的代码串,上述控制装置在上述代码串为特定的代码串时,允许 对上述记录装置的访问。
根据该权利要求2的发明,仅在数据处理装置所执行的指令码为特 定的代码串时,方可访问记录装置。由此,可以防止通过执行被非法改 写的指令码及数据乱码等导致的错误内容的指令码,非法改写记录在记 录装置的数据,或非法读出数据。
并且,权力要求3中发明的访问控制装置,其特征在于,在权力要 求1或2所述的发明中,上述指令码记录在指令码用记录装置,上述获
取装置获取上述数据处理部所执行的指令码的上述指令码用记录装置中 的记录位置信息,上述判断装置在上述指令码的记录位置为特定的位置 时,允许对上述记录装置的访问。
根据该权力要求3的发明,仅在数据处理装置所执行的指令码为记 录在特定位置的指令码时,方可访问记录装置。由此,可以防止通过执 行记录在非法位置的指令码,非法改写记录在记录装置的数据,或非法 读出数据。
并且,权力要求4所述的发明的访问控制装置,其特征在于,在权 力要求1至3中的任一项所述的发明中,上述指令码记录在指令码用记 录装置,且具有运算装置,其采用记录在上述指令码用记录装置的指令
码的至少一部分而实施特定的运算,上述获取装置获取通过上述运算装 置计算的计算值,上述控制装置在上述计算值为特定值时,允许访问上 述记录装置。
根据该权利要求4的发明,可以检测出记录在指令码用记录装置的 指令码被非法改写。
并且,权力要求5所述的发明的访问控制装置,其特征在于,在权 力要求1至3中的任一项所述的发明中,上述指令码记录在指令码用记 录装置,且具有运算装置,其采用记录在上述指令码用记录装置的特定 的固定值而实施特定的运算,上述获取装置获取通过上述运算装置计算 的计算值,上述控制装置在上述计算值为特定值时,允许访问上述记录 装置。
根据该权利要求5的发明,可以检测出指令码用记录装置被替换成 非法的记录装置。
并且,权利要求6所述的发明的访问控制装置,其特征在于,在权 力要求1至5中的任一项所述的发明中,上述控制装置控制对上述记录 装置中特定的地址空间的访问。
根据该权利要求6的发明,可以防止通过控制对记录装置中记录有
机密信息等重要信息的地址空间的访问,非法改写或者非法读出重要的
样自
并且,权力要求7所述的发明的访问控制装置,其特征在于,在权 利要求1至6中的任一项所述的发明中,具有报知装置,其报知上述控 制装置对上述记录装置的访问的控制情况。
根据该权利要求7的发明,在数据处理装置对记录装置的访问被拒 绝时,g卩,在可能通过数据处理装置实施非法访问时,可将其报知给用 户等,防止数据处理装置的非法处理。
并且,权力要求8所述的发明的访问控制方法,它是基于特定的指 令码控制处理数据的数据处理装置对记录装置的访问的访问控制方法, 其特征在于,具有获取步骤,其获取有关上述数据处理装置所执行的 指令码的信息,控制步骤,其基于在上述获取步骤中所获取的有关指令
码的信息,控制上述数据处理装置对上述记录装置的访问。
根据该权利要求8的发明,基于数据处理装置所执行的指令码,可 以控制数据处理装置对记录装置的访问。由此,可以防止通过数据处理 装置的非法处理,非法改写记录在记录装置的数据,或非法读出数据。 通过反复"读出数据"、"运算数据"、"写入数据"而实施数据处理。权力要 求8的发明通过控制使"读出数据"及"写入数据"仅在执行合法的指令码 时实施,可以防止执行非法处理。
并且,权力要求9所述的发明的访问控制程序,其特征在于,使计 算机执行权力要求8所述的访问控制方法。
根据该权利要求9的发明,可基于数据处理装置所执行的指令码, 控制数据处理装置对记录装置的访问。由此,可以防止通过数据处理装 置的非法处理,非法改写记录在记录装置的数据,或非法读出数据。通 过反复"读出数据"、"运算数据"、"写入数据"而实施数据处理。权力要求 9的发明,通过控制使"读出数据"及"写入数据"仅在执行合法指令码时实 施,可以防止执行非法处理。
根据本发明的访问控制装置、访问控制方法及访问控制程序,可防 止数据处理装置的非法处理。
如上所述,本发明的访问控制装置、访问控制方法及访问控制程序, 有用于对记录认证用信息、计费信息及个人信息等记录媒体的访问控制, 特别适用于实施认证处理的认证服务器、实施计费处理的计费服务器及 处理个人信息的企业用终端装置等。


图1是用于说明数据处理装置的硬件构成的方块图。
图2是用于说明第1实施方式的数据处理单元的功能性构成的方块图。
图3是用于模式性地说明指令码记录部的结构之一例的说明图。
图4是用于说明数据处理部实施的数据处理之一例的顺序的流程图。
图5是用于说明访问控制部的访问控制的概要的说明图。
图6是用于说明访问控制部的数据认证处理顺序的流程图。
图7是用于说明访问控制部的访问控制的其他例的说明图。
图8是用于说明第2实施方式的数据处理单元的功能性构成的方块图。
图9是用于说明校验值计算部的校验值计算处理顺序的流程图。 图10是用于说明访问控制部的数据认证处理顺序的流程图。 图11是用于说明访问控制部的数据认证处理顺序的流程图。 标号说明
200、 800数据处理单元,
210数据处理部,
211控制部,
212运算部,
213、 222寄存部,
220数据供给部,
221运算部,
223、 232访问控制部,
230数据记录部,
231记录区域,
240指令码记录部,
810校验值计算部。
具体实施例方式
以下参照附图详细说明本发明的访问控制装置、访问控制方法及访 问控制程序的最佳实施方式。 [第1实施方式]
(数据处理装置100的硬件构成)
首先,说明第1实施方式的数据处理装置100的硬件构成。图1是 用于说明数据处理装置的硬件构成的方块图。在以下说明中,以数据处
理装置ioo为一具体例,说明应用本发明的个人计算机的例子。
在图1中,数据处理装置100具有CPUIOI、 ROM102、 RAM103、
磁盘驱动器104、磁盘105、光盘驱动器106、光盘107、音频I/F (接口)
108、麦克风109、扬声器IIO、输入装置lll、视频I/F112、显示器113、
通信I/F (接口) 114和外部连接用I/F115。并且,各构成部分101 115
分别通过总线120相连接。
首先,CPU101负责控制整个数据处理装置100。 ROM102记录引导
程序、通信程序、数据分析程序等程序。并且,RAM103作为CPU101
的工作区域使用。
磁盘驱动器104根据CPU101的控制,控制磁盘105读取/写入数据。 磁盘105记录在磁盘驱动器104的控制下所写入的数据。磁盘105例如 可使用HD (硬盘)及FD (软盘)。
光盘驱动器106根据CPU101的控制,控制光盘107读取/写入数据。 光盘107是根据光盘驱动器106的控制读出数据的装卸自如的记录装置。 光盘107也可以使用可写入的记录装置。并且,该可装卸的记录装置也 可以是光盘107以外的MO、存储卡等。
音频I/F108与音频输入用麦克风109及音频输出用扬声器110相连 接。麦克风109所接收的声响在音频I/F108内进行A/D转换。并且,从 扬声器110输出声响。并且,输入装置111可列举具有用于输入文字、 数值、各种指示等的复数个键的遥控器、键盘、鼠标、触摸屏等。
视频I/F112与显示器113相连接。视频I/F112,具体地讲,基于例 如控制整个显示器113的图形控制器,暂时性记录可立即显示的图像信 息的VRAM (Video RAM;视频随机存取记忆器)等缓冲存储器和从图 形控制器输出的图像数据,由显示控制显示器113的控制IC等构成。
显示器113中显示图标、光标、菜单、窗口或者文字、图像等各种 数据。该显示器113例如可采用CRT、 TFT液晶显示器及等离子显示器 等。
通信I/F114连接到网络,并具有网络与CPUIOI之间接口的功能。 外部连接用I/F115是用于连接外部设备的接口类。外部连接用I/F115 与外部设备的连接,既可以采用电缆等有线连接,也可以采用无线连接。 外部连接用I/F115例如由专用的连接电缆的端口、无线通信用端口等构 成。
下面,说明数据处理装置100的数据处理单元200的功能性构成。 数据处理单元200在图1所示的数据处理装置100的硬件构成中,功能 性地描述为实施实质性数据处理的构成。图2是用于说明第1实施方式 中数据处理单元的功能性构成的方块图。数据处理单元200由数据处理 部210、数据供给部220、数据记录部230和指令码记录部240构成。另 外,构成数据处理单元200的各个部分例如在同一电路板上或同一模块 (半导体装置等)内构成。
数据处理部210例如是CPU101,读出(读取)记录在后述指令码记 录部240的指令码(更详细地说,是指令码的代码串),并根据指令码通 过控制部211进行各种数据处理。数据处理部210由控制部211、运算部 212及寄存器213构成。控制部211向连接数据处理装置100的各个构成 部分的总线120输出信号,并读写数据,从而控制整个数据处理装置100 的动作。运算部212对于后述的寄存器213所读入的数据进行各种运算。 寄存器213暂时性地保存通过运算部212所处理的数据,并保存从后述 指令码记录部240读出的指令码及记录有这些指令码的地址。
数据供给部220例如是乱数生成器及运算电路等,通过运算部221 生成、计算及获取用于在数据处理部210进行处理的数据。数据供给部 220具有记录在运算部221生成或者计算的数据的寄存器222。并且,通 过访问控制部223控制对记录在寄存器222的数据的访问。
访问控制部223控制对记录在寄存器222的数据的读出(访问)及 向寄存器222的数据的写入。具体地讲,访问控制部223监视数据处理 部210所执行的指令码,并仅在正确地执行事先设定好的指令码时,允 许读出记录在寄存器222的数据及向寄存器222写入数据。
更具体地讲,访问控制部223监视例如在数据处理部210执行的指
令码中伴随对寄存器222的访问的指令的指令码的记录源(在指令码记 录部240的地址)及指令码的代码串。并且,访问控制部223例如在数 据处理部210执行的指令是记录在事先允许的地址内的指令码且是事先 允许的代码串时,允许对记录在寄存器222的数据的访问及向寄存器222 写入数据。另外,访问控制部223既可以同时监视地址及代码串中的两 者,也可以仅监视其中之一。并且,作为允许的指令码而设定的指令码, 既可以是单数,也可以是复数。
数据记录部230是ROM102、磁盘105、光盘107等,记录通过数 据处理部210所处理的数据及从其他设备获取的数据、程序数据等。数 据记录部230由记录区域231及访问控制部232构成。记录区域231保 存记录在数据记录部230的数据。访问控制部232控制对记录在记录区 域231的数据的访问及向记录区域231的数据的写入。具体地讲,访问 控制部232与访问控制部223同样地监视数据处理部210所执行的指令 码。并且,访问控制部232仅在正确地执行事先设定好的指令码时,允 许对记录在记录区域231的数据的访问。
另外,在上述说明中,采用了数据供给部220与数据记录部230分 离的构成,但是也可以使它们构成为一体。并且,在数据供给部220和 数据记录部230分别设置访问控制部223、 232,但是也可以构成为仅在 其中任意一方设置访问控制部。并且,连接数据处理部210的控制部211 与访问控制部223、 232的路径,既可以是物理性地同一的路径,也可以 是双重化的个别路径。
指令码记录部240是ROM102及磁盘105、光盘107等,记录数据 处理部210所执行的指令的指令码。数据处理部210读出记录在指令码 记录部240的指令码,并根据指令码进行各种数据处理。指令码记录部 240如图2所示,既可以与数据处理部210分开设置,也可以设在数据处 理部210的内部。
这里,采用图3说明指令码记录部240的结构。图3是模式性地说 明指令码记录部的结构之一例的说明图。在指令码记录部240的记录区 域310,每个特定的区域(例如每1字节)分别配置有相应的地址。在图
示的例子中,记录区域310配置有地址OxOOO OxNNN,每个地址表示 相当于1字节的区域。例如,在地址0x100中所表示的区域存储有指令 代码串OxABCDEFGH。并且,在地址0x104中所表示的区域存储有指令 代码串0xJKLMNOPQ。数据处理部210读出存储于以指定的地址开始的 区域内的指令码,并按照所读出的指令码实施处理。 (数据处理部210的数据处理之一例)
接着,说明数据处理部210实施的数据处理之一例。图4是用于说 明数据处理部所实施的数据处理之一例的顺序的流程图。数据处理部210 实施各种处理,但是,在这里以对于与数据处理装置100相连接的连接 设备等实施认证处理的情况为例进行说明。
数据处理装置100可连接各种设备及装置,但是也可能非法连接用 户及厂商未认可的设备及装置,发生数据处理装置100的错误运行,或 者存储在数据处理装置100的数据被更改、窃取。为防止上述情况的发 生,数据处理装置100定期地对与数据处理装置100相连接的连接设备 等进行认证处理。
在图4的流程图中,数据处理部210首先从所连接的设备及装置(以 下称为"连接设备")获取认证用数据(步骤S401),并利用所获取的认证 用数据通过数据供给部220生成校验值V (步骤S402)。校验值V是在 认证连接设备时使用的值。数据供给部220在运算部221生成校验值V, 并存储在寄存器222。另外,也可以将在步骤S401中获取的认证用数据 直接作为校验值V。
然后,数据处理部210从数据供给部220的寄存器222读出校验值 V (步骤S403)。数据处理部210将读出的校验值V暂时存储在寄存器 213 (步骤S404)。并且,数据处理部210将校验值V写入数据记录部230 的记录区域231 (步骤S405)。接着,数据处理部210通过数据供给部220 生成期望值P (步骤S406)。期望值P是用于核对校验值V的值。数据 供给部220在运算部221生成期望值P,并存储在寄存器222。
数据处理部210从数据供给部220的寄存器222读出期望值P (步 骤S407),进而,从数据记录部230的记录区域231读出校验值V( S408)。
并且,数据处理部210核对校验值V与期望值P (步骤S409),并判断核 对结果是否正确(步骤S410)。核对结果正确与否,例如根据校验值V 与期望值P之间是否构成特定的关系(例如校验值V-期望值P等)而判断。
当核对结果正确时(步骤S410: Yes),数据处理部210通过认证连 接设备(步骤S411),结束本流程图的处理。另一方面,当核对结果不正 确时(步骤S410: No),数据处理部210不认证连接设备(步骤S412), 结束本流程图的处理。在未认证连接设备的情况下,数据处理部210例 如在数据处理装置100的显示器113上显示错误信息,报知连接有非法 设备,切断与连接设备的连接。
根据上述处理,数据处理部210对与数据处理装置100相连接的连 接设备等实施认证处理。然而,例如存在具有恶意的人(以下称为"恶意 者")更改认证处理以使非法设备被认证的情况。
例如,在步骤S405中,向数据记录部230的记录区域231写入有校 验值V。这时,原来暂时存储在数据处理部210的寄存器213的校验值V (步骤S404)被写入记录区域231。但是,有可能是通过非法的指令码 将记录在寄存器213以外位置(或者,在寄存器213中存储有校验值V 的区域以外的区域)的值写入记录区域231。
并且,例如在步骤S403中,从数据供给部220的寄存器222读出校 验值V。这时,可以将读出的值作为记录在寄存器222以外的位置(或 者,在寄存器222中存储有校验值V的区域以外的区域)的值。这些非 法处理例如可以通过非法的补丁等使数据处理部210分别实施处理而实 现。
如果实施上述非法处理,则不能实施正确的认证处理,从而可能与 非法设备连接。因此,在数据处理单元200中,通过分别在数据供给部 220设置访问控制部223和在数据记录部230设置访问控制部232,控制 数据处理部210对寄存器222及记录区域231的访问(写入、读出)。由 此,防止因执行非法的指令码而认证非法的设备。 (访问控制部223、 232的访问控制)
图5是用于说明访问控制部的访问控制概要的说明图。另外,在图
5中,为便于说明而部分省略了数据处理单元200的构成。
如图5所示,例如在数据记录部230的访问控制部232中允许的指 令码,设为存储在指令码记录部240的地址0x104的代码串 OxJKLMNOPQ (写入指令)。这时,在通常时的指令码记录部240,在地 址0x104记录有代码串OxJKLMNOPQ (写入指令)。数据处理部210,在 读出并执行存储在通常的指令码记录部240的地址0x104的读取指令的 代码串OxJKLMNOPQ时(箭头a),访问控制部232允许向记录区域231 写入数据。
然而,例如非法处理例1所示,假设在指令码记录部240的地址0x200 写入了非法指令码的代码串0xPOIUYTRE (写入指令)。这时,数据处理 部210即使读出并执行地址0x200的代码串0xPOIUYTRE (写入指令)
(箭头卩),但是由于不是从被允许的地址读出的指令,所以访问控制部 232不允许对记录区域231的访问(拒绝写入指令)。
并且,例如非法处理例2所示,假设在指令码记录部240的地址0x080 插入了非法的指令码的代码串OxLKJHGFDS。该非法的指令码例如是更 改写入记录区域231的值的指令。但是,因插入了该指令,导致被允许 指令的存储位置偏离,代码串OxJKLMNOPQ (写入指令)的存储位置变 为地址0x108。
因此,数据处理部210即使读出并执行地址0x108的代码串 OxJKLMNOPQ (写入指令)(箭头y),但是由于不是从被允许的地址读 出的指令,所以访问控制部232不允许对记录区域231的访问(拒绝写 入指令)。由此,即使因非法的代码串OxLKJHGFDS导致写入值的变化, 该值也不会写入记录区域231,而可以防止非法处理。
并且,在访问控制部223、 232对寄存器222等的访问被拒绝的情况 下,数据处理部210也可以报知其有正在进行非法处理的可能性。具体 地讲,例如在显示器113上显示错误信息,或从麦克风109音频输出错 误信息等。并且,例如也可以通过通信I/F114向数据处理装置100的制 造商及管理者等传送错误信息。由此,可以让用户等意识到数据处理单
元200有被非法处理的可能,从而使他们采取调査及修理等措施。
图6是用于说明访问控制部的数据认证处理顺序的流程图。这里, 说明图4中的步骤S403 S405 (从数据供给部220读出校验值V至写入 数据记录部230)的处理中访问控制部223、 232的处理。在图6的流程 图中,数据供给部220的访问控制部223待机至数据处理部210执行存 储在寄存器222的数据(在图4的步骤S402中生成的校验值V)的读取 指令(步骤S60h No的循环)。
如果数据处理部210执行读取指令(步骤S601: Yes),则访问控制 部223判断数据处理部210所执行的指令是否是允许的读取指令(步骤 S602)。是否是允许的读取指令,例如根据存储有读取指令的地址(读取 指令时的地址)是否是允许的地址,或者数据处理部210所执行的指令 的代码串是否与允许的指令的代码串 一致而判断。
在数据处理部210所执行的指令是允许的读取指令时(步骤S602: Yes),访问控制部223将存储在寄存器222的数据(校验值V)输出至 数据处理部210 (步骤S603)。所输出的数据暂时存储在数据处理部210 的寄存器213。
另一方面,在数据处理部210所执行的指令为非允许的读取指令时 (步骤S602: No),不向数据处理部210输出存储在寄存器222的数据 (校验值V),移至步骤S604。这时,在数据处理部210的寄存器213 中,因为没有来自数据供给部220的输出,所以存储"0000"、 "llll"等非 合法值。在将该非合法值设定为特定的值且该值被存储在寄存器213时, 也可以报知其有正在进行非法处理的可能性。这里,所谓特定的值,是 指复数种固定值群及事先设定变动规则的变动值等。
并且,所谓其有正在进行非法处理的可能性的报知,例如是指在数 据处理装置100的显示器113上显示特定的信息及标记等,或者从麦克 风109输出特定的音频信息及效果音等。并且,例如通过通信I/F114及 外部连接用I/F115,也可以向其他设备传送(输出)特定的信息,或者输 出控制信号以使上述的信息显示及音频输出在其他设备上实施。
接着,数据记录部230的访问控制部232待机至数据处理部210执
行存储在寄存器222的数据(校验值V)的写入指令(步骤S604: No的 循环)。如果数据处理部210执行写入指令(步骤S604: Yes),则访问控 制部223判断数据处理部210所执行的指令是否是允许的写入指令(步 骤S605)。判断是否是允许的写入指令,通过与步骤S602的判断相同的
处理进行。
在数据处理部210所执行的指令是允许的写入指令时(步骤S605: Yes),访问控制部232将暂时存储在数据处理部210的寄存器213的数 据写入记录区域231 (步骤S606),并结束本流程图的处理。另一方面, 在数据处理部210所执行的指令为非允许的写入指令时(步骤S605:No), 不向记录区域231写入数据,结束本流程图的处理。这时,数据处理部 210也可以向用户等报知其有正在进行非法处理的可能性。
根据上述的处理,访问控制部223、 232监视数据处理部210所执行 的指令码,并使其无法访问因执行非法指令码而产生的数据。由此,可 以防止因执行非法的指令码而认证非法设备。
例如,存在以晶体管电平解析并复制数据处理单元200的各个装置, 以及正规的指令码记录部240的存储器型号被解析并被替换成写入非法 指令码的相同型号存储器的非法处理的情况。采用通常的非法处理检测 方法,很难检测出上述的非法处理。但是,在数据处理单元200中,由 于是监视指令码的代码串及存储地址,所以可以检测出上述非法处理。
并且,根据数据处理单元200,除可以防止上述人为的非法处理以 外,还可防止因数据乱码等电性原因所导致的数据处理装置100的错误 动作。图7是用于说明访问控制部的访问控制的其他例的说明图。如图7 所示,例如设在数据记录部230的访问控制部232中允许的指令码为存 储在指令码记录部240的地址0x100的读取指令及存储在地址0x104的 写入指令。并且,在指令码记录部240的地址0x100中记录有代码串 OxABCDEFGH (读取指令)。
这里,当数据处理部210读出指令码时,有可能出现在指令码中产 生数据乱码('T,变成"O"等)的情况。其结果,存在数据处理部210从地 址0x100读出的代码串OxABCDEFGH (读取指令),例如被替换成代码
串OxABCDEFGI (写入指令)的情况(箭头S)。这种情况下,如果数据 处理装置IOO执行代码串OxABCDEFGI (写入指令),则数据记录部230 的数据有可能以意想不到的形式被改写。
但是,在访问控制部232中,由于监视数据处理部210执行的指令 码,所以即使作为写入指令执行了指令A'(箭头s),也由于该指令的读 取地址是0x100,所以不允许向记录区域231的写入。并且,这时,不仅 可以监视读取地址,而且还可以监视数据处理部210所执行的指令代码 串。
如上述说明,根据数据处理单元200,即使是在读出指令码时出现 数据乱码的情况,仍可以防止因错误动作而删除重要数据。并且,如果 应用在上述的读取指令上,还可以防止因错误动作而读出重要的数据。
并且,根据数据处理单元200,由于并不实施指令码的解读和程序 计数器值的读入,而仅实施位模式的比较,所以不仅简化了检测非法处 理的步骤,还可以降低开发和设计的难度。并且,根据数据处理单元200, 由于未在数据处理部210内搭载访问控制功能,所以还可以应用于采用 目前数据处理部210 (CPU等)的数据处理装置。进而,根据数据处理 单元200,可以将通过数据处理部210访问的对象的构成(数据记录部 230等)为主体,决定保密强度。
在第1实施方式中,访问控制部监视了指令码及存储指令码的地址。 在以下说明的第2实施方式中,访问控制部不仅监视指令码及存储指令 码的地址,而且还监视从指令码计算的校验值。由此,可以提高访问控 制部的检测非法的精度。另外,在以下说明中,对于与第1实施方式相 同的构成附加相同的标号,省略详细的说明。
图8是用于说明第2实施方式的数据处理单元的功能性构成的方块 图。第2实施方式中的数据处理单元800与第1实施方式中的数据处理 单元200相同,是功能性地说明图1所示的数据处理装置100的硬件构 成中实施实质性数据处理的构成的装置。数据处理单元800由数据处理 部210、数据供给部220、数据记录部230、指令码记录部240及校验值
计算部810构成。数据处理部210、数据供给部220、数据记录部230的 各个构成均与第1实施方式中的数据处理单元200相同。
校验值计算部810从指令码记录部240获取数据处理部210所执行 的指令码的代码串。并且,从由指令码记录部240获取的代码串计算检 査指令码的合法性的校验值。通过校验值计算部810计算的校验值,用 于控制访问控制部223、 232向寄存器222及记录区域231读写数据。
在这里,所谓校验值是指例如从记录在指令码记录部240的全部(或 者一部分)指令码中计算的值。校验值计算部810例如对记录在指令码 记录部240的所有指令码,通过实施依据杂凑函数的运算、奇偶校验、 循环冗余校验(Cyclic Redundancy Check; CRC)、校验和等的错误校验 运算,计算校验值。这样,校验值从实际记录在指令码记录部240的指 令码计算。因此,通过利用校验值进行核对,可以检测出记录在指令码 记录部240的指令码的非法改写及指令码记录部240的非法替换等。
访问控制部223、 232如第1实施方式中的说明,通过监视数据处理 部210所执行的指令码,判断是否正确地执行事先设定的指令码。并且, 在第2实施方式中,判断由校验值计算部810计算的校验值是否等于校 验值的期望值(或者是否处于特定的关系)。这样,通过组合指令码本身 的核对与校验值的核对,可以更准确地检测出非法处理。
访问控制部223、 232用于核对的期望值,例如事先记录在(制造时 等)访问控制部223、 232中。并且,也可以从其它构成部分将访问控制 部223、 232用于核对的期望值传送至访问控制部223、 232。所谓其他构 成部分,例如是指数据处理部210及用于生成校验值的期望值的专用处 理部(以下称为"期望值计算部")等。数据处理部210与期望值计算部, 既可以将事先记录的期望值传送至访问控制部223、 232,也可以在每次 核对处理中生成期望值。并且,也可以通过外部连接用I/F115(参照图O, 从外部设备向数据处理部210及期望值计算部传送计算期望值中必须的 系数等。这样,如果不事先向访问控制部223、 232记录校验值用数据的 期望值而从其他构成部分获取,则可能后发性地更改指令码记录部240 的校验值。
下面,说明校验值计算部810的校验值计算处理。图9是用于说明 校验值计算部的校验值计算处理的顺序的流程图。在图9的流程图中, 校验值计算部810待机至从访问控制部223、 232接收校验值的获取要求 (步骤S901: No的循环)。
如果接收校验值的获取要求(步骤S901: Yes),则校验值计算部810 从指令码记录部240读出全部(或者一部分)指令码(步骤S902),并对 读出的值实施检错用的运算,从而计算校验值(步骤S卯3)。并且,校验 值计算部810将在步骤S903中通过运算计算的值(校验值)传送至访问 控制部223、 232 (步骤S904),从而结束本流程图的处理。
另外,在图9的流程图中,校验值计算部810在从访问控制部223、 232接收校验值的获取要求的基础上计算了校验值,但是并不限于此。例 如,在事先设定的条件成立的情况下,校验值计算部810生成校验值, 也可以使校验值传送至访问控制部223、 232。
接着,说明访问控制部223、 232的数据认证处理。图10及图11是 用于说明访问控制部的数据认证处理顺序的流程图。这里,与图6的流 程图相同,说明图4的步骤S403 S405 (从数据供给部220读出校验值 V至写入数据记录部230)的处理中的访问控制部223、 232的处理。在 图10的流程图中,数据供给部220的访问控制部223待机至数据处理部 210执行存储在寄存器222的数据(在图4的步骤S402中生成的校验值 V)的读取指令(步骤S1001: No的循环)。
如果数据处理部210执行读取指令(步骤S1001: Yes),则访问控 制部223判断数据处理部210所执行的指令是否是允许的读取指令(步 骤S1002)。在数据处理部210执行的指令是允许的读取指令时(步骤 S1002: Yes),访问控制部223对校验值计算部810发送校验值的获取要 求(歩骤S1003),并从校验值计算部810接收校验值(步骤S1004)。这 时,访问控制部223也可以获取被分割成复数个的校验值。这种情况下, 访问控制部223在整合被分割成复数个的校验值后实施后续处理。
接着,访问控制部223获取校验值的期望值(步骤S1005)。访问控 制部223,例如通过读出事先记录的期望值或接收数据处理部210及期望
值计算部生成的期望值,而获取期望值。
并且,访问控制部223判断在步骤S1004中接收的校验值与在步骤 S1005中获取的期望值是否一致(步骤S1006)。另夕卜,访问控制部223 也可以不判断校验值与期望值是否一致,而是判断校验值与期望值是否 处于特定的关系。所谓特定的关系,例如是指对校验值实施的特定运算 的值等于期望值等的关系。
在校验值与期望值一致时(步骤S1006: Yes),访问控制部223向 数据处理部210输出存储在寄存器222的数据(校验值V)(步骤S1007)。 被输出的数据暂时存储在数据处理部210的寄存器213。另一方面,在校 验值不一致时(步骤S1006: No)或者数据处理部210所执行的指令不 是允许的读取指令时(步骤S1002: No),访问控制部223不向数据处理 部210输出存储在寄存器222的数据(校验值V),移至步骤S1008 (参 照图11)。
移至图11的说明,数据记录部230的访问控制部232待机至数据处 理部210执行存储在寄存器222的数据(校验值V)的写入指令(步骤 S1008: No的循环)。如果数据处理部210执行写入指令(步骤S1008: Yes),则访问控制部223判断数据处理部210所执行的指令是否是允许 的写入指令(步骤S1009)。
在数据处理部210所执行的指令是允许的写入指令时(步骤S1009: Yes),访问控制部232对校验值计算部810发送校验值的获取要求(步 骤S1010),并从校验值计算部810接收校验值(步骤S1011)。接着,访 问控制部232获取校验值的期望值(步骤S1012)。
并且,访问控制部223判断在步骤S1011中接收的校验值与在步骤 S1012中获取的期望值是否一致(步骤S1013)。步骤S1010 S1013的处 理,通过与步骤S1003 S1006 (参照图IO)相同的处理而实施。
在校验值与期望值一致时(步骤S1013: Yes),访问控制部232,向 纪录区域231写入暂时存储在数据处理部210的寄存器213的数据(步 骤S1014),从而结束本流程图的处理。另一方面,在校验值与期望值不 一致时(步骤S1013: No)或者数据处理部210所执行的指令并非允许
的写入指令时(步骤S1009: No),不向记录区域231写入数据,而结束 本流程图的处理。这时,数据处理部210也可以报知其可能在进行非法处理。
另外,在上述说明中,设定为从指令码计算校验值,但是也可以采 用例如记录在指令码记录部240的数据(以下称为"校验值用数据")代 替指令码,计算校验值。所谓校验值用数据,例如是指记录在指令码记 录部240的固定数据。另外,校验值用数据,并不限于固定数据,例如 也可以是能够正确地预测变动前后的数据值的起伏数据。所谓能够正确 地预测变动前后的数据值,具体地讲,是指例如变动范围被确定的情况 及变动规则被确定的情况等。
校验值计算部810,读出记录在指令码记录部240的校验值用数据, 并计算校验值。并且,访问控制部223、 232事先记录校验值用数据的期 望值。访问控制部223、 232从校验值用数据的期望值计算校验值,并判 断是否与校验值计算部810计算的校验值一致(或者是否处于特定的关 系)。另外,也可以同时采用从指令码计算的校验值和从校验值用数据计 算的校验值,实施非法处理的检测。
如上述说明,根据第2实施方式,与指令码本身的监视(第1实施 方式) 一起,判断数据处理部210所执行的指令码的校验值是否与通过 校验值计算部810计算的校验值相同(或者是否处于特定的关系)。这样, 通过组合指令码其本身的核对与校验值的核对,可更准确地检测非法处 理。
并且,依据校验值的对非法处理的检测,由于和指令码本身的监视 (第1实施方式) 一起实施,所以即使在校验值的计算中采用处理附加 较少的检错方式(例如奇偶校验等),也可以得到一定的精度。
另外,在上述的说明中,以数据处理装置100为例说明了应用本发 明的个人计算机的情况,但是,本发明也可以应用于例如手机终端、家 庭用游戏机等各种家庭用电子设备、自动售票机及游戏机等各种商业用 电子设备。这种情况下,将上述说明中的数据处理装置100换读成各种
电子设备即可。
并且,在本实施方式中说明的访问控制方法,可以通过以个人计算 机或虚拟计算机等的计算机执行事先准备的程序来实现。该程序被记录
在可以在硬盘、软盘、CD-ROM、 MO、 DVD等计算机读取的记录装置, 并通过由计算机从记录装置中读出而执行。并且,该程序也可以是通过 因特网等网络能够发布的传播媒体。
权利要求
1. 一种访问控制装置,其控制对记录装置的访问,上述对记录装置的访问借助于基于特定的指令码处理数据的数据处理装置来实行,其特征在于,上述访问控制装置具有获取装置,其获取有关上述数据处理装置所执行的指令码的信息;控制装置,其基于有关通过上述获取装置所获取的指令码的信息,控制上述数据处理装置对上述记录装置的访问。
2. 根据权利要求1所述的访问控制装置,其特征在于 上述获取装置获取上述数据处理装置所执行的指令码的代码串; 上述控制装置在上述代码串为特定的代码串时,允许对上述记录装置的访问。
3. 根据权利要求1或2所述的访问控制装置,其特征在于 上述指令码记录在指令码用记录装置;上述获取装置获取上述数据处理装置所执行的指令码的上述指令码 用记录装置中的记录位置信息;上述判断装置在上述指令码的记录位置为特定的位置时,允许对上 述记录装置的访问。
4. 根据权利要求1至3中任一项所述的访问控制装置,其特征在于: 上述指令码记录在指令码用记录装置;并具有运算装置,其采用记录在上述指令码用记录装置的指令码的至少一部分而实施特定的运算;上述获取装置获取通过上述运算装置计算的计算值; 上述控制装置在上述计算值为特定的值时,允许对上述记录装置的访问。
5. 根据权利要求1至3中任一项所述的访问控制装置,其特征在于: 上述指令码记录在指令码用记录装置;并具有运算装置,其采用记录在上述指令码用记录装置的特定的固 定值而实施特定的运算; 上述获取装置获取通过上述运算装置计算的计算值; 上述控制装置在上述计算值为特定的值时,允许对上述记录装置的 访问。
6. 根据权利要求1至5中任一项所述的访问控制装置,其特征在于: 上述控制装置控制对上述记录装置中特定的地址空间的访问。
7. 根据权利要求1至6中任一项所述的访问控制装置,其特征在于具有报知装置,其报知上述控制装置对上述记录装置的访问的控制情况。
8. —种访问控制方法,其控制对记录装置的访问,上述对记录装置 的访问借助于基于特定的指令码处理数据的数据处理装置来实行,其特 征在于该访问控制方法具有获取步骤,其获取有关上述数据处理装置所执行的指令码的信息; 控制步骤,其基于有关在上述获取步骤中获取的指令码的信息,控 制上述数据处理装置对上述记录装置的访问。
9. 一种访问控制程序,其特征在于 使计算机执行权力要求8所述的访问控制方法。
全文摘要
本发明提供一种防止数据处理装置非法处理的访问控制装置、访问控制方法及访问控制程序。数据处理部(210)读出(读取)记录在指令码记录部(240)的指令码,并按照指令码通过控制部(211)进行各种数据处理。数据供给部(220),通过运算部(221)生成、计算和获取用于在数据处理部(210)中进行处理的数据,并存储在寄存器(222)。访问控制部(223)控制对记录在寄存器(222)的数据的访问。具体地讲,访问控制部(223)监视数据处理部(210)所执行的指令码,且仅在正确地执行事先设定的指令码时,才允许对记录在寄存器(222)的数据进行访问。
文档编号G06F12/14GK101382920SQ200810214658
公开日2009年3月11日 申请日期2008年9月1日 优先权日2007年9月3日
发明者横岛元成, 渡边直幸 申请人:京乐产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1