KR101449971B1 - 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램 - Google Patents

액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램 Download PDF

Info

Publication number
KR101449971B1
KR101449971B1 KR1020080086856A KR20080086856A KR101449971B1 KR 101449971 B1 KR101449971 B1 KR 101449971B1 KR 1020080086856 A KR1020080086856 A KR 1020080086856A KR 20080086856 A KR20080086856 A KR 20080086856A KR 101449971 B1 KR101449971 B1 KR 101449971B1
Authority
KR
South Korea
Prior art keywords
recording
code
data processing
data
access control
Prior art date
Application number
KR1020080086856A
Other languages
English (en)
Other versions
KR20090024093A (ko
Inventor
나오유키 와타나베
모토나리 요코시마
Original Assignee
교라쿠 인더스트리얼 코포레이션, 리미티드
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 교라쿠 인더스트리얼 코포레이션, 리미티드 filed Critical 교라쿠 인더스트리얼 코포레이션, 리미티드
Publication of KR20090024093A publication Critical patent/KR20090024093A/ko
Application granted granted Critical
Publication of KR101449971B1 publication Critical patent/KR101449971B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements

Abstract

본 발명은 데이터 처리 디바이스에 의한 부정한 처리를 방지하는 것이다.
데이터 처리부(210)는 명령 코드 기록부(240)에 기록된 명령 코드를 판독하여(패치), 명령 코드에 따라서 제어부(211)에 의해서 각종의 데이터 처리를 한다. 데이터 제공부(220)는 연산부(221)에 의해서 데이터 처리부(210)에서의 처리에 사용하는 데이터의 생성이나 산출, 취득을 하여, 레지스터(222)에 격납한다. 액세스 제어부(223)는 레지스터(222)에 기록된 데이터로의 액세스를 제어한다. 구체적으로는 액세스 제어부(223)는 데이터 처리부(210)가 실행하는 명령 코드를 감시하여, 미리 정해진 명령 코드가 올바르게 실행된 경우에만, 레지스터(222)에 기록된 데이터로의 액세스를 허가한다.
액세스 제어, 명령 코드, 코드열, 레지스터

Description

액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램{Access control apparatus, access control method and access control program}
본 발명은 소정의 명령 코드에 기초하여 데이터를 처리하는 데이터 처리 수단에 의한 기록 수단으로의 액세스를 제어하는 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램에 관한 것이다.
종래, 회로 기판, 회로 모듈, 전자 기기 장치 등의 데이터 처리 디바이스에 의한 부정한 처리를 방지하기 위한 기술이 제안되어 있다. 데이터 처리 디바이스가 부정한 동작을 하는 원인으로서는 예를 들면, 인위적인 행위에 기인하는 것, 및, 전기적·물리적인 에러에 기인하는 것 등이 있다. 인위적인 행위로서는 예를 들면, 제어 프로그램의 개찬이나 인증 데이터의 개찬 등을 들 수 있다. 또한, 인위적인 행위로서는 예를 들면, 데이터 처리 디바이스 내의 칩(LSI 등의 반도체 장치)을 부정한 칩으로 교환하거나, 데이터 처리 디바이스 내에 부정한 칩을 추가하는 등의 행위를 들 수 있다. 이들은 주로 부정의 의도를 갖는 사람이, 자기의 이익에 준한 처리를 데이터 처리 디바이스에 행하게 하기 위해서 하는 것이다.
또한, 전기적·물리적인 에러로서는 예를 들면, 명령 코드의 판독(패치)시에, 비트 에러 등에 의해서, 칩이 행하는 처리의 명령 코드의 코드열이 변화하여 버리는 경우 등을 들 수 있다. 이 경우, 에러에 의해서 데이터 처리 디바이스의 처리가 정지하거나, 데이터 처리 디바이스의 처리가 폭주하여, 사용자의 의도하지 않은 처리가 차례차례 행하여질 가능성이 있다.
이러한 부정한 처리를 방지하기 위해서, 예를 들면, 중앙 처리 장치(CPU)가 비교한 결과 인증 코드가 일치하지 않았을 때에 애플리케이션 프로그램의 실행 어드레스를 감시하는 수단 또는 애플리케이션 프로그램의 실행 시간을 감시하는 수단을 작동시키는 동시에 애플리케이션 프로그램을 실행시키고, 프로그램이 영역을 넘었을 때 또는 프로그램 실행 시간이 소정 시간 경과하였을 때에 장치의 작동을 정지시키고, 인증 코드가 비교에 의해 일치하였을 때에 애플리케이션 프로그램을 실행시키도록 구성된 마이크로프로세서가 제안되어 있다(예를 들면, 하기 특허 문헌 1 참조).
또, 예를 들면, 프로그램 카운터의 값을 레지스터로 유지하는 동시에, 메모리상의 보호 영역의 어드레스를 유지하는 테이블, 및 보호 영역으로의 액세스가 허가되어 있는 명령의 어드레스를 유지하는 테이블을 유지하여 두고, 액세스 검출 회로에 의해서, 명령의 해독 결과, 액세스처의 어드레스와 테이블의 어드레스의 비교 결과에 근거하여, 보호 영역으로의 액세스 명령인지의 여부를 판정한다. 그리고, 보호 영역으로의 액세스 명령이 검출된 경우, 비교 회로에 의해서 레지스터 및 테이블의 어드레스를 비교하여, 보호 영역으로의 액세스가 허가되지 않은 에어리어로부터 판독된 명령이라고 판단하였을 때에 금지 신호를 출력하고, 부정한 메모리 액세스를 금지하는 기술이 제안되어 있다(예를 들면, 하기 특허 문헌 2 참조).
[특허 문헌 1] 일본 공개특허공보 제(평)6-327831호
[특허 문헌 2] 일본 공개특허공보 제(평)10-228421호
그러나, 상술한 특허 문헌 1에 관계되는 기술에 의하면, 프로그램의 개찬(또는 의도하지 않은 변경, 이하 동일)은 검지할 수 있지만, 마이크로프로세서 자체를 부정한 제품으로 바꾸어 넣거나, 마이크로프로세서의 외부에 부정한 칩 등이 추가된 것을 검지할 수 없다고 하는 문제점이 있다. 부정한 제품으로의 교체나 부정한 칩의 추가는 데이터 처리 디바이스의 소유자 등이라면 비교적 용이하게 행할 수 있다. 이 때문에, 부정한 칩에 대한 교체나 부정한 칩의 추가를 검지할 수 없으면, 칩에 대한 부정 방지의 실효를 도모할 수 없다고 하는 문제점이 있다.
또, 상술한 특허 문헌 1에 관계되는 기술에 의하면, 프로그램 자체를 개찬하는 것은 아니고, 프로그램에 의해서 판독되는 데이터를 개찬하는 부정을 검지할 수 없다고 하는 문제점이 있다.
또, 특허 문헌 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의 발명에 의하면, 데이터 처리 수단에 의한 기록 수단으로의 액세스가 거부된 경우, 즉, 데이터 처리 수단에 의해서 부정한 액세스가 행하여졌을 가능성이 있는 경우, 그 취지를 사용자 등에게 통지하여, 데이터 처리 수단에 의한 부정한 처리를 방지할 수 있다.
또, 청구항 8의 발명에 관계되는 액세스 제어 방법은 소정의 명령 코드에 기초하여 데이터를 처리하는 데이터 처리 수단에 의한 기록 수단으로의 액세스를 제어하는 액세스 제어 방법으로, 상기 데이터 처리 수단이 실행하는 명령 코드에 관한 정보를 취득하는 취득 공정과, 상기 취득 공정에서 취득된 명령 코드에 관한 정보에 기초하여, 상기 데이터 처리 수단에 의한 상기 기록 수단으로의 액세스를 제어하는 제어 공정을 포함한 것을 특징으로 한다.
이 청구항 8의 발명에 의하면, 데이터 처리 수단이 실행하는 명령 코드에 기초하여, 데이터 처리 수단에 의한 기록 수단으로의 액세스를 제어할 수 있다. 이것에 의해, 데이터 처리 수단의 부정한 처리에 의해서, 기록 수단에 기록된 데이터가 부정하게 재기록되거나, 데이터가 부정하게 판독되거나 하는 것을 방지할 수 있다. 데이터 처리는 「데이터의 판독」, 「데이터의 연산」, 「데이터의 기록」을 반복함으로써 행하여진다. 청구항 8의 발명은 「데이터의 판독」 및 「데이터의 기록」을 정당한 명령 코드의 실행시에만 행할 수 있도록 제어함으로써, 부정한 처리가 실행되는 것을 방지할 수 있다.
또한, 청구항 9의 발명에 관계되는 액세스 제어 프로그램은 청구항 8에 기재된 액세스 제어 방법을 컴퓨터에 실행시키는 것을 특징으로 한다.
이 청구항 9의 발명에 의하면, 데이터 처리 수단이 실행하는 명령 코드에 기초하여, 데이터 처리 수단에 의한 기록 수단으로의 액세스를 제어할 수 있다. 이것에 의해, 데이터 처리 수단의 부정한 처리에 의해서, 기록 수단에 기록된 데이터가 부정하게 재기록되거나, 데이터가 부정하게 판독되거나 하는 것을 방지할 수 있다. 데이터 처리는 「데이터의 판독」, 「데이터의 연산」, 「데이터의 기록」을 반복함으로써 행하여진다. 청구항 9의 발명은 「데이터의 판독」 및 「데이터의 기록」을 정당한 명령 코드의 실행시에만 할 수 있도록 제어함으로써, 부정한 처리가 실행되는 것을 방지할 수 있다.
본 발명에 관계되는 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램에 의하면, 데이터 처리 디바이스에 의한 부정한 처리를 방지할 수 있다.
이하에 첨부 도면을 참조하여, 본 발명에 관계되는 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램의 적합한 실시형태를 상세하게 설명한다.
(실시형태 1)
(데이터 처리 장치(100)의 하드웨어 구성)
처음에, 실시형태 1에 관계되는 데이터 처리 장치(100)의 하드웨어 구성에 관해서 설명한다. 도 1은 데이터 처리 장치의 하드웨어 구성을 도시하는 블록도이다. 이하의 설명에서는 데이터 처리 장치(100)의 일례로서 퍼스널컴퓨터에 대하여 본 발명을 적용한 예에 관해서 설명한다.
도 1에 있어서, 데이터 처리 장치(100)는 CPU(101)와, ROM(102)과, RAM(103)과, 자기 디스크 드라이브(104)와, 자기 디스크(105)와, 광 디스크 드라이브(106)와, 광 디스크(107)와, 음성 I/F(108; 인터페이스)와, 마이크(109)와, 스피커(110)와, 입력 디바이스(111)와, 영상 I/F(112)와, 디스플레이(113)와, 통신 I/F(114; 인터페이스)와, 외부 접속용 I/F(115)를 구비하고 있다. 또한, 각 구성부(101 내지 115)는 버스(120)에 의해서 각각 접속되어 있다.
우선, CPU(101)는 데이터 처리 장치(100)의 전체의 제어를 담당한다. ROM(102)은 부트 프로그램, 통신 프로그램, 데이터 해석 프로그램 등의 프로그램을 기록하고 있다. 또한, RAM(103)은 CPU(101)의 워크 에어리어로서 사용된다.
자기 디스크 드라이브(104)는 CPU(101)의 제어에 따라서 자기 디스크(105)에 대한 데이터의 판독/기록을 제어한다. 자기 디스크(105)는 자기 디스크 드라이브(104)의 제어로 기록된 데이터를 기록한다. 자기 디스크(105)로서는 예를 들면, HD(하드디스크)나 FD(플랙시블 디스크)를 사용할 수 있다.
광 디스크 드라이브(106)는 CPU(101)의 제어에 따라서 광 디스크(107)에 대한 데이터의 판독/기록을 제어한다. 광 디스크(107)는 광 디스크 드라이브(106)의 제어에 따라서 데이터가 판독되는 착탈이 자유로운 기록 수단이다. 광 디스크(107)는 기록 가능한 기록 수단을 이용할 수도 있다. 또한, 이 착탈 가능한 기록 수단으로서, 광 디스크(107) 외에, MO, 메모리카드 등이어도 좋다.
음성 I/F(108)는 음성 입력용 마이크(109) 및 음성 출력용의 스피커(110)에 접속된다. 마이크(109)에 수음(受音)된 음성은 음성 I/F(108) 내에서 A/D 변환된다. 또, 스피커(110)로부터는 음성이 출력된다. 또한, 입력 디바이스(111)는 문자, 수치, 각종 지시 등의 입력을 위한 복수의 키를 구비한 리모콘, 키보드, 마우스, 터치 패널 등을 들 수 있다.
영상 I/F(112)는 디스플레이(113)와 접속된다. 영상 I/F(112)는 구체적으로는 예를 들면, 디스플레이(113) 전체의 제어를 하는 그래픽 컨트롤러와, 즉시 표시 가능한 화상 정보를 일시적으로 기록하는 VRAM(Video RAM) 등의 버퍼 메모리와, 그래픽 컨트롤러로부터 출력되는 화상 데이터에 기초하여, 디스플레이(113)를 표시 제어하는 제어 IC 등에 의해서 구성된다.
디스플레이(113)에는 아이콘, 커서, 메뉴, 윈도우, 또는 문자나 화상 등의 각종 데이터가 표시된다. 이 디스플레이(113)는 예를 들면, CRT, TFT 액정 디스플레이, 플라스마 디스플레이 등을 채용할 수 있다.
통신 I/F(114)는 네트워크에 접속되어, 네트워크와 CPU(101)의 인터페이스로서 기능한다.
외부 접속용 I/F(115)는 외부의 기기와 접속하기 위한 인터페이스류이다. 외부 접속용 I/F(115)와 외부의 기기의 접속은 케이블 등을 사용하여 유선으로 하여도 좋고, 무선으로 하여도 좋다. 외부 접속용 I/F(115)는 예를 들면, 전용의 접속 케이블의 포트, 무선 통신용 포트 등에 의해서 구성된다.
이어서, 데이터 처리 장치(100)에서의 데이터 처리 유닛(200)의 기능적 구성에 관해서 설명한다. 데이터 처리 유닛(200)은 도 1에 도시한 데이터 처리 장치(100)의 하드웨어 구성 중, 실질적인 데이터 처리를 하는 구성을 기능적으로 도시한 것이다. 도 2는 실시형태 1에 관계되는 데이터 처리 유닛의 기능적 구성을 도시하는 블록도이다. 데이터 처리 유닛(200)은 데이터 처리부(210), 데이터 제공부(220), 데이터 기록부(230), 명령 코드 기록부(240)에 의해서 구성된다. 또, 데이터 처리 유닛(200)의 각 구성은 예를 들면, 동일한 기판상이나 동일한 모듈(반도체 디바이스 등) 내에 구성된다.
데이터 처리부(210)는 예를 들면, CPU(101)이고, 후술하는 명령 코드 기록부(240)에 기록된 명령 코드(더욱 상세하게는 명령 코드의 코드열)를 판독하고(패치), 명령 코드에 따라서 제어부(211)에 의해서 각종의 데이터 처리를 한다. 데이터 처리부(210)는 제어부(211), 연산부(212), 레지스터(213)에 의해서 구성된다. 제어부(211)는 데이터 처리 장치(100)의 각 구성부를 연결하는 버스(120)에 신호를 출력하고, 데이터의 판독을 하고, 데이터 처리 장치(100) 전체의 동작을 제어한다. 연산부(212)는 후술하는 레지스터(213)에 판독된 데이터에 대하여 각종의 연산을 한다. 레지스터(213)는 연산부(212)에 의해서 처리된 데이터를 일시적으로 유지하거나, 후술하는 명령 코드 기록부(240)로부터 판독한 명령 코드나, 이것이 기록되어 있는 어드레스를 유지한다.
데이터 제공부(220)는 예를 들면, 난수 생성기나 연산 회로 등이며, 연산부(221)에 의해서 데이터 처리부(210)에서의 처리에 사용하는 데이터의 생성이나 산출, 취득을 행한다. 데이터 제공부(220)는 연산부(221)에서 생성 또는 산출한 데이터를 기록하는 레지스터(222)를 갖는다. 또한, 레지스터(222)에 기록된 데이터로의 액세스는 액세스 제어부(223)에 의해서 제어된다.
액세스 제어부(223)는 레지스터(222)에 기록된 데이터의 판독(액세스)이나, 레지스터(222)에 대한 데이터의 기록을 제어한다. 구체적으로는 액세스 제어부(223)는 데이터 처리부(210)가 실행하는 명령 코드를 감시하여, 미리 정해진 명령 코드가 올바르게 실행된 경우에만, 레지스터(222)에 기록된 데이터의 판독이나 레지스터(222)에 대한 데이터의 기록을 허가한다.
더욱 상세하게는 액세스 제어부(223)는 예를 들면, 데이터 처리부(210)가 실행하는 명령 중, 레지스터(222)로의 액세스를 수반하는 명령의 명령 코드의 기록원(명령 코드 기록부(240)에서의 어드레스) 및 명령 코드의 코드열을 감시한다. 그리고, 액세스 제어부(223)는 예를 들면, 데이터 처리부(210)가 실행하는 명령이, 미리 허가된 어드레스에 기록된 명령 코드이고, 또한, 미리 허가된 코드열인 경우에, 레지스터(222)에 기록된 데이터로의 액세스나, 레지스터(222)에 대한 데이터의 기록을 허가한다. 또, 액세스 제어부(223)는 어드레스 및 코드열 중, 양쪽을 감시하여도 좋고, 어느 하나만을 감시하여도 좋다. 또한, 허가하는 명령 코드로서 정해져 있는 명령 코드는 단수이어도 좋고 복수이어도 좋다.
데이터 기록부(230)는 ROM(102)이나 자기 디스크(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)는 ROM(102)이나 자기 디스크(105), 광 디스크(107) 등이고, 데이터 처리부(210)가 실행하는 명령의 명령 코드를 기록한다. 데이터 처리부(210)는 명령 코드 기록부(240)에 기록된 명령 코드를 판독하여, 명령 코드에 따라서 각종의 데이터 처리를 한다. 명령 코드 기록부(240)는 도 2에 도시하는 바와 같이, 데이터 처리부(210)와 분리하여 형성되어 있어도 좋고, 데이터 처리부(210)의 내부에 형성되어 있어도 좋다.
여기에서, 도 3을 사용하여 명령 코드 기록부(240)의 구조에 관해서 설명한다. 도 3은 명령 코드 기록부의 구조의 일례를 모식적으로 도시하는 설명도이다. 명령 코드 기록부(240)의 기록 영역(310)에는 소정의 영역마다(예를 들면, 1바이트마다) 어드레스가 할당되어 있다. 도시한 예에서는 기록 영역(310)에 어드레스 0x000 내지 0xNNN이 할당되어 있고, 각 어드레스는 1바이트분의 영역을 도시하고 있다. 예를 들면, 어드레스 Ox100으로 나타내지는 영역에는 명령 코드열 0xABCDEFGH가 격납되어 있다. 또한, 어드레스 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가 기록되어 있다. 이 때, 기록 영역(231)에 기록되는 것은 본래는 데이터 처리부(210)의 레지스터(213)에 일시 격납되어 있는 검증치 V이다(스텝 S404 참조). 그러나, 부정한 명령 코드에 의해서, 기록 영역(231)에 기록한 값을 레지스터(213) 이외의 장소(또는 레지스터(213) 중 검증치 V가 격납되어 있는 영역 이외의 영역)에 기록된 값으로 하는 것이 가능해진다.
또, 예를 들면, 스텝 S403에서는 데이터 제공부(220)의 레지스터(222)로부터 검증치 V가 판독되어 있다. 이 때, 판독하는 값을 레지스터(222) 이외의 장소(또는, 레지스터(222) 중 검증치 V가 격납되어 있는 영역 이외의 영역)에 기록된 값으로 하는 것이 가능해진다. 이 부정은 예를 들면, 부정한 패치 등에 의해서 데이터 처리부(210)의 처리를 분기시킴으로써 가능해진다.
이러한 부정이 행하여지면, 올바른 인증 처리를 할 수 없고, 부정한 기기의 접속이 가능해져 버린다. 이 때문에, 데이터 처리 유닛(200)에서는 데이터 제공부(220)에 액세스 제어부(223)를, 데이터 기록부(230)에 액세스 제어부(232)를 각각 형성하여, 레지스터(222)나 기록 영역(231)에 대한 데이터 처리부(210)로부터의 액세스(기록, 판독)를 제어한다. 이것에 의해, 부정한 명령 코드의 실행에 의해서, 부정한 기기가 인증되어 버리는 것을 방지하고 있다.
(액세스 제어부(223, 232)에 의한 액세스 제어)
도 5는 액세스 제어부에 의한 액세스 제어의 개요를 도시하는 설명도이다. 또, 도 5에서는 설명의 편의상, 데이터 처리 유닛(200)의 구성을 일부 생략하고 있다.
도 5에 도시하는 바와 같이, 예를 들면, 데이터 기록부(230)의 액세스 제어부(232)에서 허가하는 명령 코드는 명령 코드 기록부(240)의 어드레스 0x104에 격납된 코드열 0xJKLMNOPQ(라이트 명령)라고 한다. 이 때, 통상시의 명령 코드 기록부(240)에는 어드레스 0x104에 코드열 0xJKLMNOPQ(라이트 명령)가 기록되어 있다. 데이터 처리부(210)가, 통상의 명령 코드 기록부(240)의 어드레스 0x104에 격납된 리드 명령의 코드열 0xJKLMNOPQ를 판독하여 실행하는 경우(화살 표시 α), 액세스 제어부(232)는 기록 영역(231)에 대한 데이터의 기록을 허가한다.
그런데, 예를 들면, 부정예 1과 같이, 명령 코드 기록부(240)의 어드레스 0x200에, 부정한 명령 코드의 코드열 0xPOIUYTRE(라이트 명령)가 기록된 것으로 한다. 이 경우, 데이터 처리부(210)가, 어드레스 0x200의 코드열 0xPOIUYTRE(라이트 명령)를 판독하여 실행하여도(화살 표시 β), 허가된 어드레스로부터 판독된 명령이 아니기 때문에, 액세스 제어부(232)는 기록 영역(231)으로의 액세스를 허가하지 않는다(라이트 명령을 거부한다).
또한, 예를 들면, 부정예 2와 같이, 명령 코드 기록부(240)의 어드레스 0x080에, 부정한 명령 코드의 코드열 0xLKJHGFDS가 삽입된 것으로 한다. 이 부정한 명령 코드는 예를 들면, 기록 영역(231)에 기록한 값의 변경 명령이다. 하지만, 이 명령이 삽입됨으로써, 허가되어 있는 명령의 격납 장소가 어긋나, 코드열 0xJKLMNOPQ(라이트 명령)의 격납장소가 어드레스 0x108이 되어 버린다.
이 때문에, 데이터 처리부(210)가, 어드레스 0x108의 코드열 0xJKLMNOPQ(라이트 명령)를 판독하여 실행하여도(화살 표시 γ), 허가된 어드레스로부터 판독된 명령이 아니기 때문에, 액세스 제어부(232)는 기록 영역(231)으로의 액세스를 허가하지 않는다(라이트 명령을 거부한다). 이것에 의해, 부정한 코드열 0xLKJHGFDS에 의해서 기록치가 변경되었다고 해도, 그 값이 기록 영역(231)에 기록되지 않아, 부정한 처리를 방지할 수 있다.
또한, 액세스 제어부(223, 232)로부터 레지스터(222) 등으로의 액세스가 거부된 경우, 데이터 처리부(210)는 부정이 행하여졌을 가능성이 있다는 취지를 통지하는 것으로 하여도 좋다. 구체적으로는 예를 들면, 디스플레이(113)에 에러 메시지를 표시하거나, 마이크(109)로부터 에러 메시지를 음성 출력하는 등이다. 또한, 예를 들면, 통신 I/F(114)를 통해서, 데이터 처리 장치(100)의 제조원이나 관리자 등에 에러 메시지를 송신하여도 좋다. 이것에 의해, 데이터 처리 유닛(200)에 부정이 행하여졌을 가능성이 있다는 취지를 사용자 등에게 인식시켜, 조사나 수리 등의 조치를 도모할 수 있다.
도 6은 액세스 제어부에 의한 데이터 인증 처리의 순서를 도시하는 플로차트이다. 여기에서는 도 4의 스텝 S403 내지 S405(검증치 V를 데이터 제공부(220)로부터 판독하여, 데이터 기록부(230)에 기록할 때까지)의 처리에서의, 액세스 제어부(223, 232)의 처리에 관해서 설명한다. 도 6의 플로차트에 있어서, 데이터 제공부(220)의 액세스 제어부(223)는 데이터 처리부(210)가 레지스터(222)에 격납된 데이터(도 4의 스텝 S402에서 생성된 검증치 V)의 리드 명령을 실행할 때까지 대기한다(스텝 S601 : No의 루프).
데이터 처리부(210)가 리드 명령을 실행하면(스텝 S601 : Yes), 액세스 제어부(223)는 데이터 처리부(210)가 실행하는 명령이, 허가하는 리드 명령인지의 여부를 판단한다(스텝 S602). 허가하는 리드 명령인지의 여부는 예를 들면, 리드 명령이 격납되어 있던 어드레스(명령 패치시의 어드레스)가 허가한 어드레스인지의 여부나, 데이터 처리부(210)가 실행하는 명령의 코드열이 허가한 명령의 코드열과 일치하는지의 여부에 의해서 판단한다.
데이터 처리부(210)가 실행하는 명령이 허가하는 리드 명령인 경우(스텝 S602 : Yes), 액세스 제어부(223)는 레지스터(222)에 격납된 데이터(검증치 V)를 데이터 처리부(210)에 출력한다(스텝 S603). 출력된 데이터는 데이터 처리부(210)의 레지스터(213)에 일시 격납된다.
한편, 데이터 처리부(210)가 실행하는 명령이 허가하는 리드 명령이 아닌 경 우는(스텝 S602 : No), 레지스터(222)에 격납된 데이터(검증치 V)를 데이터 처리부(210)에 출력하지 않고, 스텝 S604로 이행한다. 이 때, 데이터 처리부(210)의 레지스터(213)에는 데이터 제공부(220)로부터의 출력이 없기 때문에, 「0000」 「1111」 등의 정당하지 않은 값이 격납된다. 이 정당하지 않은 값을 소정의 값으로 하여 두고, 그 값이 레지스터(213)에 격납된 경우는 부정이 행하여졌을 가능성이 있다는 취지를 통지하는 것으로 하여도 좋다. 여기에서, 소정의 값은 복수 종류의 고정치군이나, 미리 변동 규칙을 정하여 둔 변동치 등이다.
또, 부정이 행하여졌을 가능성이 있다는 취지의 통지는 예를 들면, 데이터 처리 장치(100)의 디스플레이(113)에 소정의 메시지나 마크 등을 표시시키거나, 마이크(109)로부터 소정의 음성 메시지나 효과음을 출력하는 등이다. 또한, 예를 들면, 통신 I/F(114)나 외부 접속용 I/F(115)를 통해서, 다른 기기에 소정의 메시지를 송신(출력)하거나, 상기와 같은 메시지 표시나 음성 출력을 다른 기기에 행하기 하기 위한 제어신호를 출력하는 것으로 하여도 좋다.
계속해서, 데이터 기록부(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에는 코드열 0xABCDEFGH(리드 명령)가 기록되어 있다.
여기에서, 데이터 처리부(210)가 명령 코드를 판독할 때, 명령 코드에 잘못된 데이터(「1」이 「0」이 되는 등)가 발생하는 경우가 있다. 이 결과, 데이터 처리부(210)가 어드레스 0x100으로부터 판독한 코드열 0xABCDEFGH(리드 명령)가, 예를 들면, 코드열 0xABCDEFGI(라이트 명령)로 교체되어 버리는 경우가 있다(화살 표시 δ). 이 경우, 데이터 처리 장치(100)가 코드열 0xABCDEFGI(라이트 명령)를 실행하면, 데이터 기록부(230)의 데이터가 예기하지 못한 형태로 재기록될 가능성이 있다.
그러나, 액세스 제어부(232)에서는 데이터 처리부(210)가 실행하는 명령 코드를 감시하고 있기 때문에, 라이트 명령으로서 명령 A'가 실행되었다고 해도(화살 표시ε), 그 명령의 패치 어드레스가 0x100이기 때문에, 기록 영역(231)에 대한 기록을 허가하지 않는다. 또, 이 때, 패치 어드레스뿐만 아니라, 데이터 처리부(210)가 실행하는 명령 코드열을 감시하는 것으로 하여도 좋다.
이상 설명한 바와 같이, 데이터 처리 유닛(200)에 의하면, 명령 코드의 판독시에 잘못된 데이터가 생긴 경우에도, 오동작에 의해서 중요한 데이터가 소거되어 버리는 것을 방지할 수 있다. 또한, 상기한 리드 명령에 적용하면, 오작동에 의해 중요한 데이터가 판독되는 것을 방지할 수 있다.
또한, 데이터 처리 유닛(200)에 의하면, 명령 코드의 해독이나 프로그램 카운터치의 판독을 행하지 않고, 비트 패턴의 비교만을 행하기 때문에, 부정 검출 처리의 공정이 복잡해지지 않고, 개발이나 설계의 난이도를 저감할 수 있다. 또, 데이터 처리 유닛(200)에 의하면, 데이터 처리부(210) 내에는 액세스 제어 기능을 탑재하지 않았기 때문에, 기존의 데이터 처리부(210(CPU 등))를 사용한 데이터 처리 디바이스에도 적용할 수 있다. 또, 데이터 처리 유닛(200)에 의하면, 데이터 처리부(210)에 의해서 액세스되는 측의 구성(데이터 기록부(230) 등)을 주체로 하여 시큐리티 강도를 결정할 수 있다.
(실시형태 2)
실시형태 1에서는 액세스 제어부는 명령 코드나 명령 코드의 격납 어드레스를 감시하였다. 이하에 설명하는 실시형태 2에서는 액세스 제어부는 명령 코드나 명령 코드의 격납 어드레스의 감시에 덧붙여, 명령 코드로부터 산출된 체크치를 감시한다. 이것에 의해, 액세스 제어부에 의한 부정 검출의 정밀도를 높일 수 있다. 또, 이하의 설명에 있어서, 실시형태 1과 동일한 구성에 관해서는 동일한 부호를 붙이고, 상세한 설명을 생략한다.
도 8은 실시형태 2에 관계되는 데이터 처리 유닛의 기능적 구성을 도시하는 블록도이다. 실시형태 2에 관계되는 데이터 처리 유닛(800)은 실시형태 1에 관계되는 데이터 처리 유닛(200)과 같이, 도 1에 도시한 데이터 처리 장치(100)의 하드웨어 구성 중, 실질적인 데이터 처리를 하는 구성을 기능적으로 도시한 것이다. 데이터 처리 유닛(800)은 데이터 처리부(210), 데이터 제공부(220), 데이터 기록부(230), 명령 코드 기록부(240), 및 체크치 산출부(810)에 의해서 구성된다. 데이터 처리부(210), 데이터 제공부(220), 데이터 기록부(230)의 각 구성은 실시형태 1에 관계되는 데이터 처리 유닛(200)과 같다.
체크치 산출부(810)는 데이터 처리부(210)가 실행하는 명령 코드의 코드열을 명령 코드 기록부(240)로부터 취득한다. 그리고, 명령 코드 기록부(240)로부터 취득한 코드열로부터, 명령 코드의 정당성을 검사하는 체크치를 산출한다. 체크치 산출부(810)에 의해서 산출된 체크치는 액세스 제어부(223, 232)에 의한 레지스터(222) 및 기록 영역(231)에 대한 데이터의 판독의 제어에 사용된다.
여기에서, 체크치는 예를 들면, 명령 코드 기록부(240)에 기록된 모든(또는 일부) 명령 코드로부터 산출되는 값이다. 체크치 산출부(810)는 예를 들면, 명령 코드 기록부(240)에 기록된 모든 명령 코드에 대하여, 해시함수에 의한 연산이나 패리티 체크(parity check), 순회 용장 검사(Cyclic Redundancy Check : CRC), 체크섬(checksum) 등의, 오류 검출 연산을 하여 체크치를 산출한다. 이와 같이, 체크치은 명령 코드 기록부(240)에 실제로 기록되어 있는 명령 코드로부터 산출된다. 따라서, 체크치를 사용하여 대조를 행함으로써, 명령 코드 기록부(240)에 기록된 명령 코드의 부정한 재기록이나, 명령 코드 기록부(240)의 부정한 교체 등을 검출할 수 있다.
액세스 제어부(223, 232)는 실시형태 1에서 설명한 바와 같이, 데이터 처리부(210)가 실행하는 명령 코드를 감시하여, 미리 정해진 명령 코드가 올바르게 실행되었는지의 여부를 판단한다. 이것에 덧붙여, 실시형태 2에서는 체크치 산출부(810)에 의해서 산출된 체크치가 체크치의 기대치와 같은지의 여부(또는, 소정의 관계에 있는지의 여부)를 판단한다. 이와 같이, 명령 코드 자체의 대조와, 체크치의 대조를 조합함으로써, 더욱 확실히 부정을 검출할 수 있다.
액세스 제어부(223, 232)가 대조에 사용하는 기대치는, 예를 들면, 미리(제조시 등) 액세스 제어부(223, 232)에 기록시켜 둔다. 또한, 액세스 제어부(223, 232)가 대조에 사용하는 기대치를, 다른 구성부로부터 액세스 제어부(223, 232)에 송신하는 것으로 하여도 좋다. 다른 구성부는 예를 들면, 데이터 처리부(210)나 체크치의 기대치를 생성하기 위한 전용의 처리부(이하, 「기대치 산출부」라고 함) 등이다. 데이터 처리부(210)나 기대치 산출부는 미리 기록되어 있는 기대치를 액세스 제어부(223, 232)에 송신하여도 좋고, 대조 처리마다 기대치를 생성하여도 좋다. 또한, 외부 접속용 I/F(115(도 1 참조))를 통해서, 외부의 기기로부터 데이터 처리부(210)나 기대치 산출부에 기대치를 산출하기 위해서 필요한 계수 등을 송신하여도 좋다. 이와 같이, 액세스 제어부(223, 232)에, 미리 체크치용 데이터의 기대치를 기록시키지 않고, 다른 구성부로부터 취득하는 것으로 하면, 명령 코드 기록부(240)의 체크치를 후발적으로 변경하는 것이 가능해진다.
이어서, 체크치 산출부(810)에 의한 체크치 산출 처리에 관해서 설명한다. 도 9는 체크치 산출부에 의한 체크치 산출 처리의 순서를 도시하는 플로차트이다. 도 9의 플로차트에 있어서, 체크치 산출부(810)는 액세스 제어부(223, 232)로부터 체크치의 취득 요구를 수신할 때까지 대기한다(스텝 S901 : No의 루프).
체크치의 취득 요구를 수신하면(스텝 S901 : Yes), 체크치 산출부(810)는 명령 코드 기록부(240)로부터 모든(또는 일부) 명령 코드를 판독하고(스텝 S902), 판독한 값에 대하여 오류 검출용의 연산을 하여 체크치를 산출한다(스텝 S903). 그리고, 체크치 산출부(810)는 스텝 S903에서 행한 연산에 의해서 산출된 값(체크치)을 액세스 제어부(223, 232)에 송신하고(스텝 S904), 본 플로차트에 의한 처리를 종료한다.
또, 도 9의 플로차트에 있어서, 체크치 산출부(810)는 액세스 제어부(223, 232)로부터 체크치의 취득 요구를 수신한 다음 체크치를 산출하는 것으로 하였지만, 이것에 한하지는 않는다. 예를 들면, 미리 정해진 조건이 성립한 경우 등에, 체크치 산출부(810)가 체크치를 생성하여, 액세스 제어부(223, 232)에 체크치를 송신하도록 하여도 좋다.
계속해서, 액세스 제어부(223, 232)에 의한 데이터 인증 처리에 관해서 설명한다. 도 10 및 도 11은 액세스 제어부에 의한 데이터 인증 처리의 순서를 도시하는 플로차트이다. 여기에서는 도 6의 플로차트와 같이, 도 4의 스텝 S403 내지 S405(검증치 V를 데이터 제공부(220)로부터 판독하여, 데이터 기록부(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)는 레지스터(222)에 격납된 데이터(검증치 V)를 데이터 처리부(210)에 출력한다(스텝 S1007). 출력된 데이터는 데이터 처리부(210)의 레지스터(213)에 일시 격납된다. 한편, 체크치가 일치하지 않은 경우(스텝 S1006 : No), 또는, 데이터 처리부(210)가 실행하는 명령이 허가하는 리드 명령이 아닌 경우(스텝 S1002 : No), 액세스 제어부(223)는 레지스터(222)에 격납된 데이터(검증치 V)를 데이터 처리부(210)에 출력하지 않고, 스텝 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(도 10 참조)과 같은 처리에 의해서 행한다.
체크치와 기대치가 일치하고 있는 경우(스텝 S1013 : Yes), 액세스 제어부(232)는 데이터 처리부(210)의 레지스터(213)에 일시 격납되어 있는 데이터를 기록 영역(231)에 기록하고(스텝 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은 명령 코드 기록부의 구조의 일례를 모식적으로 도시하는 설명도이다.
도 4는 데이터 처리부가 행하는 데이터 처리의 일례의 순서를 도시하는 플로차트이다.
도 5는 액세스 제어부에 의한 액세스 제어의 개요를 도시하는 설명도이다.
도 6은 액세스 제어부에 의한 데이터 인증 처리의 순서를 도시하는 플로차트이다.
도 7은 액세스 제어부에 의한 액세스 제어의 다른 예를 도시하는 설명도이다.
도 8은 실시형태 2에 관계되는 데이터 처리 유닛의 기능적 구성을 도시하는 블록도이다.
도 9는 체크치 산출부에 의한 체크치 산출 처리의 순서를 도시하는 플로차트이다.
도 10은 액세스 제어부에 의한 데이터 인증 처리의 순서를 도시하는 플로차트이다.
도 11은 액세스 제어부에 의한 데이터 인증 처리의 순서를 도시하는 플로차트이다.
* 도면의 주요 부분에 대한 부호의 설명 *
200, 800 : 데이터 처리 유닛
210 : 데이터 처리부
211 : 제어부
212 : 연산부
213 : 레지스터
220 : 데이터 제공부
221 : 연산부
222 : 레지스터
223 : 액세스 제어부
230 : 데이터 기록부
231 : 기록 영역
232 : 액세스 제어부
240 : 명령 코드 기록부
810 : 체크치 산출부

Claims (9)

  1. 제 1 기록 수단에 기록된 소정의 명령 코드에 기초하여 데이터를 처리하는 데이터 처리 수단에 의한 제 2 기록 수단으로의 액세스를 제어하는 액세스 제어 장치에 있어서,
    상기 데이터 처리 수단이 실행하는 명령 코드의 코드열과, 상기 코드열의 상기 제 1 기록 수단에서의 기록 위치 정보를 취득하는 실행 코드 취득 수단과,
    상기 제 2 기록 수단으로의 액세스가 미리 허가된 명령 코드의 코드열과, 상기 코드열의 상기 제 1 기록 수단에서의 기록 위치 정보를 취득하는 허가 코드 취득 수단과,
    상기 실행 코드 취득 수단에 의해서 취득된 상기 코드열이 상기 허가 코드 취득 수단에 의해 취득된 상기 코드열과 일치하고, 또한 상기 실행 코드 취득 수단에 의해 취득된 상기 기록 위치 정보가 상기 허가 코드 취득 수단에 의해 취득된 상기 기록 위치 정보와 일치하는 경우, 상기 데이터 처리 수단에 의한 상기 제 2 기록 수단으로의 액세스를 허가하는 제어 수단을 구비하는 것을 특징으로 하는, 액세스 제어 장치.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 제 1 기록 수단에 기록된 명령 코드의 적어도 일부를 사용하여 소정의 연산을 하는 연산 수단을 구비하고,
    상기 취득 수단은 상기 연산 수단에 의해서 산출된 산출치를 취득하고,
    상기 제어 수단은 상기 산출치가 소정의 값인 경우, 상기 기록 수단으로의 액세스를 허가하는 것을 특징으로 하는, 액세스 제어 장치.
  5. 제 1 항에 있어서,
    상기 제 1 기록 수단에 기록된 소정의 고정치를 사용하여 소정의 연산을 하는 연산 수단을 구비하고,
    상기 취득 수단은 상기 연산 수단에 의해서 산출된 산출치를 취득하고,
    상기 제어 수단은 상기 산출치가 소정의 값인 경우, 상기 제 2 기록 수단으로의 액세스를 허가하는 것을 특징으로 하는, 액세스 제어 장치.
  6. 제 1 항에 있어서,
    상기 제어 수단은 상기 제 2 기록 수단 중 특정 어드레스 공간으로의 액세스를 제어하는 것을 특징으로 하는, 액세스 제어 장치.
  7. 제 1 항에 있어서,
    상기 제어 수단에 의한 상기 제 2 기록 수단으로의 액세스의 제어 상황을 통지하는 통지 수단을 구비하는 것을 특징으로 하는, 액세스 제어 장치.
  8. 제 1 기록 수단에 기록된 소정의 명령 코드에 기초하여 데이터를 처리하는 데이터 처리 수단에 의한 제 2 기록 수단으로의 액세스를 제어하는 액세스 제어 방법에 있어서,
    상기 데이터 처리 수단이 실행하는 명령 코드의 코드열과, 상기 코드열의 상기 제 1 기록 수단에서의 기록 위치 정보를 취득하는 실행 코드 취득 공정과,
    상기 제 2 기록 수단으로의 액세스가 미리 허가된 명령 코드의 코드열과, 상기 코드열의 상기 제 1 기록 수단에서의 기록 위치 정보를 취득하는 허가 코드 취득 공정과,
    상기 실행 코드 취득 공정에서 취득된 상기 코드열이 상기 허가 코드 취득 수단에 의해 취득된 상기 코드열과 일치하고, 또한 상기 실행 코드 취득 수단에 의해 취득된 상기 기록 위치 정보가 상기 허가 코드 취득 수단에 의해 취득된 상기 기록 위치 정보와 일치하는 경우, 명령 코드에 관한 정보에 기초하여, 상기 데이터 처리 수단에 의한 상기 제 2 기록 수단으로의 액세스를 허가하는 제어 공정을 포함하는 것을 특징으로 하는, 액세스 제어 방법.
  9. 제 8 항에 기재된 액세스 제어 방법을 컴퓨터에 실행시키는 것을 특징으로 하는 액세스 제어 프로그램이 기록된 컴퓨터 판독가능한 기록 매체.
KR1020080086856A 2007-09-03 2008-09-03 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램 KR101449971B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2007-00228149 2007-09-03
JP2007228149A JP4562759B2 (ja) 2007-09-03 2007-09-03 アクセス制御装置、アクセス制御方法およびアクセス制御プログラム

Publications (2)

Publication Number Publication Date
KR20090024093A KR20090024093A (ko) 2009-03-06
KR101449971B1 true KR101449971B1 (ko) 2014-10-14

Family

ID=40462766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080086856A KR101449971B1 (ko) 2007-09-03 2008-09-03 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램

Country Status (4)

Country Link
JP (1) JP4562759B2 (ko)
KR (1) KR101449971B1 (ko)
CN (1) CN101382920B (ko)
TW (1) TWI450093B (ko)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4976452B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005080A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4933590B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005099A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005072A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005125A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005122A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005110A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4933587B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4976461B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4976456B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005124A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4933589B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005069A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005100A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976453B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005112A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005075A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976455B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005068A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005073A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976459B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4933588B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005079A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005108A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976460B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005071A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005105A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4933592B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4976451B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005076A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005144A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005121A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP5315511B2 (ja) * 2009-06-29 2013-10-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP5156985B2 (ja) * 2009-06-29 2013-03-06 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4976450B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4981852B2 (ja) * 2009-06-29 2012-07-25 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4981851B2 (ja) * 2009-06-29 2012-07-25 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005143A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005101A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005116A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005113A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005114A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4933586B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005104A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976457B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4933591B2 (ja) * 2009-06-29 2012-05-16 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005070A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP5150938B2 (ja) * 2009-06-29 2013-02-27 京楽産業.株式会社 遊技機、認証方法、プログラム
JP5238999B2 (ja) * 2009-06-29 2013-07-17 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005120A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976458B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005142A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005139A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005118A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976454B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP4976448B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005078A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005140A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP4976449B2 (ja) * 2009-06-29 2012-07-18 京楽産業.株式会社 遊技機、認証方法、プログラム
JP2011005106A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005141A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP2011005077A (ja) * 2009-06-29 2011-01-13 Kyoraku Sangyo Kk 遊技機、認証方法、プログラム
JP6150943B2 (ja) * 2014-05-14 2017-06-21 三菱電機株式会社 制御装置
CN113204371B (zh) * 2021-05-28 2023-09-19 金蝶软件(中国)有限公司 一种访问控制方法、相关装置及存储介质
CN114609985B (zh) * 2022-03-11 2024-01-26 傲普(上海)新能源有限公司 一种ems系统的控制方法、装置、介质及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228421A (ja) * 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路
JPH11219304A (ja) * 1998-01-30 1999-08-10 Gazo Giken:Kk コンピュータ作動状況監視装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1012297B (zh) * 1985-11-13 1991-04-03 奥尔凯托N·V公司 具有内部单元控制和处理的阵列结构
JPH05265866A (ja) * 1992-03-19 1993-10-15 Csk Corp 外部romのセキュリティシステム
US20020094111A1 (en) * 2000-05-19 2002-07-18 Puchek Daniel R. Access control method and apparatus
JP3854572B2 (ja) * 2002-11-27 2006-12-06 株式会社エルイーテック マイクロプロセッサ
JPWO2004084075A1 (ja) * 2003-03-18 2006-06-22 富士通株式会社 情報アクセス制御方法、アクセス制御プログラム及び外部記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228421A (ja) * 1997-02-14 1998-08-25 Nec Ic Microcomput Syst Ltd メモリアクセス制御回路
JPH11219304A (ja) * 1998-01-30 1999-08-10 Gazo Giken:Kk コンピュータ作動状況監視装置

Also Published As

Publication number Publication date
TW200912646A (en) 2009-03-16
JP4562759B2 (ja) 2010-10-13
KR20090024093A (ko) 2009-03-06
JP2009059303A (ja) 2009-03-19
TWI450093B (zh) 2014-08-21
CN101382920A (zh) 2009-03-11
CN101382920B (zh) 2012-10-10

Similar Documents

Publication Publication Date Title
KR101449971B1 (ko) 액세스 제어 장치, 액세스 제어 방법 및 액세스 제어 프로그램
CN101116070B (zh) 使用监控程序将tpm总是锁定为“开”的系统和方法
CN100447776C (zh) 内嵌实时时钟的安全芯片以及校准其实时时钟方法
US7730545B2 (en) Test access control for secure integrated circuits
US8489888B2 (en) Processor apparatus having a security function
WO2017034312A1 (en) Apparatus and method for trusted execution environment based secure payment transactions
JP4093494B2 (ja) 秘密情報へのアクセスを制御するシステムおよびその方法
CN109313690A (zh) 自包含的加密引导策略验证
KR20100016657A (ko) 전자 디바이스에서 simlock 정보를 보호하는 방법 및 장치
JP2009521772A (ja) 組み込みデバイスへの電子的アクセスのための保護ポート
WO1999038078A1 (en) Storage device, encrypting/decrypting device, and method for accessing nonvolatile memory
CN103649964A (zh) 安全寄存执行体系架构
CN106384042B (zh) 一种电子设备以及安全系统
EP2297665A1 (en) Method and apparatus for secure hardware analysis
WO2006018864A1 (ja) 記憶装置および記憶方法
CN112084484B (zh) 一种设备硬件安全检测方法、装置、电子设备及存储介质
CN103838997A (zh) 一种单片机密码验证方法及装置
JP2008160325A (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
CN107992379A (zh) 一种读取数据信息的方法、移动终端及计算机可读介质
CN109891425A (zh) 序列验证
KR20110035862A (ko) 디지탈 콘텐츠 관리 방법 및 시스템
CN115688120A (zh) 安全芯片固件导入方法、安全芯片及计算机可读存储介质
CN107545185A (zh) 安卓移动终端管理权限检测方法、装置、终端及存储介质
CN110601846B (zh) 一种校验虚拟可信根的系统及方法
KR20100041734A (ko) 신뢰성 있는 호스트 디바이스로부터의 시간을 사용하는 메모리 디바이스와, 상기 메모리 디바이스와 사용하기 위한 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee