KR100790602B1 - 디바이스 제어기, 디바이스 제어 방법 및 디바이스 제어프로그램이 저장된 기록 매체 - Google Patents

디바이스 제어기, 디바이스 제어 방법 및 디바이스 제어프로그램이 저장된 기록 매체 Download PDF

Info

Publication number
KR100790602B1
KR100790602B1 KR1020060044776A KR20060044776A KR100790602B1 KR 100790602 B1 KR100790602 B1 KR 100790602B1 KR 1020060044776 A KR1020060044776 A KR 1020060044776A KR 20060044776 A KR20060044776 A KR 20060044776A KR 100790602 B1 KR100790602 B1 KR 100790602B1
Authority
KR
South Korea
Prior art keywords
message
execution object
unit
indication
response
Prior art date
Application number
KR1020060044776A
Other languages
English (en)
Other versions
KR20060121106A (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 KR20060121106A publication Critical patent/KR20060121106A/ko
Application granted granted Critical
Publication of KR100790602B1 publication Critical patent/KR100790602B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

디바이스를 제어하기 위한 디바이스 제어기는, 실행 객체(execution object)로부터 동작부로 메시지를 전송하는 전송부와, 상기 메시지에 응답하여 상기 메시지에 대응해서 미리 설정되어 있는 절차에 따라 상기 디바이스를 제어하는 제어부를 구비하되, 상기 전송부는, 상기 실행 객체로부터의 상기 메시지의 수신에 응답하여, 상기 실행 객체의 신뢰도를 나타내는 표시를 생성하는 평가부와, 상기 수신된 메시지에 상기 표시를 첨부하는 표시 첨부부와, 상기 표시에 대응하여 복수의 절차를 저장하는 기억부를 구비하며, 상기 제어부는 상기 메시지의 수신에 응답하여 상기 표시를 탐색하여, 상기 기억부에 저장된 복수의 절차로부터 소정의 절차를 실행하도록 구성된다.

Description

디바이스 제어기, 디바이스 제어 방법 및 디바이스 제어 프로그램이 저장된 기록 매체{DEVICE CONTROLLER, METHOD FOR CONTROLLING A DEVICE, AND A RECORDING MEDIUM FOR STORING A PROGRAM THEREFOR}
도 1은 본 발명에 따른 디바이스 제어기의 상세 블록도,
도 2는 본 발명에 따른 디바이스 제어기의 상세 블록도,
도 3은 본 발명의 일 실시예에 따른 휴대형 전화의 회로 구성의 일례를 나타내는 블록도,
도 4는 본 발명의 일 실시예에 따른 OS의 주요 흐름을 나타내는 흐름도,
도 5는 디바이스 드라이버의 처리 흐름을 나타내는 흐름도,
도 6은 도 5에 도시한 제 1 내지 제 4 공정의 흐름의 구체적 예를 나타내는 흐름도,
도 7은 종래의 디바이스 제어기의 블록도.
도면의 주요 부분에 대한 부호의 설명
5 : 디바이스
6 : 디바이스 제어기
7 : 실행 객체
61 : OS(커널)
62 : 디바이스 드라이버
71 : 애플리케이션 프로그램
72 : 고레벨 API
73 : 실행 객체
74 : 시스템 호출
611 : 평가 유닛
612 : 첨부 유닛
621 : 선택 유닛
622 : 동작 유닛
본 발명은 컴퓨터에 연결된 디바이스를 제어하는 디바이스 제어기, 디바이스를 제어하는 방법 및 그 프로그램에 관한 것이다.
본 출원은 2005년 5월 23에 출원된 일본 특허 출원 제 2005-149746 호를 우선권으로서 주장하고 있으며, 그 내용을 참조로서 여기에 포함시켜 둔다.
디바이스 드라이버는 컴퓨터에 연결된 디바이스를 제어하는데 사용되고 있다. 컴퓨터를 구동시키는 운영 체계(OS; operating system)에는 다양한 디바이스 드라이버를 위한 범용 인터페이스가 마련되어 있다. 이 인터페이스에 의해서, 새로운 디바이스가 개발되면, 이 새로운 디바이스를 지원하는 디바이스 드라이버를 인스톨함으로써, 애플리케이션 프로그램 또는 OS와 같은 실행 객체(execution objects)에 의해 이러한 디바이스가 사용가능하게 된다. 디바이스의 제조업자는 디바이스 드라이버를 제공하고, OS는 시스템 호출(system call)에 의해서 디바이스의 제어가 가능한 애플리케이션 프로그램을 제공한다.
OS의 시스템 호출(system call)은 인수(argument)로서 메시지를 취입하는데, 이러한 메시지는 디바이스 드라이버에 전달된다. 전달된 메시지에 따라, 디바이스 드라이버는 디바이스를 동작시킨다. 예를 들면, 디바이스를 제어하기 위한 프로그램이 C언어로 작성된 경우, open(), close(), read(), write(), 또는 ioctl() 등의 시스템 호출이 사용된다. 이러한 시스템 호출은 메시지에 의거하여 디바이스에 대해서 제어, 즉, 오픈, 클로우즈, 판독 또는 기록한다. 이 시스템 호출(즉, 함수)은, OS 또는 실행 환경에 의거하여 그 함수의 이름이 변경되더라도, 다양한 OS들 상에서 동일한 기능들을 제공할 수 있다. 시스템 호출이 호출되면, OS의 커널(kernel) 서비스가 기동된다.
도 7은 종래의 디바이스 제어기를 나타내는 블록도이다. 디바이스(55)는 OS(561)에 링크되어 있는 디바이스 드라이버(562)에 의해 동작된다. 애플리케이션 프로그램(571)은 시스템 호출(574)을 실행하는 고레벨 애플리케이션 프로그래밍 인터페이스(API)(572)를 사용한다. OS(561)는 시스템 호출(574) 및 고레벨 API(572)를 제공한다.
디바이스 드라이버용 메시지 및, 디바이스 드라이버와 메시지를 교환하기 위한 절차(procedure)를 정의하는 이러한 종래의 디바이스 드라이버의 인터페이스는 디바이스에 의해 지원되는 기능들을 실현하기 위해서 공개적으로 사용될 수 있다. 게다가, 메시지 인터페이스는 표준화되어 있어, 프로그램의 수정없이, 다른 제조업자에 의해 제작된 디바이스에 대해서 동일한 프로그램을 실행시킬 수 있으며, 디바이스의 이용 보급을 촉진시킨다.
전형적으로 시스템 호출보다 더 높은 레벨에 있는 고레벨 API를 정의함으로써 메시지 인터페이스의 표준화가 실현되는 경우, 고레벨 API는 OS에 의해 라이브러리 또는 DLL(dynamic link library)로서 제공된다. 실행 객체가 고레벨 API를 호출하는 경우, 고레벨 API는 시스템 호출을 호출하여 메시지를 디바이스 드라이버에 전송한다.
일반적으로는, 디바이스 드라이버의 단일 인스턴스(single instance)는 하나의 디바이스에 대해 존재하고, 고레벨의 API의 복수 인스턴스는 각 애플리케이션 프로그램에 대해 존재한다. 각 디바이스 드라이버에 대한 단일 인스턴스는, 동시에 복수의 애플리케이션 프로그램이 디바이스를 제어하고자 하는 경우에, 충돌(conflict)이 검출되는 배타 접근 제어(exclusive access control)를 실현하기 위해서 구성된다.
범용 OS를 구동하는 휴대형 전화 장치는 시장에서 입수할 수 있으며, OS의 유용한 기능들을 사용하고, OS상에서 구동되는 다양하고 유용한 애플리케이션 프로그램을 휴대용 전화의 무선 네트워크에 접속시켜 네트워크를 사용할 수 있다.
그러한 장치에서는, 무선 전화 또는 데이터 통신을 지원하는 디바이스가, OS를 구동하는 휴대형 컴퓨터에 접속되며, 디바이스와 OS간의 인터페이스가 디바이스 드라이버로서 제공된다. 이러한 기술은 다양한 이점을 제공한다. 이 예로서는, OS 및 애플리케이션 프로그램으로부터 디바이스를 제어하는 공개된 공용 수단의 제공, 및 사용자 공간과 커널 공간을 분리하는 메모리 보호 특징을 갖는 OS에서의 메모리 보호 특징의 유용성을 들 수 있다. 또한, 휴대형 전화 제조업자는 정교한 기능을 제공하면서 OS의 개발 비용을 줄일 수 있다. 게다가, OS의 개발자들은 가외 노동을 없애서 OS 또는 애플리케이션 프로그램을 다른 디바이스에 적용할 수 있어, 이에 의해, 가장 고성능의 디바이스를 이용가능하게 할 수 있다(일본 특허 출원, 공보 평성09-218844호 참조).
디바이스 제조업자 및 휴대형 전화 제조업자는 디바이스의 어떤 기능들을, 사용자 프로그램과 같은 신뢰할 수 없는 소프트웨어 프로그램으로부터의 액세스를 제한하면서 신뢰할 수 있는 소프트웨어 프로그램 또는 OS에는 디바이스에 대한 액세스를 허용하여, 디바이스 제어기, 또는 종래의 디바이스 제어기를 이용하여 디바이스를 제어하는 방법을 실현하기를 원한다. 즉, 실행 객체에 의한 open(), close(), read(), write(), ioctl()과 같은 시스템 호출의 이용이 허용되는 경우, 신뢰할 수 없는 소프트웨어 프로그램이라도 디바이스를 조작할 수 있다. 예컨대, 디바이스의 동작을 방해할 수 있는 동작, 사용자에 대해 과금하는 동작, 또는 신뢰 할 수 없는 소프트웨어 프로그램을 통해 사용자의 개인 정보를 판독하는 동작이 제한되어야 함에도 불구하고, 그러한 선택적 제한은 실현되기 어려웠다.
디바이스 드라이버와 실행 객체간의 메시지 인터페이스가 표준화되는 경우, OS는 특정 메시지를 사용함으로써 제한할 수 있다. 그러나, 디바이스-특정 기능이 그 사용을 제한하면서 이용되는 경우, OS는 많은 경우에 OS의 수정을 요구하는 제각각의 조건을 처리해야 한다. 디바이스로의 액세스 제한을 위한 OS 개발자에 의한 수정은 실질적인 해결책은 아니다.
본 발명의 목적은, 메시지 인터페이스의 호환성을 보증하면서, 디바이스상에서의 디바이스 드라이버에 의한 애플리케이션 프로그램으로의 액세스 제어를 설정할 때에 유연성을 적절히 증강시킬 수 있는 해결책을 제공하는 것이다.
전술한 문제점을 해결하기 위해서, 본 발명의 제 1 관점은, 디바이스를 제어하기 위한 디바이스 제어기에 있어서, 실행 객체(execution object)로부터 동작부로 메시지를 전송하는 전송부와, 상기 메시지에 응답하여 상기 메시지에 대응해서 미리 설정되어 있는 절차에 따라 상기 디바이스를 제어하는 제어부를 구비하되, 상기 전송부는, 상기 실행 객체로부터의 상기 메시지의 수신에 응답하여, 상기 실행 객체의 신뢰도를 나타내는 표시(indication)를 생성하는 평가부와, 상기 수신된 메시지에 상기 표시를 첨부하는 표시 첨부부와, 상기 표시에 대응하는 복수의 절차를 저장하는 기억부를 구비하며, 상기 제어부는 상기 메시지의 수신에 응답하여 상기 표시를 탐색하여, 상기 기억부에 저장된 복수의 절차로부터 소정의 절차를 실행하도록 구성된다.
본 발명의 제 2 관점은, 전술한 디바이스 제어기에 있어서, 상기 전송부는 상기 동작부에 전송되는 상기 메시지에 인증을 첨부하는 인증 첨부부를 더 구비하고, 상기 제어부는 상기 전송부로부터의 상기 메시지의 수신에 응답하여, 상기 인증의 유효성을 판정하여, 상기 인증의 유효성이 입증되지 않은 경우에 실행 객체로부터 보호한다.
또한, 본 발명의 제 3 관점은, 디바이스를 제어하는 방법에 있어서, 실행 객체로부터의 메시지 수신에 응답하여 실행 객체의 신뢰도를 나타내는 표시를 취득하는 단계와, 상기 표시가 첨부된 메시지를 전송하는 단계와, 표시가 첨부된 메시지의 수신에 응답하여 상기 표시를 탐색하는 단계와, 상기 실행 객체의 신뢰도에 따라 복수의 절차로부터 실행될 절차를 선택하는 단계를 실행한다.
또한, 본 발명의 제 4 관점은, 디바이스를 제어하는 프로그램에 있어서, 상기 프로그램은, 컴퓨터로 하여금, 상기 디바이스의 동작에 관한 메시지를 실행 객체로부터 수신하는 단계와, 상기 메시지를 전송하는 상기 실행 객체의 신뢰도를 나 타내는 표시를 취득하는 단계와, 상기 표시를 상기 수신된 메시지에 첨부하는 단계와, 상기 메시지를 상기 디바이스에 전송하는 단계를 실행시킨다.
또한, 본 발명의 제 5 관점은, 디바이스를 제어하기 위한 프로그램에 있어서, 상기 프로그램은, 컴퓨터로 하여금, 상기 디바이스의 동작에 관한 메시지를 전송하는 실행 객체의 신뢰도를 나타내는 표시가 첨부된 메시지를 수신하는 단계와, 상기 표시를 탐색하여, 각 메시지에 대한 상기 실행 객체의 신뢰도에 따라 설정되는 복수의 동작 절차로부터 하나의 동작 절차를 선택하는 단계와, 상기 선택된 동작 절차에 따라 상기 디바이스를 동작시키는 단계를 실행시킨다.
본 발명에 따르면, 실행 객체로부터의 수신된 메시지를, 디바이스를 동작시키는 동작부에 전송시에, 실행 객체의 신뢰도를 나타내는 표시를 취득하여 메시지에 첨부한다. 동작부는 이 표시를 탐색하여 해당 신뢰도에 따른 동작 절차를 선택하도록 구성된다. 따라서, 범용 OS를 컴퓨터에 유용하게 내장시킬 수 있어, 그 OS를 이용하는 시스템에 디바이스 드라이버를 구현할 수 있다.
즉, 전송부의 장점에 대해서, 전술한 표시를 취득하기 위한 기능을 갖는 전송부를 제공할 수 있기 때문에, 디바이스의 특징과는 별개의 표준화된 절차를 실행시킬 수 있어, 전송부는 디바이스 드라이버 및 실행 객체의 표준화된 인터페이스를 갖는 OS를 이용하도록 유리하게 구성될 수 있다. 또한, 동작부의 장점에 대해서, 동작부는 실행 객체 또는 전송부에 의해 제어됨이 없이 프로세싱 절차를 선택할 수 있고, 동작부는 프로세싱 절차의 선택시에 실행 객체의 신뢰도를 나타내는 표시를 탐색할 수 있다. 따라서, 유리하게는, 동작부를 이용하여 디바이스 드라이버를 구축할 수 있고, 외부로부터 디바이스로의 비인증된 액세스에 대항하여, 융통성 있는 대응책을 디바이스상에서의 동작만으로 취할 수 있다.
상기 관점에 따르면, 메시지의 송신자인 실행 객체의 신뢰도를 각 메시지에서 취득할 수 있어, 디바이스 드라이버는 디바이스의 기능을 제공할지 여부를 판정할 수 있다. 게다가, 디바이스 드라이버는 그 기능들이 제공될 때의 상세한 동작을 선택할 수 있다. 이러한 특징으로 인해서, 신뢰할 수 있는 실행 객체에 대해서만 디바이스의 기능을 제공하고, 신뢰할 수 없는 실행 객체에 대해서는 그 기능들을 제한하며, 적절하게 그 기능들을 수정할 수 있다. 해당 기능들의 제한 또는 수정이 디바이스 드라이버에 의해 판정되므로, 디바이스의 제조업자에 의해 채택된 방법 및/또는 디바이스 드라이버에 근거하여, OS의 수정에 대한 요청없이, 디바이스를 제어하는 것이 가능해진다.
또한, 전송부로부터 동작부로 전송되는 메시지에 전자 인증을 부가할 수 있어, 비인증 액세스 등에 대항하여 보호성을 더 강화할 수 있다. 전송부로부터의 메시지의 유효성이 확증되지 않는 경우, 예컨대, 동작부는 메시지를 무시하여 그러한 메시지에 응답하지 않거나, 디바이스 드라이버 등에 보안 레벨이 설정되는 경우에 그러한 보안 레벨을 높이거나, 전송부(즉, OS 등)에 대해 보안성을 강화하도록 알리는 등에 의해 소정의 보호 대책을 취할 수 있다.
전술한 구성은 OS로부터의 메시지를 모방하여 디바이스를 부정하게 동작시킬 목적을 디바이스 드라이버가 검출할 수 있는 시스템을 구축하는데 유리할 수 있다. 이러한 공격의 검출에 응답하여, 디바이스 드라이버는 더 높은 보안 모드로 전환하 면서 공격을 OS에 통보하여 그 보안성을 강화할 것을 OS에 고지할 수 있다.
이하, 본 발명의 다양한 실시예에 대해서 도면을 참조하여 설명한다.
도 3은 본 발명의 일 실시예에 적용되는 휴대용 전화의 회로 구성의 일례를 나타내는 블록도이다. 이 휴대용 전화 장치는 그 장치의 전체 동작 및 다양한 기능 블록을 제어하는 CPU(central processing unit)(101)을 갖는 구성으로 이루어지며, 각 기능 블록은 내부 버스(201)를 통해 CPU(101)에 접속된다. 메모리(102)는 RAM(random access memory) 및 ROM(read only memory)을 포함하고 있으며, CPU(101)의 메인 메모리를 구성하고 있다. 타이머(103)는 CPU(101)로부터의 표시에 따라, 지정 시각에서의 개시와 같은 다양한 동작을 실행하도록 구성되어 있다.
안테나(301)는 통신에 사용되는 무선파를 송신하거나 수신하도록 구성되어 있다. 무선 유닛(302)은 안테나(301)를 이용하여 통신을 실행하도록 구성된다. DSP(digital signal processor)(303)는 송수신 신호의 변복조 동작과 같은 다양한 동작을 실행하도록 구성된다. D/A 컨버터(digital/analog converter)(304)는 DSP(303)로부터 출력되는 디지털 오디오 신호 또는 호출음(ring tones)을 스피커(305)로 전송되는 아날로그 오디오 신호로 변환하도록 구성되어 있다. D/A 컨버터(306)는 마이크(307)로부터 입력되는 아날로그 오디오 신호를 DSP(33)에 공급되는 디지털 오디오 신호로 변환하도록 구성된다. 마이크는 호출자의 음성 등을 입력하도록 구성된다.
키 조작 유닛(401)은 예컨대 숫자 키, 온-훅 키, 오프-훅 키, 전원 버튼, 셔 터 해제 버튼, 기능 선택 키(기능 키)와 같은 키를 포함하며, 키의 키 입력을 포착하도록 구성된다. 표시 유닛(402)은 예컨대 액정 패널 또는 액정 터치 패널을 포함하며, 통신에 관한 다양한 표시, 메시지, 메뉴 화면 또는 다양한 애플리케이션 프로그램의 실행 화면을 출력하도록 구성된다.
전술한 구성을 갖는 휴대용 전화 장치는, 통상의 휴대용 전화 장치들에서와 같이, 음성 호출 모드에 부가하여 애플리케이션 실행 모드를 조작할 수 있다. 애플리케이션 실행 모드에서는, 사용자에 의해 인스톨된 어떠한 애플리케이션 프로그램을 개시하거나 실행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 디바이스 제어기의 상세 블록도이다. 이 도면에서, 참조부호 (5)는 디바이스를 나타낸다. 하나의 디바이스만이 도시되어 있지만, 복수의 디바이스를 사용할 수도 있다. 참조부호 (6)은 디바이스(5)를 제어하는 디바이스 제어기를 나타내며, 참조부호 (7)은 메시지를 디바이스(5)에 전송하는 실행 객체를 나타낸다. 디바이스 제어기(6) 또는 실행 객체(7)는 예컨대 도 3에 도시한 CPU(101) 또는 메모리(102)와 같은 하드웨어 리소스와, OS, OS에 의해 실행되는 디바이스 드라이버 프로그램 및 OS에 인스톨된 애플리케이션 프로그램과 같은 소프트웨어 리소스 간의 협력 동작에 의해 실행된다.
운영 체계(OS)(61)는 도 1에 도시하는 바와 같이, 애플리케이션 프로그램(71)을 실행하는 프로세스를 생성한다. 애플리케이션 프로그램(71)은 고레벨 애플리케이션 프로그램 인터페이스(application program interface; API)(72)에 링크되어 있을 뿐만 아니라, 다운로드 실행시에 다운로드되는 외부 실행 객체(73)와도 링크되어 있다. 고레벨 API(72)는 시스템 호출(74)에도 링크되어 있다. 시스템 호출(74)은 커널의 서비스를 기동하기 위한 표준 함수이며, 애플리케이션 프로그램(71)의 프로세스에 링크되어 있는 동안 존재한다. 애플리케이션 프로그램(71), 고레벨 API(72), 실행 객체(73), 및 시스템 호출(74)은 애플리케이션 프로그램(71)의 프로세스 인스턴스로서 실행 객체(7)를 형성한다.
이하에서 사용되는 바와 같이, 용어 "실행 객체"는 실행 가능한 프로그램의 세트를 나타낸다. 실행 객체는 사용자 또는 소프트웨어 작성자에 의해 작성된 애플리케이션 프로그램, OS에 의해 제공되는 DLL 또는 라이브러리, 또는 네트워크나 매체를 통해 얻어진 객체일 수 있다. 예컨대, 실행 객체는 애플리케이션 프로그램, 실행시에 동적으로 링크되는 DLL 또는 객체, 인터프리터(interpreters)에서 실행되는 프로그램 또는 스크립트, 또는 가상 머신(virtual machine) 상에서 실행되는 바이트 코드의 객체일 수도 있다. 더욱이, 그 객체에 링크되는 사용자 프로세스 또는 커널 프로세스는 실행 객체로서 인식될 수 있다.
애플리케이션 프로그램(71)이 고레벨 API(72)를 호출하는 경우, 고레벨 API(72)는 디바이스 드라이버(62)에 전송하기 위한 적당한 메시지를 인수(argument)로서 명시하여 시스템 호출(74)을 호출한다. 시스템 호출(74)은 open(), close(), read(), write(), ioctl() 등을 포함하는 함수의 그룹이고, 메시지는 ioctl() 함수에 의해 OS(61)로 전송된다. OS(커널)(61)는 메시지가 디바이스 드라이버(62)에 전송되기 전에 실행 객체(7)를 평가하는 평가 유닛(611)을 포함하고 있다.
평가 시에는, 실행 객체(7)가 OS(61)의 사용자 프로세스 또는 커널 프로세스 인지가 판정된다. 그 후, 그 프로세스가 기지의(known) 프로세스인지 비기지의(unknown) 프로세스인지를 판정한다. 이 판정의 범위는 프로세스의 동작 모드를 판정하는 것에 좁아진다.
프로세스가 기지의 커널 프로세스인 경우, 그 평가값을 미리 판정함으로써 즉시 판정이 이루어진다. 평가값은 상위 8비트가 클래스(class)를 나타내고 하위 8비트가 그 클래스 내의 상세 평가값을 나타내는 부호없는 16비트 값(unsigned 16-bit values)이다. 클래스는 "기지의 객체", "디지털 서명된 비기지의 객체", "비기지의 안전 객체" 및 "기타 객체"의 4가지 형태로 규정된다. 이들 4가지 형태 이외의 평가값의 상위 8비트 값은 역으로 되어 무효이다.
프로세스가 비공지의 프로세스인 경우, 평가 유닛(611)은 그 때에 프로세스 인스턴스가 링크되는 모든 실행 객체를 조사하여, 실행 객체의 평가값 중에서 가장 작은 평가값을 실행 객체(7)의 평가값으로서 설정한다. 이 예에서는, 애플리케이션 프로그램(71), 고레벨 API(72), 동적으로 링크된 실행 객체(73), 및 시스템 호출(74)이 링크되어 있기 때문에, 그들 평가값을 조사하여 가장 낮은 값이 판정된다. 고레벨 API(72) 및 시스템 호출(74)이 OS(61)에 의해 제공되는 DLL이므로, 그것들은 기지의 것이어서, 높은 평가값을 갖는 신뢰할 수 있는 객체이므로 Class 1에 속한다. Class 1은 기지의 객체를 의미한다. 기지의 객체는 OS(61)와 함께 번들로서 제공된 실행 객체이며, 그들의 신뢰성은 OS(61)에 의해 보증된다.
애플리케이션 프로그램(71)은 비기지의 것이기 때문에, 통상의 조건 하에서 낮은 평가값을 가진다. 그러나, 생성자(creator) 또는 배포자(provider)의 사인이 첨부되어 신뢰도가 높아진 경우에는, Class 2에 속하는 조금 높은 값을 그 평가값으로서 설정할 수 있다. Class 2는 디지털 서명된 비기지의 객체를 의미한다. 그 디지털 서명된 비기지의 객체를 OS(61)가 알지 못하더라도, 디지털 서명이 제공되어 있어, 그 객체는 그 서명이 OS(61)에 의해 입증되어 신뢰성이 확인된 실행 객체이다.
다운로드되어 동적으로 링크되는 실행 객체(73)는 불안전한 것으로서 간주되어, 그 평가값은 Class 4에 속하는 낮은 값이다. Class 4는 부정 실행 객체(tampered execution object) 또는 소정의 판정 기준에 근거하여 불안전한 것으로서 판정되는 실행 객체를 의미한다. Class 4의 객체는 그 디지털 서명의 입증 결과 또는 판정 기준에 근거한 불안전한 것이어서 부정한 것으로서 판정한 실행 객체이다. Class 3의 객체는 디지털 서명이 없는 비기지의 안전한 객체이고, 소정의 판정 기준에 근거하여 안전하다고 판정된 실행 객체이다.
평가 유닛(611)은 실행 객체(73)의 평가값을 실행 객체(7)의 평가값으로서 이용한다. 실행을 위해 네트워크로부터 필요한 객체를 다운로드되는 네트워크 지향 실행 객체의 경우는, 실제로 호출될 때까지는 링크는 이루어지지 않는다. 그러한 실행 환경에서는, 링크되는 객체가 동적으로 변화된다. 링크된 모든 객체의 모든 평가값을 평가하는 것은 불가능하므로, 실행 객체는 Class 4에 속하는 낮은 평가값으로 주어진다.
첨부 유닛(612)은 표시(indication)를 메시지에 첨부한 후에 그 메시지를 디바이스 드라이버(62)에 전송한다. 디바이스 드라이버(62)는 그 메시지에 첨부된 표시에 따라 절차를 선택하는 선택 유닛(621)과, 각 메시지에 대해 디바이스(5)에 대한 동작을 실행시키는 동작 유닛(622)을 포함하고 있다. 동작 유닛(622)은 프로세싱 절차가 저장되어 있는 영역(6221)을 탐색하도록 구성되어 있다. 예컨대, 4가지 형태의 메시지가 있다고 하면, 그 영역은 4개의 절차 카테고리, 즉 각 메시지 형태에 대응하는 카테고리 Ⅰ~Ⅳ로 분할된다. 각 절차 카테고리에 있어서, 복수의 절차(6221-1, 6221-2, …)는 평가값에 대응하여 저장된다.
선택 유닛(621)은 표시를 검색하여, 그 표시에 따라 실제 절차를 변경한다. 그 표시가, 실행 객체(7)가 커널 프로세스인 것을 표시하는 경우 및 평가 객체(7)가 기지의 것인 경우, 디바이스 드라이버(62)는 매우 다양한 기능들을 제공한다. 실행 객체(7)가 커널 프로세스이지만 비기지의 것인 경우는, 그 기능들은 제한된다. 예컨대, 디바이스 드라이버가 다른 디바이스 드라이버를 호출하는 경우, 그것은 비기지의 커널 프로세스이다. 당해 표시가, 실행 객체가 사용자 프로세스인 것을 나타내는 경우, 디바이스(5) 상에서의 실제 동작은 평가값의 중요도에 따라 수정되어, 제공되는 기능들이 제한된다. 예를 들면, 메시지에 대응하는 디바이스(5) 상에서의 모든 동작을 무효화함과 아울러 에러 코드를 리턴함으로써, 디바이스(5)는 실행 객체(7)의 제어로부터 보호된다.
도 4는 본 발명의 일 실시예에 따른 OS의 주요 흐름을 나타내는 흐름도이다. 도 1 및 도 4를 참조하면, OS(61)가, 디바이스 드라이버(62)로 실행 객체(7)가 어드레싱하는 메시지를 전송하기 위한 절차를 실행한다(단계 S101), 이것은 OS(61)에 의해 제공되는 ioctl() 시스템 호출을 애플리케이션 프로그램에 대해 호출함으로써 취득된다. ioctl() 시스템 호출은 개방된 디바이스의 디스크립터, 메시지, 입력 데이터에 대한 포인터, 출력 데이터에 대한 포인터를 인수로서 취입하는 함수이며, 액세스시에 "0"으로, 에러가 발생하는 경우 "-1"로 리턴된다. 도 4에 도시한 주요 흐름을 실행하기 전에 디바이스(5)가 개방되고, 디바이스의 유효 디스크립터가 획득되어 있다는 것을 유념해야 한다. ioctl()에 있어서, OS(61)의 커널 서비스가 기동되어 단계 S102로 진행된다.
단계 S102에 있어서, OS(61)에 포함되는 평가 유닛(611)은 메시지의 생성자(originator)인 실행 객체(7)를 평가하고 표시를 생성한다. OS(61)는 그 때에 실행되고 있는 프로세스를 탐색하여, 커널 모드 실행 또는 사용자 모드에서 실행되는지 여부를 판정한다. 게다가, 실행 프로세스가 기지의 커널 프로세스인지를 판정하여, 기지의 프로세스이면, 사전 결정된 표시를 참조한다. 실행 프로세스가 비공지의 프로세스인 경우, 그 프로세스에 대응하는 표시를 생성한다. 그 때에, 디지털 서명이 첨부되었는지를 판정하고, 첨부되었다면, 그 서명이 유효하며, 수정되지 않은 것이다. 디지털 서명이 없는 비기지의 프로세스에 대해서는, 공개된 소정의 판정 기준에 근거하여 판정이 이루어진다. 이 판정에 근거하여, 객체를 안전한 실행 객체 및 기타 실행 객체로 분류된다. 해당 표시에는, 프로세스의 실행 모드를 나타내는 플래그, 평가값, 식별 정보 및 해당 프로세스에서의 평가값을 판정하는 실행 객체의 신뢰도 정보가 포함되어 있다.
그 후, 단계 S103으로 진행한다. 단계 S103에서, OS(61)는 메시지 및 표시를 디바이스 드라이버(62)에 전송하는 절차를 수행한다. OS(61)는 디바이스 드라이버가 명시된 관리 테이블을 갖고 있어, 해당 디바이스(5)에 따른 디스크립터에 의해 명시된 디바이스 드라이버(62)를 기동시킬 수 있다.
그 후, 단계 S104로 진행한다. 단계 S104에서, 디바이스 드라이버(62)는 메시지 및 표시에 근거하여 동작을 수정하면서 디바이스(5)상에서의 동작을 실행시킨다. 도 5는 디바이스 드라이버의 처리 흐름을 나타내는 흐름도이다. 도 1 및 도 5를 참조하면, 먼저, 디바이스 드라이버(62)는 인수로서 규정된 메시지에 따라 소정의 절차를 선택한다(단계 S201). 인수에서의 메시지가 Message 1인 경우, 제 1 절차(S202-1)를 실행한다. 인수에서의 메시지가 Message 2인 경우는, 제 2 절차(S202-2)를 실행한다. 인수에서의 메시지가 Message 3인 경우, 제 3 절차(S202-1)를 실행한다. 인수에서의 메시지가 Message 4인 경우는, 제 4 절차(S202-4)를 실행한다. 디바이스를 제어하는데 요구되는 소정 수의 메시지 및 소정 수의 절차가 사용될 수 있다.
제 1 내지 제 4 절차(S202-1~S202-4)에 있어서는, 상세히 후술하는 바와 같이, 디바이스(5)는 표시에 근거하여 동작을 수정하면서 동작된다. 제 1 내지 제 4 절차(S202-1~S202-4) 중 하나가 리턴되면, 단계 S203이 실행된다. 단계 S203에서, 제 1 내지 제 4 절차(S202-1~S202-4) 중 하나의 리턴 값은 도 5에 도시한 절차의 결과로서의 리턴 값으로 설정된다. 리턴 값은 에러가 발생하지 않는 경우에 "0"을, 에러 시에는 "-1"이다.
도 6은 도 5에 도시한 제 1 내지 제 4 절차의 흐름의 특정 예를 나타내는 흐름도이다. 도 6을 참조하면, 표시에 포함되는 평가값의 클래스가 체크되어 분기 동작이 수행된다(S301). 평가값의 상위 8 비트가 클래스를 나타내기 때문에, 해당 클래스를 용이하게 판정할 수 있다. 본 예에서는, 평가값에 따라 4형태의 절차 중 하나의 절차로 흐름이 분기된다. 즉, 평가값의 클래스가 Class 1인 경우, 제 1 절차(S302-1)가 실행된다. 평가값의 클래스가 Class 2인 경우에는, 제 2 절차(S302-2)가 실행된다. 평가값의 클래스가 Class 3인 경우는, 제 3 절차(S302-3)가 실행된다. 평가값의 클래스가 Class 4인 경우에는, 제 4 절차(S302-4)가 실행된다.
Class 1은 기지의 객체이기 때문에, 제 1 절차(S302-1)에서 객체의 아이덴티티(identity)를 판정하여 적절한 절차로 분기할 수 있는 정보를 추출하는 것이 가능하다. Class 2가 디지털 서명된 비기지의 객체이므로, 디바이스 상에서의 판독 동작은 제 2 절차(S302-2)에서 서명의 생성자가 디바이스의 제조업자인 경우에만 허용된다. 서명의 생성자가 신뢰할 수 있는 관련 회사인 경우, 디바이스의 상태에서의 판독 동작만 허용된다. 크리에이터가 이들 이외의 것(party)인 경우, 제한된 상태의 판독 동작, 즉 공공연한 것만이 허용된다. Class 3이 비공지의 안전한 객체이기 때문에, 객체의 출처가 알려지기 않았거나 또는 객체가 소정의 판정 기준에 따라 안전한 것이라고 판정된 것이므로, 제 3 절차(S302-3)에서 제한된 상태의 판독 동작만이, 즉 공공연한 것만이 판독 동작만이 허용된다.
Class 4가, 수정되었거나 불안전한 것이라고 판정된 실행 객체이므로, 제 4 절차(S302-4)에서 대부분의 기능들은 거부된다. 몇몇의 경우에, 불안전한 실행 객체에 노출되어 있음을 디바이스(5)에 통지하여, 디바이스(5)가 소정의 적절한 보호 상태로 전환하도록 할 수 있다. 디바이스(5)가 보호 상태로 전환되는 경우, 높은 요금으로 과금할 수 있는 소정의 서비스로의 액세스를 금지하거나 또는 사용자의 개인 정보로의 접근을 금지하는 것과 같은 다양한 조치를 취하는 것도 가능하다.
이러한 구성에 따르면, 디바이스 드라이버(62)의 판단에 근거하여, 해당 표시에 따라 메시지에 대응하는 실제 동작을 수정하는 것이 가능하게 된다. 그 결과, 디바이스의 제조업자들은 디바이스의 기능을 제한하거나, OS 개발자와는 별개로 디바이스의 제조업자에 의해 설정된 기준에 근거하여 소정의 기능으로의 접근을 거부할 수 있다.
도 1로 되돌아가, 전술한 실시예에서는, 디바이스 드라이버(62)에 전송될 메시지 및 표시가 평가 유닛(611)과 OS(61)에 의해 정확하게 생성되었는지 여부에 대해서 판정이 이루어지지 않았다. 따라서, 디바이스 드라이버(62)를 DLL로서 직접 링크시킴으로써 부정한 애플리케이션이 디바이스를 동작시킬 수도 있다. 그러나, 먼저 OS(61)의 커널이 디바이스 드라이버(62)를 링크시키고, 이후에 링크된 디바이스 드라이버 인스턴스는 첫번째 인스턴트가 아니라고 인식할 수 있어, 그러한 동작을 거부할 수 있다.
게다가, 안전 보증이 더 중요하므로, OS(61)가 메시지 및 표시를 디바이스 드라이버(62)에 전송하는 단계 S103에서(도 4 참조), 평가 유닛(611) 및 OS(61)에 의해 생성되었음을 나타내는 디지털 서명을 첨부하여, 수정되지 않게 할 수 있다. 디바이스 드라이버(62)는 그 사실을 보증할 수 있다. 이 경우, OS(61)는 일련 번호 또는 의사 랜덤 번호를 메시지 및 표시에 첨부하여, 3조각의 정보의 해시(hashes)를 생성하고, (인증 첨부부에 의해) OS(61)의 비밀 키로 암호화한 후에 그들을 디바이스 드라이버(62)로 전송한다. 디바이스 드라이버는 수신된 조각들의 정보의 해시를 생성하여, OS(61)의 공개 키를 이용해서 수신된 암호화된 데이터(1)를 해독하여, (판정부에 의해) 그들을 매칭하여 해시를 비교함으로써 가변조 유무를 검증한다. 수신 메시지가 가변조된 경우는, 디바이스 드라이버(62)는 (보호부에 의해) 디바이스가 디바이스를 동작시키기 위한 인증되지 않은 공격을 매우 받기 쉽기 때문에 보호 모드로 전환된다. 보호 모드에서는, 실행 객체로부터의 메시지는 모두 무시되어, 그 보안 레벨 설정이 강화된다. 게다가, OS(61)가 보호 조치를 신속하게 취하도록 할 수 있다. OS(61)의 비밀 키가 다른 키에 의해 암호화되어 저장된 경우에, 부당한 애플리케이션에 의해 비밀 키를 도둑맞을 위험성을 줄일 수 있음을 유의해야 한다.
게다가, 본 발명에 따른 프로그램은 컴퓨터 판독 가능 기록 매체에 기록되어 배포될 수 있으며, 해당 기능 부분만이 실행되는 방식으로 배포될 수도 있다. 예컨대, 본 발명의 프로그램은 컴퓨터 시스템에 기록되는 현재 시스템용 프로그램과 조합하여 소정의 기능을 실현할 수 있는 다른 프로그램으로서 배포될 수도 있다.
또한, 전술한 컴퓨터 판독 가능한 기록 매체는, 휴대용 자기 디스크, 자기 광학 디스크와 같은 기억 매체에 부가하여, 하드디스크 및 다른 비휘발성 기억 장치 등과 같은 기억 장치를 포함한다. 또한, 본 발명의 프로그램은 인터넷 또는 다 른 네트워크와 같은 어떤 전송 매체를 경유하여 다른 컴퓨터 시스템에 제공될 수 있다. 이 경우, 용어 "컴퓨터 판독 가능한 기록 매체"는, 전송 매체 상에서 소정 주기용 프로그램을 포함하고 호스트 또는 클라이언트 컴퓨터로서 기능하는 컴퓨터 시스템의 휘발성 메모리와 같은 소정 매체를 포함한다.
본 발명의 실시예를 전술하였지만, 이들은 본 발명의 예로서 이들에 한정되는 것은 아니라고 생각해야 할 것이다. 추가, 생략, 대체, 다른 변형들은 본 발명의 사상 또는 범주를 벗어나는 것은 아니다. 따라서, 본 발명은 전술한 설명에 의해서 한정되는 것은 아니라고 생각해야 하며, 첨부한 특허청구범위의 범위에 의해서만 한정된다.
예컨대, 몇몇 추가되는 디바이스가 사용자 모드 또는 커널 모드와 같은 어떠한 메모리 보호 특징부를 부가하지 않은 운영 체계를 가지고 있더라도, 본 발명은 그 경우에도 적용할 수 있다. 또한, 몇몇 OS는 다중 처리 기능을 갖고 있지 않다. 그러나, 그러한 경우라도, OS가 애플리케이션 프로그램을 실행하기 위한 실행 유닛으로서의 실행 객체를 관리하기 때문에, 본 발명은 각 OS에 대해 특정되는 관리 개요에 따라 실행 객체 내의 구성성분 객체 그룹을 검색함으로써 효과적으로 적용할 수 있다.
이상 설명한 바와 같이, 본 발명에 의하면, 메시지 인터페이스의 호환성을 보증하면서, 디바이스상에서의 디바이스 드라이버에 의한 애플리케이션 프로그램으 로의 액세스 제어를 설정할 때에 유연성을 적절히 증강시킬 수 있는 해결책을 제공할 수 있다.

Claims (5)

  1. 디바이스를 제어하기 위한 디바이스 제어기에 있어서,
    실행 객체(execution object)로부터 동작부로 메시지를 전송하는 전송부와,
    상기 메시지에 응답하여 상기 메시지에 대응해서 미리 설정되어 있는 절차에 따라 상기 디바이스를 제어하는 제어부
    를 구비하되,
    상기 전송부는,
    상기 실행 객체로부터의 상기 메시지의 수신에 응답하여, 상기 실행 객체의 신뢰도를 나타내는 표시(indication)를 생성하는 평가부와,
    상기 수신된 메시지에 상기 표시를 첨부하는 표시 첨부부와,
    상기 표시에 대응하는 복수의 절차를 저장하는 기억부를 구비하며,
    상기 제어부는 상기 메시지의 수신에 응답하여 상기 표시를 탐색하여, 상기 기억부에 저장된 복수의 절차로부터 소정의 절차를 실행하도록 구성되는
    디바이스 제어기.
  2. 제 1 항에 있어서,
    상기 전송부는 상기 동작부에 전송되는 상기 메시지에 인증을 첨부하는 인증 첨부부를 더 구비하고,
    상기 제어부는 상기 전송부로부터의 상기 메시지의 수신에 응답하여, 상기 인증의 유효성을 판정하여, 상기 인증의 유효성이 입증되지 않은 경우에 실행 객체로부터 보호하는
    디바이스 제어기.
  3. 디바이스를 제어하는 방법에 있어서,
    실행 객체로부터의 메시지 수신에 응답하여 상기 실행 객체의 신뢰도를 나타내는 표시를 취득하는 단계와,
    상기 표시가 첨부된 메시지를 전송하는 단계와,
    상기 표시가 첨부된 상기 메시지의 수신에 응답하여 상기 표시를 탐색하는 단계와,
    상기 실행 객체의 신뢰도에 따라 복수의 절차로부터 실행될 절차를 선택하는 단계
    를 포함하는 디바이스 제어 방법.
  4. 디바이스를 제어하는 프로그램이 저장된 기록 매체에 있어서,
    상기 프로그램은, 컴퓨터로 하여금,
    상기 디바이스의 동작에 관한 메시지를 실행 객체로부터 수신하는 단계와,
    상기 메시지를 전송하는 상기 실행 객체의 신뢰도를 나타내는 표시를 취득하는 단계와,
    상기 표시를 상기 수신된 메시지에 첨부하는 단계와,
    상기 메시지를 상기 디바이스에 전송하는 단계
    를 실행시키는
    디바이스 제어 프로그램이 저장된 기록 매체.
  5. 디바이스를 제어하기 위한 프로그램이 저장된 기록 매체에 있어서,
    상기 프로그램은, 컴퓨터로 하여금,
    상기 디바이스의 동작에 관한 메시지를 전송하는 실행 객체의 신뢰도를 나타내는 표시가 첨부된 메시지를 수신하는 단계와,
    상기 표시를 탐색하여, 각 메시지에 대한 상기 실행 객체의 신뢰도에 따라 설정되는 복수의 동작 절차로부터 하나의 동작 절차를 선택하는 단계와,
    상기 선택된 동작 절차에 따라 상기 디바이스를 동작시키는 단계
    를 실행시키는
    디바이스 제어 프로그램이 저장된 기록 매체.
KR1020060044776A 2005-05-23 2006-05-18 디바이스 제어기, 디바이스 제어 방법 및 디바이스 제어프로그램이 저장된 기록 매체 KR100790602B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00149746 2005-05-23
JP2005149746A JP4647392B2 (ja) 2005-05-23 2005-05-23 デバイス制御装置、デバイス制御方法およびプログラム

Publications (2)

Publication Number Publication Date
KR20060121106A KR20060121106A (ko) 2006-11-28
KR100790602B1 true KR100790602B1 (ko) 2008-01-02

Family

ID=37443595

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060044776A KR100790602B1 (ko) 2005-05-23 2006-05-18 디바이스 제어기, 디바이스 제어 방법 및 디바이스 제어프로그램이 저장된 기록 매체

Country Status (4)

Country Link
US (1) US8117451B2 (ko)
JP (1) JP4647392B2 (ko)
KR (1) KR100790602B1 (ko)
CN (1) CN1869927B (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7607043B2 (en) * 2006-01-04 2009-10-20 International Business Machines Corporation Analysis of mutually exclusive conflicts among redundant devices
US8918905B2 (en) 2006-06-06 2014-12-23 Future Dial, Inc. Method and system to provide secure exchange of data between mobile phone and computer system
US8875271B2 (en) 2006-12-08 2014-10-28 Microsoft Corporation Executing unsigned content and securing access in a closed system
JP4889575B2 (ja) * 2007-06-11 2012-03-07 日本電信電話株式会社 アクセス許可設定方法、アクセス許可設定装置およびアクセス許可設定プログラム
US20090083766A1 (en) * 2007-09-26 2009-03-26 Towson University Systems for performing bare machine computer applications
US20110016477A1 (en) * 2009-07-14 2011-01-20 Microsoft Corporation Pre-calculation and caching of dependencies
JP2012003679A (ja) * 2010-06-21 2012-01-05 Kyocera Mita Corp 画像形成装置用追加アプリケーションのセキュリティ確保方法、画像形成システム及び画像形成装置
US8590060B2 (en) * 2010-10-08 2013-11-19 Tandberg Data Holdings S.A.R.L. Virtual removable disk device for removable storage media
CN102902910B (zh) * 2011-07-28 2013-10-23 腾讯科技(深圳)有限公司 驱动保护方法及系统
TWI651070B (zh) 2013-12-06 2019-02-21 瑞士商拜耳保健消費品股份有限公司 用於施配可流動材料之施配器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050062766A (ko) * 2002-08-06 2005-06-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 설정 및 관리 프로토콜
KR20050115317A (ko) * 2003-03-27 2005-12-07 코닌클리케 필립스 일렉트로닉스 엔.브이. 원격 제어를 위한 디바이스, 제어기, 방법 및 신호

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2607538B2 (ja) 1987-08-28 1997-05-07 株式会社日立製作所 加算回路
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US5815707A (en) 1995-10-19 1998-09-29 Hewlett-Packard Company Dynamic function replacement for streams framework
US5893926A (en) * 1995-12-08 1999-04-13 International Business Machines Corporation Data buffering technique in computer system
US7341177B2 (en) * 1996-11-27 2008-03-11 Diebold, Incorporated Automated transaction machine system and method
US5968136A (en) * 1997-06-05 1999-10-19 Sun Microsystems, Inc. Apparatus and method for secure device addressing
FR2785119B1 (fr) 1998-10-27 2000-12-08 Gemplus Card Int Procede et systeme de gestion du risque dans un reseau de telephonie mobile
DE19918896A1 (de) * 1999-04-26 2000-11-02 Mueschenborn Hans Joachim Logisches Netzwerksystem
FR2802674B1 (fr) * 1999-12-21 2004-08-27 Bull Sa Dispositif et procede de controle d'acces a des ressources
US20010034839A1 (en) * 1999-12-24 2001-10-25 Guenter Karjoth Method and apparatus for secure transmission of data and applications
JP2001243079A (ja) 2000-03-02 2001-09-07 Omron Corp 情報処理システム
JP4177957B2 (ja) * 2000-03-22 2008-11-05 日立オムロンターミナルソリューションズ株式会社 アクセス制御システム
JP3889251B2 (ja) * 2001-07-25 2007-03-07 シャープ株式会社 画像処理システム
JP2002247548A (ja) * 2001-02-15 2002-08-30 Nec Access Technica Ltd 映像表示許可方式、コンピュータに映像表示を行わせるためのプログラム
US7624439B2 (en) * 2001-10-29 2009-11-24 Seventh Knight Authenticating resource requests in a computer system
US7398389B2 (en) * 2001-12-20 2008-07-08 Coretrace Corporation Kernel-based network security infrastructure
ATE470286T1 (de) * 2002-09-12 2010-06-15 Software Ag Validierung und erzeugung einer digitalen unterschrift
JP2004185531A (ja) * 2002-12-06 2004-07-02 Hitachi Ltd データ通信可能な情報処理装置
US8136155B2 (en) * 2003-04-01 2012-03-13 Check Point Software Technologies, Inc. Security system with methodology for interprocess communication control
JP2004318720A (ja) * 2003-04-18 2004-11-11 Aplix Corp アクセス制限方法およびアクセス制限プログラム
KR100516504B1 (ko) * 2003-09-30 2005-09-26 (주)잉카엔트웍스 네트워크를 통하여 개인 휴대 단말기와 데이터 동기화를수행하기 위한 방법 및 그 시스템
JP2005115487A (ja) * 2003-10-03 2005-04-28 Sharp Corp 記録再生装置及びファイルアクセス方法
US20050085222A1 (en) * 2003-10-17 2005-04-21 Nokia Corporation Software updating process for mobile devices
US20050138211A1 (en) * 2003-12-19 2005-06-23 Mobile Action Technology Inc. Data synchronization system with data security and proxy capabilities
US7810103B2 (en) * 2004-04-30 2010-10-05 Microsoft Corporation System and method for validating communication specification conformance between a device driver and a hardware device
US7346808B2 (en) * 2004-06-09 2008-03-18 Hewlett-Packard Development Company, L.P. Diagnostic method, system, and program that isolates and resolves partnership problems between a portable device and a host computer
US7600232B2 (en) * 2004-12-07 2009-10-06 Microsoft Corporation Inter-process communications employing bi-directional message conduits
US7743255B2 (en) * 2005-06-17 2010-06-22 Tanmoy Dutta Trust model for a database management system supporting multiple authorization domains
US8918905B2 (en) * 2006-06-06 2014-12-23 Future Dial, Inc. Method and system to provide secure exchange of data between mobile phone and computer system
US20080184123A1 (en) * 2007-01-26 2008-07-31 Shuqair Michel A D System And Method For Providing A Secure Connection Between A Computer And A Mobile Device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050062766A (ko) * 2002-08-06 2005-06-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 네트워크 설정 및 관리 프로토콜
KR20050115317A (ko) * 2003-03-27 2005-12-07 코닌클리케 필립스 일렉트로닉스 엔.브이. 원격 제어를 위한 디바이스, 제어기, 방법 및 신호

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
한국 공개특허공보 제10-2005-0062766호
한국 공개특허공보 제10-2005-0115317호

Also Published As

Publication number Publication date
US8117451B2 (en) 2012-02-14
US20060265757A1 (en) 2006-11-23
KR20060121106A (ko) 2006-11-28
CN1869927A (zh) 2006-11-29
CN1869927B (zh) 2012-04-25
JP2006330835A (ja) 2006-12-07
JP4647392B2 (ja) 2011-03-09

Similar Documents

Publication Publication Date Title
KR100790602B1 (ko) 디바이스 제어기, 디바이스 제어 방법 및 디바이스 제어프로그램이 저장된 기록 매체
KR100607423B1 (ko) 사용허가를 이용한 장치자원의 애플리케이션으로의 할당
US20170277886A1 (en) System and method of authorizing execution of software code based on at least one installed profile
Sivakumaran et al. A Study of the Feasibility of Co-located App Attacks against {BLE} and a {Large-Scale} Analysis of the Current {Application-Layer} Security Landscape
US20090254753A1 (en) System and method of authorizing execution of software code based on accessible entitlements
US20100229242A1 (en) Program execution control system, program execution control method and computer program for program execution control
US20090249064A1 (en) System and method of authorizing execution of software code based on a trusted cache
WO2013142948A1 (en) Method and system for preventing and detecting security threats
EP1836637A1 (en) Programmable processor supporting secure mode
KR101041761B1 (ko) 디바이스 무결성을 판정하는 방법 및 장치
WO2008085367A1 (en) Trusting an unverified code image in a computing device
CN107870793B (zh) 一种应用程序中加载so文件的方法及装置
US9344406B2 (en) Information processing device, information processing method, and computer program product
US7818815B2 (en) Communication device
JP2012008732A (ja) インストール制御装置およびプログラム
JP4664055B2 (ja) プログラム分割装置、プログラム実行装置、プログラム分割方法及びプログラム実行方法
KR20180007459A (ko) 화이트박스 암호를 이용한 암/복호화 방법 및 그 장치
JP2003337630A (ja) 通信端末、プログラム、記録媒体、通信端末のアクセス制御方法およびコンテンツの提供方法
KR20190033930A (ko) 보안 정보를 암호화하는 전자 장치 및 그 작동 방법
US6564325B1 (en) Method of and apparatus for providing multi-level security access to system
Sohr et al. Software security aspects of Java-based mobile phones
Msgna et al. Secure application execution in mobile devices
CN110737910B (zh) 一种Android log解密管理方法、装置、设备和介质
CN110580179A (zh) 信息处理方法及装置、电子设备及存储介质
CN113312629A (zh) 一种基于安卓操作系统的安全操作系统

Legal Events

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

Payment date: 20121130

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131210

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee