KR20060135960A - 데이터 처리장치 및 데이터 처리방법 - Google Patents

데이터 처리장치 및 데이터 처리방법 Download PDF

Info

Publication number
KR20060135960A
KR20060135960A KR1020067024405A KR20067024405A KR20060135960A KR 20060135960 A KR20060135960 A KR 20060135960A KR 1020067024405 A KR1020067024405 A KR 1020067024405A KR 20067024405 A KR20067024405 A KR 20067024405A KR 20060135960 A KR20060135960 A KR 20060135960A
Authority
KR
South Korea
Prior art keywords
message
handler
application
memory
data processing
Prior art date
Application number
KR1020067024405A
Other languages
English (en)
Other versions
KR100878714B1 (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 KR20060135960A publication Critical patent/KR20060135960A/ko
Application granted granted Critical
Publication of KR100878714B1 publication Critical patent/KR100878714B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

애플리케이션이 드라이버를 통하여 디바이스에 액세스 요구를 낸 경우, 즉시 별개의 처리를 실행할 수 있다.
암호화 처리, 복호화 처리 등의 소정의 처리를 실행하는 IC 메모리(12)와, IC 메모리(12)를 사용한 처리를 하는 애플리케이션과, IC 메모리(12)에 대한 액세스 처리를 실행하는 IC 메모리용 핸들러(14)와, 애플리케이션으로부터의 지시에 따라서 IC 메모리용 핸들러(14)를 호출하는 동시에, 애플리케이션에 대하여 지시를 접수한 취지를 응답하는 드라이버(12)를 구비한다.
암호화 처리, 복호화 처리, 드라이버, IC 메모리, IC 메모리용 핸들러

Description

데이터 처리장치 및 데이터 처리방법{Data processing device and data processing method}
본 발명은, 드라이버를 통하여 IC 메모리 등의 디바이스에 액세스할 수 있는 애플리케이션을 실행하는 데이터 처리장치 및 데이터 처리방법에 관한 것이다.
통상, 장치 상에서 기동하고 있는 애플리케이션이 IC 메모리 등의 외부의 디바이스에 액세스하고자 하는 경우, IC 메모리에 액세스하기 위한 드라이버를 사용하여 액세스할 수 있다. 즉, 애플리케이션은 드라이버에 액세스 요구를 출력하고, 드라이버는 IC 메모리로부터 데이터 인출, 또한 IC 메모리에 데이터 기록 등의 요구에 따른 구체적인 처리를 하고, 그 처리 종료 후, 드라이버는 IC 메모리로부터 꺼낸 데이터를 얻거나, 또는 기록에 대한 응답을 얻는다. 드라이버는, 처리에 의한 응답 결과 또는 처리에 의해 얻은 데이터를, 애플리케이션에 출력함으로써, 애플리케이션은 IC 메모리로의 액세스 요구에 대한 결과를 얻을 수 있다.
그렇지만, 애플리케이션은 드라이버를 통하여 IC 메모리 등의 디바이스에 액세스 요구를 하면, 드라이버로부터의 응답 등의 결과를 얻을 때까지, 애플리케이션은 대기 상태가 되어 버린다. 애플리케이션이 IC 메모리로 액세스 요구를 낸 후, 처리의 내용에 따라서는 IC 메모리로부터의 액세스 결과를 얻지 않고서 애플리케이 션 본래의 처리를 실행해도 좋은 경우가 있지만, 애플리케이션은 대기 상태로 들어가기 때문에, 애플리케이션 본래의 처리를 할 수 없고, 처리 속도가 저하되는 문제가 생긴다.
그래서, 본 발명은 애플리케이션이 드라이버를 통하여 디바이스에 액세스 요구를 낸 경우, 즉시 별개의 처리를 실행할 수 있는 데이터 처리장치 및 데이터 처리방법을 실현하는 것을 목적으로 한다.
과제를 해결하기 위한 수단
상술한 과제를 해결하기 위한, 본 발명의 데이터 처리장치는, 미리 정해져 있는 특정한 처리를 실행하는 디바이스와, 상기 디바이스를 사용한 처리를 하는 애플리케이션과, 상기 디바이스에 대한 액세스 처리를 실행하는 핸들러 수단과, 상기 애플리케이션으로부터의 지시에 따라서 상기 핸들러 수단을 호출하는 동시에, 상기 애플리케이션에 지시를 접수한 취지를 통지하는 드라이버 수단을 구비하고 있다.
본 발명의 상술한 구성에 있어서, 드라이버 수단은 애플리케이션으로부터의 조회에 대하여 응답하는 동시에, 애플리케이션으로부터의 요구에 따라서 핸들러 수단에 대하여 디바이스에 액세스시킴으로써, 드라이버 수단으로부터 애플리케이션에 즉시 응답을 돌려줄 수 있고, 애플리케이션에서는 디바이스에 있어서의 최종 처리 결과의 응답을 기다리지 않고서 애플리케이션의 처리를 실행할 수 있다. 또한, 핸들러 수단을 통한 디바이스의 액세스 처리를 동시에 함으로써, 디바이스의 처리 종료까지 애플리케이션을 기다리게 하지 않고서, 애플리케이션은 드라이버로부터의 응답을 기다리지 않고서, 신속한 처리를 실현할 수 있다.
또한, 본 발명의 데이터 처리장치는, 처리 내용에 따른 복수의 핸들러 수단과, 상기 애플리케이션 또는 상기 디바이스에서 생성된 메시지를 송신하는 송신처와 핸들러 수단의 대응 관계를 나타내는 정보를 기억하는 기억수단을 더 구비하고, 상기 드라이버 수단은, 상기 애플리케이션 또는 상기 디바이스에서 생성된 메시지를 수신하면, 상기 메시지에 기술되는 송신처와 상기 기억수단에 기억되는 대응 관계를 나타내는 정보에 기초하여 상기 송신처에 대응한 핸들러 수단을 호출하도록 구성하여도 좋다.
본 발명의 상술한 구성에 있어서, 복수의 핸들러 수단을 구비하고 있기 때문에, 복수의 처리에 대응할 수 있고, 사용성이 좋은 데이터 처리장치를 실현할 수 있다.
또한, 본 발명의 데이터 처리장치는, 네트워크를 통하여 상기 메시지의 송수신을 하는 통신수단을 더 구비하고, 상기 드라이버 수단에 의해서 호출된 핸들러 수단은, 상기 통신수단을 사용하여 미리 정해져 있는 송신처에 메시지를 송신하도록 구성하여도 좋다.
또한, 본 발명의 데이터 처리방법에 있어서는, 디바이스를 사용한 처리를 실행하는 애플리케이션과, 상기 애플리케이션으로부터 상기 디바이스의 액세스 요구를 접수하는 드라이버 수단과, 디바이스에 대한 액세스 처리를 실행하고, 메시지를 송신하는 핸들러 수단을 구비하는 송신측의 데이터 처리장치와 상기 데이터 처리장치로부터 송신되는 메시지를 수신하는 수신측의 데이터 처리장치를 사용한 데이터 처리방법에 있어서, 애플리케이션이 드라이버 수단에 상기 디바이스에 대한 액세스 요구를 하는 요구 스텝과, 상기 드라이버 수단이 상기 디바이스에 액세스 처리를 실행하는 핸들러 수단을 호출하는 호출 스텝과, 상기 드라이버 수단이 상기 애플리케이션의 액세스 요구에 대한 응답을 하는 응답 스텝과, 상기 드라이버 수단이 상기 호출된 핸들러 수단으로부터 상기 디바이스에 대한 액세스의 결과로서, 송신처 및 송신하는 데이터를 갖는 메시지를 얻으면, 상기 송신처에 대응하는 핸들러 수단을 복수의 핸들러 수단 중에서 선택하는 선택 스텝과, 상기 선택된 핸들러 수단이 상기 송신처에 상기 메시지를 상기 수신측의 데이터 처리장치에 송신하는 송신 스텝과, 상기 수신측의 데이터 처리장치가 수신한 메시지에 기술되는 송신처에서 특정하는 디바이스에, 수신한 메시지를 전송하는 전송 스텝을 구비하고 있다.
본 발명의 상술한 구성에 있어서, 메시지에 포함되는 송신처에 대응한 핸들러 수단을 호출하여 네트워크를 통하여 메시지를 송신함으로써, 네트워크를 통한 처리와 같이 시간이 걸리는 처리에 있어서 특히 애플리케이션이 처리결과를 기다릴 필요가 없어지고, 애플리케이션의 신속한 처리를 기대할 수 있다.
또한, 본 발명의 데이터 처리장치는, 데이터 송신처가 부여된 메시지를 등록하는 공유 메모리와, 상기 공유 메모리에 메시지를 등록하는 동시에, 메시지 등록 후 별개의 처리를 하는 애플리케이션과, 상기 공유 메모리에 등록된 메시지를 항상 감시하고, 특정한 데이터 송신처가 부여된 메시지가 등록되면 메시지를 취득하는 핸들러 수단을 구비하고 있다.
또한, 본 발명의 데이터 처리방법은, 데이터 송신처가 부여된 메시지를 등록하는 공유 메모리에 애플리케이션으로부터 메시지를 등록하는 등록 스텝과, 상기 등록 스텝의 후, 상기 애플리케이션은 별개의 처리를 실행하는 실행 스텝과, 상기 공유 메모리에 등록되는 메시지를 감시하는 핸들러 수단이 상기 공유 메모리에 특정한 데이터 송신처가 부여된 메시지가 등록된 것을 판단하면, 상기 핸들러 수단이 상기 등록된 메시지를 꺼내는 처리를 실행하는 인출 스텝을 구비하고 있다.
본 발명의 상술한 구성에 있어서, 공유 메모리에 메시지를 등록하는 동시에 공유 메모리에 등록된 메시지를 감시하는 핸들러 수단을 구비하고, 특정한 메시지가 공유 메모리에 등록되면 대응하는 핸들러 수단이 메시지를 꺼내고, 메시지에 대한 특정한 처리를 하는 동시에, 애플리케이션은, 등록 처리 후 애플리케이션 본래의 처리를 실행할 수 있도록 구성함으로써, 애플리케이션은 디바이스에 있어서의 처리 대기를 하지 않고서, 애플리케이션에 있어서 신속한 처리를 실현할 수 있다.
발명의 효과
본 발명은, 드라이버 수단은 애플리케이션으로부터의 조회에 대하여 응답하는 동시에, 애플리케이션으로부터의 요구에 따라서 핸들러 수단에 대하여 디바이스에 액세스시킴으로써, 드라이버 수단으로부터 애플리케이션에 즉시 응답을 돌려 줄 수 있고, 애플리케이션에서는 디바이스에 있어서의 최종 처리 결과의 응답을 기다리지 않고서 애플리케이션의 처리를 실행할 수 있다. 또한, 핸들러 수단을 통한 디바이스의 액세스 처리를 동시에 함으로써, 디바이스의 처리 종료까지 애플리케이션을 기다리게 하지 않고서, 애플리케이션은 드라이버로부터의 응답을 기다리지 않고서, 신속한 처리를 실현할 수 있다.
또한, 본 발명은, 공유 메모리에 메시지를 등록하는 동시에 공유 메모리에 등록된 메시지를 감시하는 핸들러 수단을 구비하고, 특정한 메시지가 공유 메모리에 등록되면 대응하는 핸들러 수단이 메시지를 꺼내고, 메시지에 대한 특정한 처리를 하는 동시에, 애플리케이션은, 등록 처리 후 애플리케이션 본래의 처리를 실행할 수 있도록 구성함으로써, 애플리케이션은 디바이스에 있어서의 처리 대기를 하지 않고서, 애플리케이션에 있어서 신속한 처리를 실현할 수 있다.
도 1은 본 발명의 데이터 처리장치(100 및 1OOa)의 블록 구성도.
도 2는 본 발명에 있어서의 관리 테이블(17)의 구체예를 도시하는 설명도.
도 3은 본 발명에 있어서의 관리 테이블(17a)의 구체예를 도시하는 설명도.
도 4는 본 발명의 데이터 처리장치(100 및 100a)를 사용한 신호 처리의 시퀀스도.
도 5는 본 발명의 다른 실시형태의 데이터 처리장치(200 및 200a)의 블록 구성도.
도 6은 본 발명의 데이터 처리장치(200 및 200a)를 사용한 신호 처리의 시퀀스도.
발명을 실시하기 위한 최량의 형태
본 발명의 데이터 처리장치 및 데이터 처리방법에 관해서 도면을 사용하여 설명한다.
도 1은, 본 발명의 데이터 처리장치의 블록 구성도이다.
본 발명의 데이터 처리장치(100)는, 애플리케이션(11)(본 발명의 애플리케이션)(내부에 애플리케이션용 핸들러(13)(본 발명의 핸들러 수단)을 보유함), 드라이버(12)(본 발명의 드라이버 수단), IC 메모리용 핸들러(14)(본 발명의 핸들러 수단), 통신용 핸들러(15)(본 발명의 핸들러 수단), IC 메모리(16)(본 발명의 디바이스), 핸들러 관리 테이블(17)(본 발명의 기억수단), 통신부(18)(본 발명의 통신수단), 표시부(19)로 구성된다. 또한, 본 발명의 통신 상대인 데이터 처리장치(100a)도 마찬가지로 애플리케이션(11a)(내부에 애플리케이션용 핸들러(13a)를 보유함), 드라이버(12a), IC 메모리용 핸들러(14a), 통신용 핸들러(15a), IC 메모리(16a), 핸들러 관리 테이블(17a), 통신부(18a), 표시부(19a)로 구성된다.
애플리케이션(11)은, 데이터 처리장치(100) 내에서 기동하여 동작하는 것이며, 특정한 처리를 하는 것이다. 본 예에 있어서는, 전자서명을 검증할 수 있는 애플리케이션이고, 통신 상대에게 전자서명의 부여를 의뢰하기 위해서, 전자서명부여의 대상이 되는 메시지의 송신 의뢰를 하고, 또한, 의뢰하는 동시에, 공개 키 증명서의 청구를 공개 키 인증서버에 행하고, 또한, 공개 키의 유효성을 유효성 검증 서버에 조회하여, 이들 처리한 정보에 기초하여 의뢰한 전자서명을 검증하는 기능을 갖는다.
드라이버(12)는, 애플리케이션(11)으로부터 전자서명을 부여하도록 메시지의 송신 의뢰를 접수하면, 송신하고자 하는 메시지의 암호화 처리를 의뢰하기 위해서, IC 메모리용 핸들러(14)를 호출하는 동시에, 애플리케이션(11)에 대하여 송신 의뢰 를 접수한 취지의 응답을 돌려주는 기능을 갖는다. 또한, 암호화한 메시지를 전자서명 부여를 하는 장치, 즉 데이터 처리장치(100a)에 송신하기 위해서, 통신용 핸들러(15)를 호출한다. 또한, 데이터 처리장치(100a)에서 전자서명이 부여된 데이터를 수신하면, 복호화의 처리를 하기 위해서, IC 메모리용 핸들러(14)를 호출하고, 또한 복호화된 데이터를 수신하면 애플리케이션(11)내에 있는 애플리케이션용 핸들러(13)를 호출하고, 전자서명의 검증을 하게 한다.
또한, 일반적인 드라이버는, 애플리케이션과 하드웨어를 접속할 때에 사이를 맺어주는 소프트웨어이고, 본 발명에 있어서의 드라이버는 애플리케이션과 하드웨어를 접속할 때에 사이를 맺어주는 소프트웨어에 더하여, 하드웨어와 접속하기 위한 핸들러를 호출하는 기능을 구비한다.
애플리케이션용 핸들러(13)는, 애플리케이션 내에 보유되는 핸들러이고, 이 핸들러가 호출되면 애플리케이션의 처리에 인터럽트(interrupt)를 걸어, 특정한 처리를 한다. 본 발명에 있어서는, 전자서명의 검증 처리를 한다. 또, 핸들러란, 외부 인터럽트에 의해 기동되는, 인터럽트 처리 루틴을 가리키는 것이며, 본 실시형태에 있어서는 드라이버(12)에 의해 호출되고, IC 메모리(16) 등의 디바이스에 대한 액세스 처리, 또는 애플리케이션의 처리에 대한 인터럽트 처리를 하는 프로그램으로 한다.
IC 메모리용 핸들러(14)는, IC 메모리(16)에 액세스하기 위한 핸들러이고, IC 메모리(16)내에서 메시지의 암호화 처리, 복호화 처리를 행하게 하였을 때에, IC 메모리(16)에 암호화시키는 데이터, 복호화시키는 데이터를 보낸다.
통신용 핸들러(15)는, 통신처리를 하는 핸들러이다. IC 메모리(16)에서 처리되어 생성된 메시지에 기술되는 송신처에 대응하여 드라이버(12)에 의해 호출되고, 미리 정해진 송신처에 송신처리를 하는 것이다. 본 발명에서는, 암호화 처리를 한 경우의 송신처로서 데이터 처리장치(100a)의 IP 어드레스가 도시하지 않은 메모리에 미리 격납되고, 송신할 때 IP 어드레스가 판독된다. 또한, 통신용 핸들러(15)에, 송신처의 ID와 IP 어드레스를 대응시키는 서버를 네트워크 상에 배치하여 두고, 이 서버에 송신처의 ID를 송신하고, 그 IP 어드레스를 취득하는 기구로 하여도 좋다.
IC 메모리(16)는, 불휘발성 메모리로 이루어지는 메모리이고, 착탈 자유롭게 장착되고, 암호화 처리, 복호화 처리를 주로 한다.
핸들러 관리 테이블(17)은, 애플리케이션(11), 또는 상술한 각 핸들러로부터 보내지는 메시지에 기술되는 송신처(자장치 내 또는 외부의 장치 내에 구비되는 디바이스를 특정하는 송신처)에 대응하여 호출해야 할 핸들러를 기억한다. 도 2는, 핸들러 관리 테이블(17)의 구체예를 도시하는 도면이다.
이 핸들러 관리 테이블(17)은, 디바이스를 특정하는 송신처와 호출하는 핸들러를 대응시켜서 기억한다. 드라이버(12)에, <송신원, 송신처, 데이터 내용>의 3개의 세트로 구성되는 메시지가 보내지면, 드라이버(12)에서는 보내진 메시지에 기술되는 송신처 및 핸들러 관리 테이블(17)에 기초하여, 어떤 핸들러를 호출하는지를 판단하고, 해당하는 핸들러를 호출한다. 또, 송신처는 디바이스를 특정하는 ID로 나타나고, 이 ID를 사용하여 각 디바이스(IC 메모리, 애플리케이션 등)를 특정 할 수 있다.
통신부(18)는, 통신용 핸들러(15)에 의한 제어에 의해 네트워크를 통하여 상대와 통신을 한다.
표시부(19)는, 데이터 처리장치(100a)에서 서명된 전자서명의 검증을 한 결과를 표시한다.
데이터 처리장치(100a)는, 데이터 처리장치(100)에서 전자서명의 의뢰를 받는 장치이다.
IC 메모리(16a)는, 데이터 처리장치(100)에서 송신된 메시지를 복호화하고, 복호화된 메시지에 전자서명을 부여한다. 그리고, 전자서명이 부여된 메시지를 부호화하고, 이것을 IC 메모리 드라이버(14)에 회신한다.
다른 구성은, 데이터 처리장치(100)를 구성하는 것과 동일하다. 또, 핸들러 관리 테이블(17a)에 기억되는 내용은 핸들러 관리 테이블(17)에 기재된 내용과 상이하다. 도 3은 그 구체예이다. 도면에 도시하는 바와 같이, 데이터 처리장치(100a) 내의 IC 메모리(16a)를 호출하는 핸들러와, 데이터 처리장치(100)의 통신용 핸들러(15)를, 메시지에 기술되는 송신처에 따라서 호출할 수 있도록 대응시켜 기억하고 있다.
이들 구성된 데이터 처리장치(100, 100a)의 사이에서 전자서명을 실행하고, 그 검증을 할 때의 구체예를 설명한다. 도 4는 그 처리를 할 때의 시퀀스도이다.
애플리케이션(11)은, 사용자의 입력 조작에 의해 암호화 처리를 하는 IC 메모리(16)의 ID, 전자서명의 부여를 하는 IC 메모리(16a)의 ID, 및 전자서명이 부여 되는 데이터를 접수하고, 접수한 IC 메모리(16a)의 송신처인 데이터 처리장치(100a)에 전자서명의 부여를 의뢰하고, 메시지 m1<애플리케이션(11)의 ID, IC 메모리(16)의 ID, IC 메모리(16a)의 ID 및 데이터 M>을 드라이버(12)에 출력한다 (S101). 애플리케이션(11)은, 드라이버(12)로부터 전자서명의 부여의 의뢰에 대한 응답을 받으면, 전자서명의 검증 처리를 개시한다. 우선, 애플리케이션(11)은, IC 메모리(16a)의 공개 키의 증명서인 공개 키 증명서의 요구를 하는 요구 메시지를 공개 키 증명서 서버에 송신하고, 공개 키 증명서 서버로부터 공개 키 증명서를 취득한다(S102). 또한, 공개 키 증명서란, CA(Certificate Authority: 인증국)이 자기의 책임의 바탕으로 사용자와 공개 키의 결합을 증명한 것이며, 사용자의 태생(성명, 소속, 전자메일 어드레스 등)과 공개 키 데이터와, CA 자신의 전자서명을 실시한 것이다.
또한, 애플리케이션(11)은, 취득한 공개 키 증명서의 유효성을 조회하는 처리를 하고, 조회 메시지를 유효성 검증 서버에 송신하고, 유효성 검증 서버에서는 공개 키 증명서가 유효한지, 무효한지를 검증하고, 그 결과를 취득한다(S103). 또한, 공개 키 증명서가 유효한지의 여부를 관리하는 공적기관이, 유효성 검증 서버의 관리, 운영을 하고 있고, 유효성에 대한 조회에 따라서 관리하고 있는 결과를 회신하도록 하고 있다.
애플리케이션(11)이 이들 처리를 실행하고 있는 동안, 드라이버(12), IC 메모리용 핸들러(14), 통신용 핸들러(15)는, 이하의 처리를 한다.
드라이버(12)는, 송신 의뢰에 대한 접수를 애플리케이션(11)에 응답하 고(S201), 애플리케이션(11)으로부터 수신한 메시지에 기술되어 있는 송신처에 대응한 핸들러를 호출한다(S202). 여기에서는, IC 메모리(16)의 ID가 기술되어 있기 때문에 핸들러 관리 테이블(17)에 기초하여 대응하는 IC 메모리용 핸들러(14)를 호출한다.
호출된 IC 메모리용 핸들러(14)는, 메시지 m1을 IC 메모리(16)에 출력한다(S203). 메시지 m1을 수신한 IC 메모리(16)는, 메시지 m1 중의 데이터 M을 꺼내고, 미리 정해져 있는 공개 키 Pk2를 사용하여 데이터 M을 암호화하고, 암호화 데이터 C를 생성한다(S204). 그리고, 송신원을 IC 메모리(16)의 ID, 송신처를 메시지 m1의 데이터 내용란에 기술된 IC 메모리(16a)의 ID로 하는 메시지 m2<IC 메모리(16)의 ID, IC 메모리(16a)의 ID, C>를 생성하여 IC 메모리용 핸들러(14)에 출력한다(S205).
IC 메모리용 핸들러(14)는, 메시지 m2를 해석하고, IC 메모리(16a)의 ID에서 지시하는 송신처에 암호화 데이터 C를 송신하도록 드라이버(12)에 의뢰한다(S206). 드라이버(12)는, 핸들러 관리 테이블(17)에 기초하여 메시지 m2에 기술되는 송신처에 대응하는 통신용 핸들러(15)를 호출한다(S207). 호출된 통신용 핸들러(15)에는, 미리 송신처의 IP 어드레스가 설정되어 있고, 호출하면, 설정되어 있는 IP 어드레스로 특정되는 통신용 핸들러(15a)를 갖는 데이터 처리장치(100a)와 통신 접속하고, 메시지 m2에 기술되는 IC 메모리(16a)를 특정하는 ID 앞으로 메시지 m2를 송신한다(S208). 또한, 통신용 핸들러(15a)에는 IP 어드레스를 미리 설정하지 않고서, IC 메모리(16a)의 ID와 그 IC 메모리(16a)를 갖는 장치의 IP 어드레스를 대응 시켜서 기억하는 서버를 설치하여 두고, 그 서버에 IC 메모리(16a)의 ID를 송출하고, 대응하는 IP 어드레스를 꺼내도록 하여도 좋다.
통신용 핸들러(15a)는 드라이버(12a)에 메시지 m2를 송신한다(S209). 메시지 m2를 수신한 드라이버(12a)는, 핸들러 관리 테이블(17a)에 기초하여, 메시지 m2에 기술되는 송신처에 대응한 IC 메모리용 핸들러(14)를 호출한다(S210). 호출된 IC 메모리용 핸들러(14a)는 메시지 m2를 IC 메모리(16a)에 등록한다(S211).
메시지 m2를 등록한 IC 메모리(16a)는, 메시지 m2에 기술되는 암호화 데이터 C를 비밀키 Sk2를 사용하여 복호화하고, 데이터 M을 얻는다(S212). 그리고, IC 메모리(16a)는, 데이터 M에 전자서명을 부여함으로써, 전자서명화 데이터 MS를 생성하고(S213), MS를 공개 키 Pk1을 사용하여 암호화하고, 암호화 데이터 CS를 생성한다(S214).
IC 메모리(16a)는, 메시지 m2에 기술되어 있는 송신원, 송신처를 사용하여, 암호화 데이터 CS를 회신하기 위한 데이터인 암호화 데이터 CS를 갖는 메시지 m3<IC 메모리(16a)의 ID, IC 메모리(16)의 ID, CS>를 생성하고, 메시지 m3을 IC 메모리용 핸들러(14a)에 회신한다(S215). IC 메모리용 핸들러(14a)는, 메시지 m3의 송신 의뢰를 드라이버(12a)에 행하고(S216), 드라이버(12a)는, 핸들러 관리 테이블(17a)에 기초하여 메시지 m3의 송신처에 대응하는 통신용 핸들러(15a)를 호출한다(S217).
호출된 통신용 핸들러(15a)에는, 미리 송신처의 IP 어드레스가 설정되어 있고, 호출되면, 설정되어 있는 IP 어드레스로 특정되는 통신용 핸들러(15)와 통신 접속하고, IC 메모리(16)를 특정하는 ID 앞으로 메시지 m3을 송신한다(S218). 또한, 통신용 핸들러(15a)에는 IP 어드레스를 미리 설정하지 않고서, IC 메모리(16)의 ID와 그 IC 메모리(16)를 갖는 장치의 IP 어드레스를 대응시켜서 기억하는 서버를 설치하여 두고, 그 서버에 IC 메모리(16)의 ID를 송출하고, 대응하는 IP 어드레스를 꺼내도록 하여도 좋다.
통신용 핸들러(15a)로부터의 송신처리를 수신한 통신용 핸들러(15)는, 메시지 m3을 등록하도록 드라이버(12)에 출력한다(S219). 드라이버(12)는, 핸들러 관리 테이블(17)에 기초하여 메시지 m3에 기술되는 송신처에 대응하는 IC 메모리용 핸들러(14)를 호출한다(S220).
호출된 IC 메모리용 핸들러(14)는 메시지 m3에 기술되어 있는 IC 메모리(16)의 ID에서 특정하는 송신처, 즉 IC 메모리(16)에 메시지 m3을 송신한다(S221). IC 메모리(16)에서는, 송신된 메시지 m3 중의 암호화 데이터 CS를 비밀키 Sk1을 사용하여 복호화하고, 전자서명화 데이터 MS를 얻는다(S222). 그리고, IC 메모리(16)는, S203에서 수신한 메시지 m1에 기술되는 송신원(즉, 애플리케이션(11)의 ID)을 기억하고 있고, 기억한 송신원을 사용하여, 애플리케이션(11)에 메시지 m4를 건네줄 수 있도록, 전자서명화 데이터 MS를 갖는 메시지 m4<IC 메모리(16)의 ID, 애플리케이션(11)의 ID, MS>를 생성하고, 메시지 m4를 IC 메모리용 핸들러(14)에 회신한다(S223). IC 메모리용 핸들러(14)는, 또한 메시지 m4를 드라이버(12)에 송신한다(S224).
드라이버(12)는, 핸들러 관리 테이블(17)에 기초하여 메시지 m4에 기술되는 송신처인 애플리케이션(11)의 ID에 대응하는 애플리케이션용 핸들러(13)를 호출한다(S225).
호출된 애플리케이션용 핸들러(13)는, 애플리케이션(11)의 처리에 인터럽트를 걸고, 기동한다(S104). 그리고, 기동한 애플리케이션용 핸들러(13)는 메시지 m4의 데이터 MS의 전자서명이 정당한지를 검증한다. 즉, MS에 전자서명을 실시한 공개 키와, 상술한 유효하다고 판단된 공개 키 증명서에 기술되어 있는 공개 키와의 일치를 판단하여, 일치하고 있으면 메시지 m4에 기술되는 데이터 MS에 부여되는 전자서명은 정당한 전자서명이 실시된 것이라고 판단하고, 일치하지 않으면 전자서명은 부당한 것이라고 판단한다(S105). 그리고, 그 판단 결과를 표시부에 출력한다(S106). 또, S225에 의한 애플리케이션용 핸들러(13)의 호출 처리가 행하여지기 전에, S102, S103의 공개 키 증명서의 요구, 유효성의 검증은 종료하고 있는 것으로 한다.
이상의 처리에 의해 송신하고자 하는 데이터에 전자서명을 부여하고, 전자서명의 정당성을 얻은 후에, 사용자는 임의의 송신처에 정당성을 갖고 있는 전자서명을 부여한 데이터를 보내는 처리를 할 수 있다.
이상, 애플리케이션(11)으로부터 드라이버(12)에 송신 의뢰를 하고, 드라이버(12)로부터 송신 의뢰에 대한 접수 응답을 애플리케이션(11)에 대하여 행하는 것에 의한 효과에 대해서 설명한다.
애플리케이션(11)은, 드라이버(12)에 대하여 송신 의뢰를 하고, 그 접수 응답을 드라이버(12)로부터 수신함으로써, 애플리케이션(11)은 드라이버(12)로부터 송신 의뢰에 대한 처리결과가 올 때까지 대기할 필요가 없고, 애플리케이션(11)은 다른 처리를 실행할 수 있고, 효율 좋은 처리를 실현할 수 있다.
다음에, 드라이버 대신에 공유 메모리를 사용한 다른 실시형태에 관해서 설명한다.
도 5는, 다른 실시형태인 데이터 처리장치(200)의 블록 구성도이다.
본 발명의 데이터 처리장치(200)는, 애플리케이션(101)(본 발명의 애플리케이션)(내부에 애플리케이션용 핸들러(103)(본 발명의 핸들러 수단)를 보유함), 공유 메모리(102)(본 발명의 공유 메모리), IC 메모리용 핸들러(104)(본 발명의 핸들러 수단), 통신용 핸들러(105)(본 발명의 핸들러 수단), IC 메모리(106), 통신부(107), 표시부(108)로 구성된다. 또한, 본 발명의 통신 상대인 데이터 처리장치(200a)도 마찬가지로 애플리케이션(101a)(내부에 애플리케이션용 핸들러(13a)를 보유함), 공유 메모리(102a), IC 메모리용 핸들러(104a), 통신용 핸들러(105a), IC 메모리(106a), 통신부(107a), 표시부(108a)로 구성된다.
애플리케이션(101)은, 데이터 처리장치(200)내에서 기동하여 동작하는 것이며, 소정의 처리를 하는 것이다. 본 예에 있어서는, 전자서명을 검증할 수 있는 애플리케이션이고, 전자서명을 부여하는 메시지의 송신 의뢰를 하고, 또한, 의뢰하는 동시에, 공개 키 증명서의 청구를 공개 키 인증서버에 행하고, 또한, 공개 키의 유효성을 유효성 검증 서버에 조회하여, 이들 처리한 정보에 기초하여 의뢰한 전자서명을 검증하는 기능을 갖는다.
애플리케이션용 핸들러(103)는, 애플리케이션 내에 보유되는 핸들러이고, 이 핸들러는, 항상 공유 메모리(102)를 감시하고, 공유 메모리에 애플리케이션을 특정하는 ID를 송신처로 하는 메시지가 등록되면, 애플리케이션용 핸들러(103)가 인터럽트 처리를 실행한다. 본 발명에 있어서는, 전자서명의 검증 처리를 한다. 또, 본 실시형태에 있어서의 핸들러는, 외부 인터럽트에 의해 기동되는 인터럽트 처리 루틴을 가리키는 것이며, 공유 메모리(102)를 항상 감시하고, 소정의 조건을 만족시키면(소정의 송신처가 메시지에 설정되는 등), 그 조건에 해당하는 핸들러가 인터럽트 처리를 걸어 동작하는 것이다.
IC 메모리용 핸들러(104)는, IC 메모리(106)에 액세스하기 위한 핸들러이고, 이 핸들러는, 항상 공유 메모리(102)를 감시하고, 공유 메모리(102)에 특정한 조건을 만족시키는 메시지가 등록되면, IC 메모리용 핸들러(104)가 IC 메모리(106)에 액세스하기 위한 인터럽트 처리를 실행한다. 또한, 공유 메모리(102)에 기록하는 동작을 하는 경우는, 기록 동작을 한 후 즉시, 공유 메모리(102)의 감시 동작을 하는 처리로 되돌아간다. 본 발명에 있어서는, 공유 메모리(102)에, IC 메모리(105)를 송신처로 한 ID를 기술하는 메시지가 등록되면, IC 메모리용 핸들러(104)는 이 메시지를 취득하는 동작을 하고, 취득한 메시지를 IC 메모리(106)에 출력한다. 그리고, 메시지의 암호화 처리, 또는 복호화 처리를 IC 메모리(105)에 대하여 행하게 하도록 IC 메모리(105)에 메시지를 출력한다. 또한, IC 메모리(105)로부터 암호화 처리, 복호화 처리가 된 데이터를 받아들이면, 공유 메모리(102)에 기록하는 처리를 한다.
통신용 핸들러(105)는, 통신처리를 하는 핸들러이고, 이 핸들러는, 항상 공 유 메모리(102)를 감시하고, 공유 메모리에 특정한 조건을 만족시키는 메시지가 등록되면, 통신용 핸들러(105)가 통신을 위한 인터럽트 처리를 한다. 본 발명에 있어서는, 공유 메모리(102)에 등록된 메시지가, 데이터 처리장치(200a)가 갖는 각 디바이스의 ID를 송신처로서 기술되어 있으면, 통신용 핸들러(105)는, 메시지에 기술되는 송신처로서 기술되어 있는 ID에 대응하는 IP 어드레스를 별도로 기억하고 있는 메모리로부터 꺼내고, 꺼낸 IP 어드레스 앞으로 메시지를 송신한다. 또, 통신용 핸들러(105)에는, 송신처로서 기술되는 ID와 물리적인 수신처가 되는 IP 어드레스가 대응하여 기억하는 메모리를 갖고 있고, 등록된 메시지의 송신처로서 기술되어 있는 ID에 대응하여 IP 어드레스를 꺼내고, 상기 IP 어드레스 앞으로 메시지의 송신처로서 기술되는 ID와 함께 송신 데이터의 송신처리를 실행한다. 또한, 데이터 처리장치(200a)에서 수신한 메시지를 수신하면, 수신한 메시지를 공유 메모리(102)에 기록하는 처리를 한다.
IC 메모리(106)는, 불휘발성 메모리로 이루어지는 메모리이고, 착탈 자유롭게 장착되고, 암호화 처리, 복호화 처리를 주로 한다.
통신부(107)는, 네트워크를 통하여 상대와 통신을 한다.
표시부(108)는, 데이터 처리장치(200a)에서 서명된 전자서명의 검증을 한 결과를 표시한다.
다음에, 데이터 처리장치(200a)의 구성에 관해서 설명한다. 데이터 처리장치(200a)는, 데이터 처리장치(200)로부터 전자서명의 의뢰를 받는 장치이다.
IC 메모리(106a)는, 데이터 처리장치(200)로부터 송신된 메시지를 복호화하 고, 복호화된 메시지에 전자서명을 부여한다. 그리고, 전자서명이 부여된 메시지를 부호화하고, 이것을 IC 메모리 드라이버(104)에 회신한다.
다른 구성은, 데이터 처리장치(200)를 구성하는 것과 동일하다.
이들 구성된 데이터 처리장치(200, 200a)와의 사이에서 전자서명을 실행하고, 그 검증을 할 때의 구체예를 설명한다. 도 6은 그 처리를 할 때의 시퀀스도이다.
애플리케이션(101)은, 데이터에 전자서명의 부여의 의뢰를 하기 위해서, 사용자로부터 IC 메모리(106)의 ID, IC 메모리(106a)의 ID의 입력을 접수하고, 접수한 IC 메모리(106)의 ID, IC 메모리(106a)의 ID를 사용하여 메시지 m1<애플리케이션(101)의 ID, IC 메모리(106)의 ID, IC 메모리(106a)의 ID 및 데이터 M>을 생성하고, 메시지 m1을 공유 메모리(102)에 기록한다(S301).
애플리케이션(101)은, 공유 메모리(102)에 전자서명의 부여의 의뢰를 공유 메모리(102)에 등록하면, 서명 검증의 처리를 개시한다. 우선, 애플리케이션(11)은, IC 메모리(16a)의 공개 키의 증명서인 공개 키 증명서의 요구를 하는 요구 메시지를 공개 키 증명서 서버에 송신하고, 공개 키 증명서 서버로부터 공개 키 증명서를 취득한다(S102). 또, 공개 키 증명서란, CA(인증국)이 자신의 책임의 바탕으로 사용자와 공개 키의 결합을 증명한 것이며, 사용자의 태생(성명, 소속, 전자 메일 어드레스 등)과 공개 키 데이터와, CA 자신의 전자서명을 실시한 것이다.
또한, 애플리케이션(11)은, 취득한 공개 키 증명서의 유효성을 조회하는 처리를 하고, 조회 메시지를 유효성 검증 서버에 송신하고, 유효성 검증 서버로서는 공개 키 증명서이 유효한지, 무효한지를 검증하고, 그 결과를 취득한다(S103). 또, 공개 키 증명서가 유효한지의 여부를 관리하는 공적기관이, 유효성 검증 서버의 관리, 운영을 하고 있고, 유효성에 대한 조회에 따라서 관리하고 있는 결과를 회신하도록 하고 있다.
애플리케이션(101)이 이러한 처리를 실행하고 있는 동안, IC 메모리용 핸들러(104), 통신용 핸들러(105)는, 이하의 처리를 한다.
송신처로서 IC 메모리(106)의 ID가 기술되는 메시지 m1이 공유 메모리(102)에 기록되면, IC 메모리용 핸들러(104)는 IC 메모리(106)의 ID를 송신처로서 포함하는 메시지 m1이 등록된 것을 검지하고, 이 메시지 m1을 꺼내고(S401), IC 메모리(106)에 출력한다(S403). IC 메모리(106)에서는, 미리 갖고 있는 공개 키 Pk2를 사용하여 메시지 m1에 포함하는 데이터 M을 암호화하고, 데이터C를 생성한다(S404). 그리고, 메시지 m1로부터 송신원을 IC 메모리(106)의 ID, 송신처를 IC 메모리(106a)의 ID로 하는 메시지 m2<IC 메모리(106)의 ID, IC 메모리(106a)의 ID, C>를 생성하고, 메시지 m2를 IC 메모리용 핸들러(104)에 회신한다(S405).
IC 메모리용 핸들러(104)는, 공유 메모리(102)에 메시지 m2를 기록한다(S406). 통신용 핸들러(105)는, 공유 메모리(102)에 송신처로서 IC 메모리(106a)의 ID가 기술되어 있는 메시지 m2가 등록된 것을 검지하면, 메시지 m2를 꺼낸다(S407). 통신용 핸들러(105)에는, 미리 송신처의 IP 어드레스가 설정되어 있고, 인터럽트 처리를 실행하면, 설정되어 있는 IP 어드레스로 특정되는 통신용 핸들러(105a)를 갖는 데이터 처리장치(200a)와 통신 접속하고, IC 메모리(106a)를 특정하는 ID 앞으로 꺼낸 메시지 m2를 송신한다(S408). 또한, 통신용 핸들러(105a)는 IP 어드레스를 미리 설정하지 않고서, IC 메모리(106a)의 ID와 그 IC 메모리(106a)를 갖는 장치의 IP 어드레스를 대응시켜 기억하는 서버를 설치하여 두고, 그 서버에 IC 메모리(106a)의 ID를 송출하고, 대응하는 IP 어드레스를 꺼내도록 하여도 좋다.
다음에, 데이터 처리장치(200a)의 통신용 핸들러(105a)는, 수신한 메시지 m2를 공유 메모리(102a)에 기록한다(S409). IC 메모리용 핸들러(104a)는, 공유 메모리(102a)를 항상 감시하고 있고, 송신처로서 IC 메모리(106a)의 ID가 기술되어 있는 메시지 m2가 공유 메모리(102a)에 등록된 것을 검지하면, 메시지 m2를 취득하고(S410), IC 메모리(106a)에 송출한다(S411).
IC 메모리(106a)는, 비밀키 Sk2를 사용하여 메시지 m2에 포함되는 암호화 데이터 C를 복호화하여, 데이터 M을 생성하고(S412), 데이터 M에 대하여 전자서명을 부여하여 전자서명화 데이터 MS를 생성한다(S413). 그리고, 전자서명화 데이터 MS를 공개 키 Pk1로 암호화하여 암호화 데이터 CS를 생성한다(S414).
IC 메모리(106a)는, 메시지 m2에 기술되어 있는 송신원, 송신처를 사용하여, 암호화 데이터 CS를 회신하기 위한 데이터인 암호화 데이터 CS를 갖는 메시지 m3<IC 메모리(106a)의 ID, IC 메모리(106)의 ID, CS>을 생성하고, 메시지 m3을 IC 메모리용 핸들러(104a)에 회신한다(S415). 그리고, IC 메모리용 핸들러(104a)는, 메시지 m3을 공유 메모리(102a)에 기록한다(S416). 통신용 핸들러(105a)는, 공유 메모리(102)에, 송신처로서 IC 메모리(106)의 ID가 기술되는 메시지 m3이 등록된 것을 검지하면, 이것을 꺼낸다(S417).
통신용 핸들러(105a)에는, 미리 송신처의 IP 어드레스가 설정되어 있고, 인터럽트 처리를 실행하면, 설정되어 있는 IP 어드레스로 특정되는 통신용 핸들러(105)를 갖는 데이터 처리장치(200a)와 통신 접속하고, IC 메모리(106)를 특정하는 ID 앞으로 꺼낸 메시지 m3을 송신한다(S418). 또, 통신용 핸들러(105a)에는 IP 어드레스를 미리 설정하지 않고서, IC 메모리(106)의 ID와 그 IC 메모리(106)를 갖는 장치의 IP 어드레스를 대응시켜 기억하는 서버를 설치하여 두고, 그 서버에 IC 메모리(106)의 ID를 송출하고, 대응하는 IP 어드레스를 꺼내도록 하여도 좋다.
통신용 핸들러(105)는, 메시지 m3을 수신하면, 공유 메모리(102)에 메시지 m3을 기록한다(S419).
IC 메모리용 핸들러(104)는, 공유 메모리(102)에 송신처로서 IC 메모리(106)의 ID를 기술하는 메시지 m3을 검지하면, 메시지 m3을 꺼내고(S420), IC 메모리(106)에 메시지 m3을 송출한다(S421). IC 메모리(106)에서는, 수신한 메시지 m3 중의 암호화 데이터 CS를 비밀키 Sk1로 복호화하고, 전자서명화 데이터 MS를 생성한다(S422). 그리고, IC 메모리(106)는, S403에서 수신한 메시지 m1에 기술되는 송신원(즉 애플리케이션(101)의 ID)을 기억하고 있고, 기억한 송신원을 사용하여, 애플리케이션(101)에 메시지 m4를 건네줄 수 있도록, 전자서명화 데이터 MS를 갖는 메시지 m4<IC 메모리(16)의 ID, 애플리케이션(11)의 ID, MS>를 생성하고, 메시지 m4를 IC 메모리용 핸들러(14)에 회신한다(S423).
IC 메모리용 핸들러(104)는, 공유 메모리(102)에 메시지 m4를 기록하 고(S424), 송신처로서 애플리케이션의 ID가 기술되는 메시지 m4가 공유 메모리(102)에 등록되었다고, 애플리케이션용 핸들러(103)가 검지하면, 애플리케이션용 핸들러(103)가 메시지 m4를 취득하고, 애플리케이션용 핸들러(103)는 애플리케이션(101)의 처리에 인터럽트를 걸어, 취득한 메시지 m4의 전자서명화 데이터 MS의 전자서명이 정당한지를 검증한다.
즉, MS에 전자서명을 실시한 공개 키와, 상술한 유효하다고 판단된 공개 키 증명서에 기술되어 있는 공개 키와의 일치를 판단하고, 일치하고 있으면 메시지 m4에 기술되는 데이터 MS에 부여되는 전자서명은 정당한 전자서명이 실시된 것이라고 판단하고, 일치하지 않으면 전자서명은 부당한 것이라고 판단한다(S304). 그리고, 그 판단 결과를 표시부에 출력한다(S305). 또한, S425에 의한 애플리케이션용 핸들러(13)의 호출 처리가 행하여지기 전에, S302, S303의 공개 키 증명서의 요구, 유효성의 검증은 종료하고 있는 것으로 한다.
이상의 처리에 의해 송신하고자 하는 데이터에 전자서명을 부여하고, 전자서명의 정당성을 얻은 후에, 사용자의 임의의 송신처에 정당성을 갖고 있는 전자서명을 부여한 데이터를 보내는 처리를 할 수 있다.
이상, 애플리케이션(101)으로부터 공유 메모리(102)에 송신하는 메시지를 등록하고, 공유 메모리를 감시하고 있는 각 핸들러가 임의로 인터럽트 처리를 하는 것에 의한 효과에 대해서 설명한다.
애플리케이션(101)은, 공유 메모리(102)에 메시지의 등록을 하고, 그 등록 후는 별개의 처리를 하며, 핸들러는 공유 메모리에 등록된 메시지에 따라서 적절하 게 인터럽트 처리를 실행함으로써, 애플리케이션(101)은 공유 메모리(102)에 등록한 메시지의 처리결과가 수신할 때까지 대기할 필요가 없고, 애플리케이션(11)은 다른 처리를 실행할 수 있고, 효율이 좋은 처리를 실현할 수 있다.

Claims (6)

  1. 미리 정해져 있는 특정한 처리를 실행하는 디바이스와, 상기 디바이스를 사용한 처리를 하는 애플리케이션과, 상기 디바이스에 대한 액세스 처리를 실행하는 핸들러 수단과, 상기 애플리케이션으로부터의 지시에 따라서 상기 핸들러 수단을 호출하는 동시에, 상기 애플리케이션에 지시를 접수한 취지를 통지하는 드라이버 수단을 구비하는, 데이터 처리장치.
  2. 제 1 항에 있어서,
    처리 내용에 따른 복수의 핸들러 수단과, 상기 애플리케이션 또는 상기 디바이스에서 생성된 메시지를 송신하는 송신처와 핸들러 수단의 대응 관계를 나타내는 정보를 기억하는 기억수단을 더 구비하고,
    상기 드라이버 수단은, 상기 애플리케이션 또는 상기 디바이스에서 생성된 메시지를 수신하면, 상기 메시지에 기술되는 송신처와 상기 기억수단에 기억되는 대응 관계를 나타내는 정보에 기초하여 상기 송신처에 대응한 핸들러 수단을 호출하는 것을 특징으로 하는, 데이터 처리장치.
  3. 제 2 항에 있어서,
    네트워크를 통하여 상기 메시지의 송수신을 하는 통신수단을 더 구비하고,
    상기 드라이버 수단에 의해서 호출된 핸들러 수단은, 상기 통신수단을 사용 하여 미리 정해져 있는 송신처에 메시지를 송신하는 것을 특징으로 하는, 데이터 처리장치.
  4. 디바이스를 사용한 처리를 실행하는 애플리케이션과, 상기 애플리케이션으로부터 상기 디바이스의 액세스 요구를 접수하는 드라이버 수단과, 디바이스에 대한 액세스 처리를 실행하고, 메시지를 송신하는 핸들러 수단을 구비하는 송신측의 데이터 처리장치와 상기 데이터 처리장치로부터 송신되는 메시지를 수신하는 수신측의 데이터 처리장치를 사용한 데이터 처리방법에 있어서,
    애플리케이션이 드라이버 수단에 상기 디바이스에 대한 액세스 요구를 하는 요구 스텝과, 상기 드라이버 수단이 상기 디바이스에 액세스 처리를 실행하는 핸들러 수단을 호출하는 호출 스텝과, 상기 드라이버 수단이 상기 애플리케이션의 액세스 요구에 대한 응답을 하는 응답 스텝과, 상기 드라이버 수단이 상기 호출된 핸들러 수단으로부터 상기 디바이스에 대한 액세스의 결과로서, 송신처 및 송신하는 데이터를 갖는 메시지를 얻으면, 상기 송신처에 대응하는 핸들러 수단을 복수의 핸들러 수단 중에서 선택하는 선택 스텝과, 상기 선택된 핸들러 수단이 상기 송신먼저 상기 메시지를 상기 수신측의 데이터 처리장치에 송신하는 송신 스텝과,
    상기 수신측의 데이터 처리장치가 수신한 메시지에 기술되는 송신처에서 특정하는 디바이스에, 수신한 메시지를 전송하는 전송 스텝을 구비하는, 데이터 처리방법.
  5. 데이터 송신처가 부여된 메시지를 등록하는 공유 메모리와, 상기 공유 메모리에 메시지를 등록하는 동시에, 메시지 등록 후, 메시지 등록에 대한 응답을 기다리지 않고서 특정한 처리를 하는 애플리케이션과, 상기 공유 메모리에 등록된 메시지를 항상 감시하고, 특정한 데이터 송신처가 부여된 메시지가 등록되면, 이 메시지를 꺼내고, 특정한 처리를 실행하는 핸들러 수단을 구비하는, 데이터 처리장치.
  6. 데이터 송신처가 부여된 메시지를 등록하는 공유 메모리에 애플리케이션으로부터 메시지를 등록하는 등록 스텝과, 상기 등록 스텝의 후, 상기 애플리케이션은 메시지 등록에 대한 응답을 기다리지 않고서, 특정한 처리를 실행하는 실행 스텝과, 상기 공유 메모리에 등록되는 메시지를 감시하는 핸들러 수단이 상기 공유 메모리에 특정한 데이터 송신처가 부여된 메시지가 등록된 것을 판단하면, 상기 핸들러 수단이 상기 등록된 메시지를 꺼내는 처리를 실행하는 인출 스텝을 구비하는, 데이터 처리방법.
KR1020067024405A 2004-04-21 2005-04-21 데이터 처리 장치 및 데이터 처리 방법 KR100878714B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2004-00126054 2004-04-21
JP2004126054A JP4607489B2 (ja) 2004-04-21 2004-04-21 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
KR20060135960A true KR20060135960A (ko) 2006-12-29
KR100878714B1 KR100878714B1 (ko) 2009-01-14

Family

ID=35197168

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067024405A KR100878714B1 (ko) 2004-04-21 2005-04-21 데이터 처리 장치 및 데이터 처리 방법

Country Status (6)

Country Link
US (1) US8161499B2 (ko)
EP (1) EP1739566A4 (ko)
JP (1) JP4607489B2 (ko)
KR (1) KR100878714B1 (ko)
CN (2) CN101308534A (ko)
WO (1) WO2005103918A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2525497A1 (en) * 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
WO2014030283A1 (ja) * 2012-08-21 2014-02-27 ソニー株式会社 署名検証情報の伝送方法、情報処理装置、情報処理方法および放送送出装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6364133A (ja) 1986-08-29 1988-03-22 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション 情報処理システム
JPH05257854A (ja) 1992-03-16 1993-10-08 Toshiba Corp 計算機システム
JPH06309265A (ja) 1993-04-27 1994-11-04 Sanyo Electric Co Ltd 情報処理装置におけるドライバプログラムの動的選択方法
JP3212790B2 (ja) * 1994-02-04 2001-09-25 日本電気株式会社 マルチジョブ制御方式
JPH0830465A (ja) * 1994-07-12 1996-02-02 Fuji Facom Corp メッセージ駆動型のマルチタスクシステム
US5634010A (en) * 1994-10-21 1997-05-27 Modulus Technologies, Inc. Managing and distributing data objects of different types between computers connected to a network
JPH0916353A (ja) 1995-07-04 1997-01-17 Oki Electric Ind Co Ltd ジョブ制御方法
JPH1011384A (ja) * 1996-06-24 1998-01-16 Sumitomo Metal Ind Ltd 入出力標準化装置
JPH10240654A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 携帯型情報機器およびデータ転送制御方法
US6016515A (en) 1997-04-04 2000-01-18 Microsoft Corporation Method, computer program product, and data structure for validating creation of and routing messages to file object
JP2000222335A (ja) 1998-06-30 2000-08-11 Seiko Epson Corp デバイス制御システム、デバイス制御方法、及び上記システムを構築するためのプログラムを記録した記録媒体
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
JP2002024195A (ja) * 2000-07-05 2002-01-25 Nec Corp 並列処理装置、及び、並列処理方法
JP2002024154A (ja) * 2000-07-07 2002-01-25 Toshiba Corp プログラム実行方法およびプログラム実行装置
US6952830B2 (en) 2001-08-16 2005-10-04 Occam Networks, Inc. System and method to uniformly access devices
US7032224B2 (en) * 2001-12-31 2006-04-18 Slam Dunk Networks, Inc. Method for the secure and timely delivery of large messages over a distributed communication network
US7287273B2 (en) 2002-02-15 2007-10-23 Science Park Corporation Individual authentication method using input characteristic of input apparatus by network, program thereof, and recording medium containing the program
KR100464349B1 (ko) * 2002-08-08 2005-01-03 삼성전자주식회사 디바이스 드라이버 제어 공통화 방법
US7386554B2 (en) * 2002-09-03 2008-06-10 Infoglide Software Corporation Remote scoring and aggregating similarity search engine for use with relational databases

Also Published As

Publication number Publication date
CN1957338A (zh) 2007-05-02
CN101308534A (zh) 2008-11-19
US8161499B2 (en) 2012-04-17
CN100530149C (zh) 2009-08-19
JP4607489B2 (ja) 2011-01-05
EP1739566A4 (en) 2008-11-05
US20090158296A1 (en) 2009-06-18
JP2005309783A (ja) 2005-11-04
WO2005103918A1 (ja) 2005-11-03
EP1739566A1 (en) 2007-01-03
KR100878714B1 (ko) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101370069B (zh) 图像加密/解密系统
RU2005101217A (ru) Генерирование ключей в системе связи
CN108449315B (zh) 请求合法性的校验装置、方法及计算机可读存储介质
JP2003244183A (ja) ネットワーク機器及び遠隔制御中継サーバ
CN107666469B (zh) 验证码短信的处理方法及终端
JP2007080023A (ja) 情報処理装置のサービス提供システム、および、サービス提供方法
JP5353298B2 (ja) アクセス認証システム、情報処理装置、アクセス認証方法、プログラム及び記録媒体
KR100878714B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
RU2005120425A (ru) Способ обеспечения доступа к объектам корпоративной сети
US20080304660A1 (en) Image forming apparatus allowing easy management relating to user&#39;s usage
KR20060120530A (ko) 통신 장치
CN115834051A (zh) 基于did凭证数据的安全保存方法和装置、授权方法和装置、电子设备及存储介质
EP3352120B1 (en) Thing information transmission method, apparatus and system in internet of things
JP2007066322A (ja) データ処理装置およびデータ処理方法
JP6627398B2 (ja) 代理認証装置、代理認証方法および代理認証プログラム
JP2020009274A (ja) アプリケーション情報提供システム及びアプリケーション情報提供方法
JP7311664B2 (ja) 情報管理システム、情報管理方法、およびプログラム
WO2024021785A1 (zh) 一种数字实体的处理方法、装置、设备、介质及程序产品
CN110365654B (zh) 数据传输控制方法、装置、电子设备和存储介质
JP4202980B2 (ja) モジュール起動装置、方法およびシステム
JP3986636B2 (ja) 認証管理システム及び認証サポートシステムならびに認証管理システムでの処理をコンピュータに行わせるためのプログラムを格納した記録媒体及び認証方法
JP2023169938A (ja) 認証局管理システム、認証局管理方法、およびプログラム
CN111935159A (zh) 多系统间互信认证方法、装置及系统
CN113285948A (zh) 反向动态口令认证方法、装置、介质及电子设备
JP2020046977A (ja) 配信管理システム、配信管理プログラムおよび配信管理方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131218

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee