KR20040101364A - 데이터 액세스 방법, 데이터 액세스 시스템 및 컴퓨터 판독 가능 기록 매체 - Google Patents

데이터 액세스 방법, 데이터 액세스 시스템 및 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR20040101364A
KR20040101364A KR10-2004-7015221A KR20047015221A KR20040101364A KR 20040101364 A KR20040101364 A KR 20040101364A KR 20047015221 A KR20047015221 A KR 20047015221A KR 20040101364 A KR20040101364 A KR 20040101364A
Authority
KR
South Korea
Prior art keywords
data
request
access
master
whitening
Prior art date
Application number
KR10-2004-7015221A
Other languages
English (en)
Other versions
KR100629069B1 (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 KR20040101364A publication Critical patent/KR20040101364A/ko
Application granted granted Critical
Publication of KR100629069B1 publication Critical patent/KR100629069B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Bus Control (AREA)

Abstract

본 발명은 통합 시스템(400)내의 요구 마스터(410)의 마스터 id와 데이터의 어드레스에 의거하여 데이터 액세스를 결정하는 액세스 제어 기능부(440)를 제공한다. 이러한 액세스 제어 기능부(440)는 예를 들어 제어 로직(430)과 일 이상의 슬레이브(420) 사이의 데이터 전달 통로에 삽입될 수 있다. 데이터에 대한 액세스 허가여부를 결정하는 외에, 상기 액세스 제어 기능부(440)는 데이터에 대한 요구를 발행하는 특정 기능 마스터(410)에 대한 데이터 허가 레벨에 따라 데이터의 암호화 및 복호화(470)를 선택적으로 실행함으로써 추가적으로 액세스를 제한한다.

Description

통합 시스템내의 마스터 ID 및 데이터 어드레스 요구에 따른 제어 기능{CONTROL FUNCTION BASED ON REQUESTING MASTER ID AND A DATA ADDRESS WITHIN AN INTEGRATED SYSTEM}
오늘날 통상적으로 다양한 기능이 하나의 시스템 칩에 집적된다. 처음에 하나의 칩에 다수의 개별 부품을 집적시키기 위한 구조를 형성할 때, 메모리를 포함하는 외부 장치에 대한 액세스가 문제로 될 수 있었다. 예를 들어, MPEG 비디오 디코더 시스템은 통상 각종의 데이터 영역용으로 외부 메모리를 이용하거나 프레임 버퍼 등의 버퍼를 이용하는데, 이러한 외부 메모리는 통상적으로 DRAM이나 SRAM 기술을 이용하여 구현된다.
오프-칩(off-chip) 장치를 액세스하는 종래 기술은 2가지 방식이 대표적이다. 한 가지 방식은, 각 온-칩(on-chip) 기능 장치가 전용의 데이터 버스를 통해 필요한 외부 장치(들)에 액세스하는 것인데, 외부 장치를 액세스하는데 국부적으로 효율적이기는 하지만, 통합 시스템내 전체적으로 이 방식은 최적이라 할 수 없다. 예를 들어, 각 기능이 자체의 외부 메모리 영역에 대한 완전한 액세스를 할 수 있어도, 통합 시스템의 여러 기능사이에 액세스가 공유되지는 않는다. 따라서 한 메모리 영역으로부터 시스템의 다른 메모리 영역으로의 데이터의 전달이 자주 요구되므로, 이는 명백히 데이터 전달의 수를 증가시키게 되어 공유 메모리 시스템에 비해 전체 시스템을 열화시킬 수 있다.
다른 방식은, 하나 또는 그 이상의 기능 장치가 단일 포트를 통해 외부 장치와 통신하는 통합 시스템내에서 단일 공통 버스를 이용하는 것이다. 이 방식은, 메모리 등의 자원을 공유할 수는 있어도, 이 방식의 난점은 통합 시스템내의 콘텐츠 또는 다른 감지기능 데이터(sensitive data)에 대한 액세스의 제어에 있다. 예를 들어, 통합 설계의 대용량 공통 메모리 풀(pool)을 이용하는 경우, 전송 디멀티플렉서가 셋톱 박스의 디코더에 공급한 압축 데이터 등의 보호된 메모리 공간에 대한 비허가 액세스를 방지할 수 없게 된다. 이는 프로그래밍 인터페이스가 개방되고, 외부 개발이 활성화된 시스템의 경우에 특히 문제가 된다. 각각의 기능 마스터는 메모리 공간을 액세스해야 하는데, 신뢰성이 있는 마스터의 액세스인지 또는 외부 요구 즉, 신뢰성이 없는 즉, 개방 마스터의 액세스인지를 구별할 수 없다.
위와 같은 사정에서, 통합 시스템에 대한 액세스 제어 방식의 개선이 필요시된다. 특히 기능 마스터와 슬레이브 사이에 있으며, 액세스가 보다 제한되거나(예를 들어, 데이터 암호화 및 데이터 복호화를 도입) 또는 어떤 경우에는 방지되는 액세스 제어 기능이 필요하다.
관련 출원의 상호 참조
본 출원은 이하의 출원의 청구 대상과 관련된 청구 대상을 포함하는데, 상기 출원 각각은, 본 출원과 같은 양수인에게 양도되었으며, 본 출원과 동일자로 출원되었다. 이하 리스트된 출원 각각의 개시 내용은 참고로서 본 출원에 포함된다.
- "Control Function with Multiple Security States for Facilitating Secure Operation of an Integrated System", by Foster et al., U. S. Serial No. 10/125,115, filed 18 Apr 2002.
-"Control Function Implementing Selective Transparent Data Authentication Within an Integrated System", by Foster et al., U. S. Serial No. 10/125,708, filed 18 Apr 2002.
-"Intializing, Maintaining, Updating and Recovering Secure Operation Within an Integrated System Employing a Data Access Control Function", by Foster et al. , U. S. Serial No. 10/125, 803, filed 18 Apr 2002.
본 발명은, 통합 시스템내의 데이터 요구 조정 및 데이터의 전달에 관한 것으로, 보다 구체적으로는, 통합 시스템 내의 요구 마스터(a requesting master)의 마스터 id 및 데이터의 어드레스를 기반으로 데이터 액세스를 허가, 금지 또는 제한하는 통합 시스템용 액세스 제어 기능에 관한 것이다.
본 발명으로 되는 청구 대상은 명세서의 결말 부분의 청구범위에서 특히 지적 및 청구되며, 전술한 바 및 기타 목적, 특징 및 장점은, 이하의 첨부도면을 참조로 한 상세한 설명으로부터 명확해 질 것이다.
도 1은 메모리 서스시스템을 통해 공통 메모리 액세스를 이용하는 종래의 통합 장치의 일례를 도시하는 도면,
도 2는 통합 시스템내의 버스 액세스를 허가 또는 금지하도록 버스 제어 중재기에 이용되는, 마스터 id 사용의 일례를 도시하는 도면,
도 3은 예를 들어 도 1의 통합 장치내의 마스터 #1에 이용된 종래의 메모리 관리 장치 기능의 일례를 도시하는 도면,
도 4는 본 발명의 일 특징에 따라 데이터 액세스 제어 기능을 이용하는 통합장치의 일례를 도시하는 도면,
도 5는 본 발명의 일 특징에 따라 도 4의 데이터 액세스 제어 기능에 이용된 액세스 테이블의 일례를 도시하는 도면,
도 6은 본 발명의 일 특징에 따라 도 4의 데이터 액세스 제어 기능의 암호화/복호화 부 기능에 사용을 위해, 예를 들어 도 5의 액세스 테이블로부터 얻어진 액세스 파라미터의 일례를 도시하는 도면,
도 7은 본 발명의 일 특징에 따라 화이트닝 값(whitening value)을 유도하는 방식의 일례를 도시하는 도면,
도 8은 본 발명의 일 특징에 따라 전달된 데이터를 선택적으로 암호화 및 복호화함에 있어서 액세스 파라미터 및 화이트닝 값을 이용하는 일례를 도시하는 도면,
도 9는 본 발명의 일 특징에 따라 통합 장치의 버스-버스 브리지에서 이용된 액세스 제어 기능의 일례를 도시하는 도면,
도 10은 본 발명의 일 특징에 따라 통합 장치의 보안 메모리 서브시스템에서 이용된 액세스 제어 기능의 일례를 도시하는 도면.
종래 기술의 문제는 다수의 기능 마스터를 갖는 통합 시스템용 데이터 액세스 방법의 제공을 통해 해소되고, 추가의 장점이 얻어진다. 상기 방법은, 다수의 기능 마스터 중 요구 마스터로부터 데이터에 대한 요구를 수신하는 단계, 상기 요구에 응답하여, 요구 마스터의 마스터 id 및 데이터의 어드레스에 의거하여 상기 데이터에 대한 액세스를 허가, 금지 또는 제한할지를 결정하는 단계를 포함한다.
개선된 특징에 있어서, 상기 방법은, 상기 다수의 기능 마스터에 대한 다른 레벨의 데이터 액세스를 제공하는 단계뿐만 아니라 상기 요구가 판독 요구 또는 기록 요구를 포함하는지를 결정하는 단계를 포함한다. 상기 판독 요구인 경우, 상기 방법은, 데이터에 대한 액세스를 금지, 데이터 클리어(clear)를 승인, 데이터를 복호화할 지의 결정을 포함할 수 있으며, 상기 요구가 기록 요구인 경우, 상기 방법은, 데이터의 전송을 금지, 데이터 클리어를 승인 또는 데이터를 암호화할지의 결정을 포함할 수 있다. 일 실시예에 있어서, 상기 요구는, 통합 시스템의 버스 제어 로직으로부터 수신한 허가된 마스터 요구인데, 상기 방법은, 버스 제어 로직과 통합 시스템의 적어도 하나의 슬레이브 사이의 데이터 흐름으로 실시되고, 특히, 통합 시스템의 버스-버스 브리지내에서, 또는 통합 시스템의 보안 메모리 서브시스템내에서 등으로 실시될 수 있다.
위에서 요약한 방법에 대응하는 시스템 및 컴퓨터 프로그램 제품을 또한 기술하고, 본 명세서에 청구된다.
바람직하게, 본 명세서에서는 통합 시스템내에서 데이터 액세스를 제한하는 액세스 제어 기능을 제공한다. 특히, 시스템이 기능 마스터와 슬레이브 장치 사이의 공통 버스 구조를 이용하는 경우, 이 제어 기능은, 통합 시스템의 기능 마스터와 슬레이브 장치사이의 데이터 흐름에 있을 수 있다. 제어 기능에 의해 요구 마스터의 마스터 id 및 요구 데이터의 어드레스를 근거로 액세스가 허가, 금지 또는 더제한된다. 이러한 제어 방식은, 기능에 따라 메모리를 개방 및 보안 공간으로 분리하는 방법으로 데이터에 대한 다른 기능의 액세스(예를 들어, 다른 메모리 영역에 대한 액세스)를 선택적으로 부여하는 능력을 제공한다. 또한, 상기 제어 기능은, 데이터가 메모리에 전송될 때 데이터 블럭을 암호화하는 기술을 제공한다. 이로써 다른 메모리 위치 또는 다른 장치에 데이터의 블럭을 간단히 재배치함으로써 시스템 보안의 공격을 방지할 수 있다.
다른 특징 및 장점은 본 발명의 기술을 통해 실현된다. 본 발명의 다른 실시예 및 특징을 여기에서 상세히 기술하며, 청구한 발명의 일부로 된다.
도 1은 전체적으로 참조 번호 (100)으로 표시된 종래의 통합 장치를 도시하는데, 다수의 내부 기능 마스터(1101, 1102, 1103,...110n)을 포함한다. 마스터(1101)는 프로세서로서 도시되는데, 프로세서 코어(112) 및 메모리 관리 장치(114)를 갖는다. 내부 마스터(1101, 1102, 1103,...110n)는 이 예에 있어서 공유 버스의 버스 제어 로직(130)을 갖는 메모리 서브시스템(120)에 접속한다. 당업자라면, 버스 제어부(130)가 상기 메모리 서브시스템 내에 도시되어 있지만, 도시와는 달리 서브시스템(120)의 외부에 있을 수 있다.
버스 제어 장치(130)는 통합 장치내의 슬레이브에 대한 요구를 조정 및 통합한다. 예를 들어, 제 1 슬레이브는, 개방 메모리부(155)를 갖는 플래시 메모리 등의 외부 비휘발성 메모리(150)에 접속된 외부 버스 제어기(140)를 가질 수 있다. 제 2 슬레이브 즉, 메모리 제어기(160)는 SDRAM 또는 DRAM 등의 외부 휘발성 메모리(170)에 접속한다. 메모리(170)는 개방 메모리부(175)를 가지며, 일반적으로, 기능부는, 통합 설계의 공통 메모리 풀을 공유하여 메모리 비용을 최소화 할 수 있어서 기능부들 사이의 데이터의 전달을 용이하게 한다. 이렇게 하여 모든 내부 마스터가 비휘발성 및 휘발성 메모리 모두에 대해 동일한 액세스를 가지며, 모든 저장 공간은, "개방"으로 명명되는데, 이는 데이터 액세스에 대한 제한이 없는 것을 의미한다.
통상, 비휘발성 메모리는 영구 저장장치용으로 사용되는데, 이 저장장치에서 데이터는 전원이 꺼지는 경우에도 유지된다. 상기 메모리는 운영 체제나 드라이버 등의 부팅 코드, 운영 코드 및 임의의 영속성 데이터 구조를 가진다. 휘발성 메모리는 세션(session) 지향 저장 장치용으로 사용되며, 일반적으로 응용 데이터뿐만 아니라 다른 마스터의 데이터 구조도 갖는다. 휘발성 메모리는 비휘발성 메모리모다 신속하므로, 운영 코드를 휘발성 메모리에 이동시키고, 통합 장치가 동작할 때그로부터 명령을 실행한다.
도 2는, 도 1의 버스 제어 장치(130)에 이용되는 버스 제어 구조를 도시하는데, 이러한 구조에 의해 다수의 기능 마스터(1101...110n)가 공통 공유 버스를 통해 다수의 슬레이브(2001...200n)와 통신할 수 있다. 이러한 버스 구조의 일례로 뉴욕, 아몬크 소재 IBM사가 시판중인 CoreConnect 구조의 프로세서 로컬 버스(PLB)를 들 수 있다.
위 구조내의 마스터 각각은, 버스 제어부(210)의 중재기(220)에 전송된 요구 신호의 일부를 포함하는 고유 마스터 id를 갖는다. 다수의 요구가 있으면, 중재기(220)는 적합한 마스터를 선정해서(버스 우선순위에 의해) 이 마스터에 다시 확인을 보낸다. 중재기(220)는 또한 필요한 부가 정보 즉, 데이터 어드레스 정보 및 제어 정보를 붙여서 슬레이브에 허가한 요구를 전달한다. 일례로서, 제어 정보는, 데이터가 마스터로부터 슬레이브로 기록되는지 또는 슬레이브로부터 마스터로 판독되는지를 나타내는 판독/기록 제어 신호를 포함한다. 데이터 어드레스 신호는 멀티플렉서(230)를 통과하고, 제어 신호는 멀티플렉서(240)를 통과하는데, 이 멀티플렉서 모두는 버스 제어 장치(230)내에 도시된다. 유사하게, 기록 대상 데이터는 마스터로부터 멀티플렉서(250)를 통해 슬레이브로 전달되고, 슬레이브에서 판독된 데이터는 버스 제어부(210)내의 멀티플렉서(260)를 통해 마스터로 복귀된다. 또한, 멀티플렉서(270)는 마스터로의 귀환을 위해 슬레이브로부터의 제어 신호를 멀티플렉스한다. 이러한 제어 신호는 예를 들어, 상태 및/또는 확인 신호를 포함할 수 있다. 종래 어드레스에 의거하여, 허가 받은 마스터 요구가 목표로한 슬레이브는 적합한정보를 가진 마스터에 응답한다.
다른 배경 기술의 하나로, 도 3은, 도 1에 도시한 마스터(110) 등의 프로세스 마스터용 메모리 관리 장치의 일례를 도시하는데, 장치(114)는 프로세서 마스터의 프로세서 코어로부터 가상 어드레스 요구를 수신한다. 이 프로세서는, 일반적으로 다수의 프로세서를 주어진 시점에서 개별적인 코드 스레드로서 구동할 수 있고, 각 프로세스가 그 자신의 격리 메모리 공간에서 실행할 수 있는 가상 어드레스를 사용하여 외부 요구를 분리할 수 있다. 그러나 실제적으로는 모든 프로그램이 공통 어드레스 공간을 사용하므로, 요구가 버스 제어 장치에 제공되기 이전에 어드레스는 재매핑되어야 한다. 이러한 재매핑은 메모리 관리 장치(114)에서 실행된다.
도 3에 도시한 바와 같이, 가상 어드레스 요구의 상위 어드레스 비트는 운영 체제에서 구성된 테이블과 처음으로 비교된다. 테이블은 허용 상위 어드레스 비트 조합, 태그(tag) 값 및 상위 어드레스 비트를 대체하는데 필요한 대체 어드레스를 담고 있다. 각 엔트리에 대해, 이 테이블은 페이지 크기, 재매핑된 영역의 크기 및 정의된 프로세스용으로 허용된 액세스 타입을 나타낸다. 상기 테이블은, 또한 요구가 캐시 메모리 등에 저장될 수 있는지 등의 다른 속성을 담을 수 있다. 이들 파라미터들은 요구에 따라 제어 정보로서 버스 제어 장치에 전송된다.
도 1-3에 도시한 종래의 시스템에는 일부의 보안에 대한 위험이 있다. 즉,
프로세서의 동작은 운영 코드 또는 데이터 구조를 변경함으로써 제어될 수 있어서, 내부 데이터 또는 동작이 절충될 수 있다.
· 통신 제어기 등의 특정 경우에, 내부 마스터는 외부 장치로 제어될 수 있으며, 메모리가 공유되므로, 내부 코드 또는 데이터를 절충하는데 이용될 수 있다.
· 소프트웨어 개발에 이용되는 디버그 및 개발 툴이 프로세서 동작을 변경하거나 감시하는데 사용될 수 있다.
· 메모리가 공유되므로, 어떤 마스터는 다른 내부 마스터의 동작을 파괴하거나 절충할 수 있다.
전술한 보안 위험에 대한 본 출원이 제공하는 해결책은 버스 제어부와 슬레이브 장치 사이의 데이터 통로에 액세스 제어 기능을 두는 것이다. 이러한 액세스 제어 기능은, 기능 마스터를 슬레이브 장치에 접속하여 각 액세스 요구가 한 세트의 보안 제어 정보에 의거하여 추가적으로 제한되게 하고, 원하는 경우 금지되게 하는 내부 버스의 특징을 이용한다(일 실시예에서). 바람직하게 이 액세스 제어 기능은 어느 마스터가 데이터 요구를 하는지 구별할뿐만 아니라 어디에 데이터가 저장되는지를 구별하여 이에 따라 액세스를 허가 하거나 제한하고 또는 액세스 자격을 부여하는 능력을 제공한다.
도 4는 전체적으로 참조 번호 (400)으로 도시된, 시스템의 일례를 도시하는데, 이 시스템은 본 발명의 일 특징에 따른 액세스 제어 기능부(440)를 구비한다. 시스템(400)은 버스 제어부(430)을 통해 하나 또는 그 이상의 슬레이브(4201...420n)와 통신하는 다수의 기능 마스터(4101...410n))를 포함한다. 그러나 여기서, 액세스 제어 기능부(440)는 버스 제어부(430)과 슬레이브(4201...420n)사이의 데이터 통로에 들어간다. 도 2의 버스 제어 구조의 신호들에 대해 간략하게 도시한다.
버스 제어 장치의 마스터 허가 제어에 의해 요구가, 요구한 어드레스 및 해당 제어(판독 또는 기록 등)와 함께 액세스 제어 기능부(440)에 전송된다. 액세스 제어 장치(440)는 액세스 제어 테이블(450)을 이용하여 요구 어드레스, 마스터 id,및 판독 또는 기록 표시기를 상기 마스터의 허용 액세스 능력의 정의와 비교한다. 소정의 요구는 차단(종료), 명문으로(in the clear) 허가, 암호화/복호화로 허가될 수 있다. 요구받은 전송을 허용하는 경우, 버스 신호가 슬레이브에 전송되고, 액세스 테이블에 의거하여 요구에 해당하는 액세스 파라미터(460)가 암호화/복호화를 적용할 수 있는 경우, 암호화/복호화 엔진(470)에 전송된다. 암호화/복호화 엔진은 데이터가 소정의 슬레이브에 전송될 때 기록 데이터를 암호화하거나, 이하 기술하는 관련 액세스 파라미터를 이용하여 소정의 슬레이브로부터 데이터가 복귀되는 경우 판독 데이터를 복호화하는데 이용될 수 있다.
도 5는 도 4의 액세스 제어 기능부(440)에 적용될 수 있는 액세스 테이블(450)의 상세한 일례이다. 도 2의 메모리 관리 장치와 유사하지만, 목적이 다르며, 버스 제어 장치로부터의 허가 요구에 대한 실제 어드레스의 상위 어드레스 비트가 허용 엔트리 또는 태그의 리스트와 비교된다. 각 태그에 대해, 추가의 정보 또는 속성이, 가능한 대체 어드레스, 대체 어드레스로의 재배치 허용 여부, 태그와 관련된 세그먼트(segment)의 크기 및 전체 엔트리가 유효하게 될 수 있는지 여부 등으로 등재되어 있다. 또한, 소정의 테이블 엔트리는 id 마스터에 의해 판독 또는 기록 권한을 등재하고 있는 다른 룩업 테이블(look-up table)을 가리킨다. 이러한 메커니즘을 이용하여 버스 제어 장치로부터의 주어진 요구를 정의된 상위 어드레스,마스터 id, 및 판독 또는 기록 표시기와 비교하여 요구에 대한 액세스 레벨에 이른다. 또한, 테이블 비교 결과에 따라 요구는 한 세트의 액세스 파라미터와 관련될 수 있다.
도 6은 액세스 제어 장치에 의해 정의될 수 있는 이들 액세스 파라미터(460)의 일례를 도시하는데, 소정의 요구에 대해, 다음의 파라미터가 암호화/복호화 엔진(470)(도 4)에 전달될 수 있다.
· 키 세트 포인터(461)는 임의의 암호화 동작을 위해 사용되는 키 세트의 색인 넘버를 가진다. 키 세트의 수는 일반적으로 테이블 엔트리의 수보다 훨신 작아서 몇 개의 엔트리가 소정의 키 세트를 공유하고 있다.
· 버전 번호(462)는 동일한 메모리를 사용하여 소정 블럭의 암호화 코드 또는 데이터를 이전의 것과 구별하는데 사용하는 임의로 정의된 값이다. 이 버전 번호는 암호화 프로세스(이하 상세히 기술함)의 일부로서 이용되므로, 새로운 버전 번호로 변경함으로써 이전 번호에 의한 영역의 구 콘텐츠의 복호화를 방지할 수 있다. 이는 버전 번호는 데이터 보호 또는 안 쓰는 블럭에 사용될 수 있다.
· 화이트닝 어드레스(463)는 암호화 화이트닝(이하 기술함)의 파라미터로서 이용된다. 이 어드레스는 슬레이브에 제공된 외부 어드레스와 다를 수 있거나 같을 수 있다. 임의의 조건하에, 소정의 어드레스에 데이터 블럭을 전송하는 것이 바람직하지만, 데이터 블럭을 개별 어드레스에 암호적으로 묶음으로써 나중에 다시 판독되는 경우 정의된 개별 어드레스에 재매핑 할 수 있다.
액세스 파라미터의 키 세트 포인터(461)는 도 6에 도시하는 바와 같은 소정의 키 세트를 가리키는데, 키 세트의 구조는 다음과 같다.
· 키(들)(465)는 암호화 프로세스로써 사용되는데, 세션을 망라하여 사용되는 영구 키 또는 소정의 세션에만 사용되는 동적 키로 될 수 있다.
· 알고리즘 파라미터(466)는 암호화 알고리즘이 어떻게 동작할지를 정의한다. 이 파라미터의 예로는, 알고리즘의 세기 그리고 특정 알고리즘 선택이 있다.
· 화이트닝 변수(467)는 소정 장치에 특별히 정의되어 다른 장치에의 코드 및 데이터 재배치를 방지할뿐만 아니라 외부 어드레스 공간내의 전체 재배치를 복잡하게 하는 것을 방지하는 비밀 번호이다.
화이트닝은 패턴 종속성을 제거하는 수단으로서 암호화되는 데이터에 변수를 가하는 방법인데, 예로서, 「an article by C.Jutla entitled "Encryption Modes With Almost Free Message Integrity"Proc. Eurocrypt 2001, pp. 529-544, LNCS 2045.」에 상세히 기재되어 있다. 도 7은 암호화/복호화 프로세스(470)(도 4)에서 화이트닝에 사용된 변수가 어떻게 생성될 수 있는가를 일례로서 도시하는데 이 예 에 있어서, 3개의 파라미터가 수학적으로 합산되어 바람직하게, 처리되는 데이터 블럭 크기와 같은 비트 길이인 최종 값이 된다. 이들 파라미터는, 액세스 파라미터(도 6)로서 정의된 화이트닝 어드레스(463) 및 버전 번호(462) 그리고 키 세트(도 6)로서 정의된 화이트닝 변수(467)이다. 최종 화이트닝 값은 버전 번호를 통해 시간 종속 개별화(customization)를 제공하는 어드레스 센시티브 화이트닝 값이다.
도 8은 본 발명의 일 특징에 따른 액세스 제어 기능의 암호화/복호화 장치(470)의 동작의 일례를 도시하는데, 도시한 바와 같이, 3개의 파라미터가 액세스파라미터로서 장치(470)에 전달된다. 이들 파라미터는 예를 들어, 도 7의 프로세스에 의해 정의된 화이트닝 값, 키(들)(465)(도 6) 그리고 키 세트로부터의 알고리즘 파라미터(466)(도 6)를 포함한다. 이들 파라미터는 전체적으로 암호화 또는 복호화 기능의 동작을 제어하는 데 사용된다.
기록 동작에 있어서, 클리어 기록 데이터가 버스 마스터로부터 암호화/복호화 장치로 들어가는 것이 도시되는데, 처음에 제 1 동작(471)에서 화이트닝 값과 합해진 다음 암호화되고(472) 최종적으로 다시 두번째(473)로 화이트닝 값과 합해진다. 이어서 암호화된 기록 데이터가 버스 슬레이브에 제공된다. 상기 데이터와 혼합하기 위해 화이트닝 값을 이용하는 암호화 처리는 당업자라면 용이하게 실시할 수 있을 것이다.
판독 동작에 있어서, 판독 데이터가 버스 슬레이브로부터 암호화/복호화 장치로 들어가는 것이 도시되는데, 전술한 기록 동작과는 역순으로 처리된다. 즉, 기록 및 판독 처리는 대칭이다. 특히, 암호화 판독 데이터(474)의 복호화(475) 그리고 이어서 476의 복호화 이전에 이 암호화 데이터(474)를 분리하는데 화이트닝 값이 이용되어 암호화의 층이 암호화 프로세스에서 간단하게 반전될 수 있다.
도 9 및 10은 본 명세서에 개시된 액세스 제어 기능을 이용하는 시스템을 예시하는데, 도 9를 보면, 통합 장치(900)의 내부 버스 제어부(920)와 내부 버스 제어부(950) 사이에 보안 브리지(930)내에 액세스 제어 장치(940)가 도시된다. 도시한 바와 같이, 제 1 버스(925)용의 다수의 마스터(9101,9102,9103,...910n)의 요구는 공통 버스 제어부(920)에 의해 합해진다. 이어서 중재 요구가 슬레이브에 전달되는데, 이 슬레이브중 하나는 전형적인 슬레이브 장치(915n)이고, 다른 것은 액세스 제어 장치(940)를 갖는 보안 브리지(930)의 슬레이브 인터페이스이다. 액세스 제어 장치는 요구를 허용할 수 있는지를 결정하고, 허용할 수 있는 경우, 그 요구를 버스 2(955)에서 마스터 인터페이스를 이용하는 마스터로서 재생한다. 보안 브리지에 추가하여 버스 2(965n)상의 별개의 마스터가 도시되어 있다. 버스 2(955)용의 버스 제어 장치(950)는 두 개의 마스터사이를 중재하여 도시한 바와 같이, 슬레이브(9601,9602,9603,...960n)에 허가 받은 요구를 선택적으로 전달한다.
이 예에 있어서, 마스터(9101,9102,9103,...910n)는 액세스 제어 장치의 지원없이 버스 1(925)를 거쳐 요구를 슬레이브(915n)에 전송한다. 버스 2(955n)상에서도 마스터(965n)와 슬레이브(9601,9602,9603,...960n) 또한 위와 같다.
도 10은 본 발명의 기본 원리에 따른 액세스 제어 기능을 이용하는 통합 장치(1000)의 다른 예를 도시한다. 이 예에 있어서, 버스 제어 장치(1030)와 슬레이브 장치(1050, 1070) 사이에 액세스 제어 기능부(1040)가 삽입되는데, 이들 장치는 모두 메모리 서브시스템(1020)내에 도시된다. 다른 실시예로서, 버스 제어 장치(1030)는 보안 메모리 서브스스템 장치 외부에 있을 수 있다. 이 도면은, 슬레이브가 외부 버스 제어기(1050) 및 메모리 제어기(1070)로서 명백하게 도시되는 도 4의 실시예의 확장예이다. 이러한 관계에 있어서, 버스 제어 장치, 액세스 제어 장치 및 외부 제어기의 조합이 보안 메모리 시스템(1020)을 형성한다. 이 결과, 비휘발성 메모리 및 휘발성 메모리(1080)가 만드는 외부 어드레스 공간은 개방 영역(1062), 보안 영역(1064)뿐만 아니라 개방 영역(1082) 및 보안 영역(1084)으로 각기 추가로 분리될 수 있다. 이러한 사용에 있어서, "보안"이란 마스터(10101,10102,10103,...1010n)가 액세스 제어 장치(1040)에서 정의되는 공간만을 액세스할 수 있음을 의미한다.
추가의 변형예로, 전술한 암호화 및 복호화 기능은 셋톱 박스 설계뿐만 아니라 기타 장치에서 공통으로 통합된 DMA 제어기에 포함될 수 있다. 이렇게 하면, 각각의 송신에 지연이 추가되는 액세스 제어 빗장(cross-bar)으로부터 암호화 및 복호화 로직을 제거할 수 있다. DMA 제어기는 데이터 블럭을 한 위치에서 다른 위치로 이동하도록 호스트 프로그램에 의해 프로그램될 수 있다. 이는 메모리-메모리 송신을 포함한다. 통합 시스템을 메모리를 보호하도록 설계한다고 가정하면, 메모리 1은 단지 판독 보호 메모리만을 액세스하고, 마스터 2는 기록 보호 메모리만을 액세스한다. 또한 이 예에 있어서, 마스터 2가 액세스할 필요가 있지만, 암호화 되어야 하는(즉, 마스터 2만이 스크램블(scrambled) 데이터를 알 수 있다.) 보호 메모리내에 클리어 데이터가 있는 것으로 가정한다. DMA 제어기는 보호 메모리로부터 데이터를 개방 메모리로 이동한 다음 소정 블럭 즉, 64바이트의 전달을 개시도록 프로그램될 수 있는데, 상기 블럭은 버스트(burst)로 판독되고, 내부에 기억된 다음, 버스트로 기록된다. 설계적으로 설정되지만, DMA 제어기내에 암호화 엔진을 포함하는 내부 버스 구조 코딩에 따라 보호 메모리를 판독하는 것이 허가된다. 수신지 어드레스 파라미터에 의거하여 DMA 제어기는 각각의 블럭을 개방 메모리에 버스트로 기록하기 이전에 자동적으로 암호화한다. 이 때, 한 메모리 위치로부터 다른 메모리 위치로의 전달동안, 모든 부호화 및 암호화가 DMA 제어기내에 기억된 데이터에 대해 실행될 수 있다. 그러나 판독과 기록은 별개의 버스 동작이기 때문에, 작업이 행해지는 동안 버스는 정지하지 않는다. 이러한 방법으로 클리어 데이터 가시성(visibility)을 전술한 바와 같이, 선택된 마스터로 제한할 수 있는 능력이 보존된다.
당업자라면 전술한 바로부터 본 발명이 기능 마스터가 메모리 요구를 만드는 액세스를 구별한 다음, 이에 따라 보안 정보 세트를 근거로 액세스를 허가하거나 제한하는 능력을 제공함을 인식할 수 있을 것이다. 본 발명이 제공하는 제어 기능은, 어느 기능 마스터가 액세스를 요구하는지를 구별하여 데이터 액세스 테이블에 포함된 정보에 의거하여 그 액세스를 제한한다. 이 제어 기능은, 기능 마스터를 예를 들어, 메모리 제어기 또는 다른 슬레이브 장치에 접속하여 각각의 액세스가 추가적으로 제한되게 하고 또 어떤 경우에는 금지하는 공유 내부 버스의 특징을 이용한다.
본 발명은, 예를 들어 컴퓨터 사용가능 매체를 갖는 제조품(즉, 일 또는 그 이상의 컴퓨터 제품)에 포함될 수 있으며, 상기 매체는 예를 들어, 본 발명의 성능을 제공하고 촉진하는 컴퓨터 판독가능 프로그램 코드 수단으로 구체화된다. 상기 제조품은 컴퓨터 시스템의 일부로서 포함될 수 있으며, 개별적으로 시판될 수 있다.
또한, 기계 판독가능하고, 기계가 실행할 수 있는 적어도 하나의 명령 프로그램을 구체적으로 실현하여 본 발명의 성능을 실행하는 적어도 하나의 프로그램 저장 장치가 제공될 수 있다.
기술한 흐름도는 단지 예시의 목적이고, 본 발명의 정신을 일탈하지 않는 범위에서 이들 흐름도 또는 단계(또는 동작)에 대해 변형을 할 수 있다. 예를 들어, 단계는 다른 순서로 실행될 수 있으며, 단계가 부가, 삭제 또는 변형될 수 있다. 이들 모든 변형은, 청구된 발명의 일부로 간주된다.
지금까지 본 발명을 상세히 기술하였지만, 본 발명은 이에 제한되지 않으며, 당업자라면, 이하의 부속 청구범위의 사상 및 영역을 일탈하지 않는 범위내에서 본 발명을 여러 가지로 수정 및 변형실시 할 수 있을 것이다.
본 발명은, 감지기능 데이터를 처리하는 시스템 및 컴퓨터 프로그램 그리고 그러한 시스템에 대한 액세스의 제한을 필요로하는 프로그램에 이용가능성이 있다.

Claims (29)

  1. 다수의 마스터 id를 갖는 다수의 기능 마스터(multiple functional masters)를 구비한 통합 시스템용 데이터 액세스 방법으로서,
    상기 다수의 기능 마스터 중 요구 마스터(a requesting master)로부터 데이터에 대한 요구를 수신하는 단계;
    상기 요구에 응답하여, 상기 요구 마스터의 마스터 id 및 상기 데이터의 어드레스에 의거하여 상기 데이터에 대한 액세스를 허가, 금지 또는 제한할지를 결정하는 단계
    를 포함하는 데이터 액세스 방법.
  2. 제 1 항에 있어서,
    상기 요구는 상기 통합 시스템의 버스 제어 로직으로부터 수신된 허가된 마스터 요구를 포함하며,
    상기 방법은 상기 버스 제어 로직과 상기 통합 시스템의 적어도 하나의 슬레이브 사이의 데이터 흐름으로 실시되는
    데이터 액세스 방법.
  3. 제 1 항에 있어서,
    상기 다수의 기능 마스터에 대해, 서로 다른 레벨의 데이터 액세스를 제공하는 단계를 더 포함하는
    데이터 액세스 방법.
  4. 제 3 항에 있어서,
    상기 요구 마스터에 대한 데이터 액세스 레벨을 결정하는 단계와,
    상기 데이터로의 액세스에 대한 허가, 금지 또는 제한을 결정함에 있어서, 상기 데이터 액세스 레벨을 이용하는 단계
    를 더 포함하는 데이터 액세스 방법.
  5. 제 4 항에 있어서,
    상기 이용 단계는 상기 요구가 판독 요구 또는 기록 요구를 포함하는지를 판단하여, 판독 요구인 경우, 상기 데이터에 대한 액세스를 금지할지, 데이터 클리어를 승인할지, 데이터를 복호화할지를 결정하며, 기록 요구인 경우, 상기 데이터의 전송을 금지할지, 데이터 클리어를 승인할지, 데이터를 암호화할지를 결정하는 단계
    를 더 포함하는 데이터 액세스 방법.
  6. 제 1 항에 있어서,
    상기 결정 단계는 상기 요구가 판독 요구 또는 기록 요구를 포함하는지를 판단하여, 액세스가 허가되면, 판독 요구인 경우에는 데이터를 복호화할지를, 기록 요구인 경우에는 데이터를 암호화할지를 판정하는 단계를 더 포함하며,
    상기 판정 단계는 상기 요구 마스터의 상기 마스터 id에 부분적으로 근거하는
    데이터 액세스 방법.
  7. 제 6 항에 있어서,
    상기 결정 단계는 상기 요구 마스터의 상기 마스터 id 및 상기 데이터의 어드레스에 의거하여 상기 데이터에 대한 액세스를 허가할지를 결정함에 있어서, 데이터 액세스 테이블을 이용하는 단계를 포함하되,
    상기 데이터 액세스 테이블은 상기 요구 마스터에 대한 액세스 레벨을 포함하는
    데이터 액세스 방법.
  8. 제 7 항에 있어서,
    상기 데이터를 복호화 또는 암호화하는 데 사용하는 액세스 테이블 파라미터 결정하는 단계를 더 포함하되,
    상기 액세스 테이블 파라미터는 키 세트 포인터, 버전 번호(version number) 및 화이트닝 어드레스(whitening address)를 포함하는
    데이터 액세스 방법.
  9. 제 8 항에 있어서,
    상기 키 세트 포인터는 키 세트를 가리키고,
    상기 키 세트는 키 값, 암호화/복호화 파라미터 및 화이트닝 변수를 포함하며,
    상기 키 값 및 화이트닝 변수는 상기 키 세트와 관련된 모든 데이터용으로 사용되는 비밀 번호인
    데이터 액세스 방법.
  10. 제 8 항에 있어서,
    상기 요구가 기록 요구를 포함하는 경우, 상기 데이터에 대한 암호화 처리를선택적으로 실행하는 단계를 더 포함하되,
    상기 암호화 처리는 클리어 기록 데이터에 대해 화이트닝을 실행하고, 상기 화이트닝 결과를 암호화하며, 암호화된 결과를 다시 화이트닝하는 단계를 포함하고,
    상기 요구가 판독 요구를 포함하는 경우, 암호화된 판독 데이터에 대해 복호화 처리를 선택적으로 실행하는 단계를 더 포함하되,
    상기 복호화 처리는 상기 암호화된 판독 데이터를 언화이트닝(unwhitening)하고, 상기 언화이트닝 결과를 복호화하며, 복호화 결과를 추가적으로 언화이트닝하여 상기 요구 마스터에 전달하기 위한 클리어 데이터를 얻는
    데이터 액세스 방법.
  11. 제 10 항에 있어서,
    상기 화이트닝 및 언화이트닝 단계는 화이트닝 값을 얻는 단계를 포함하고,
    상기 화이트닝 값을 얻는 단계는 상기 액세스 테이블 파라미터의 화이트닝 어드레스, 버전 번호 및 화이트닝 변수를 조합하여 화이트닝 값을 얻는 단계를 포함하는
    데이터 액세스 방법.
  12. 제 11 항에 있어서,
    상기 조합 단계는 상기 데이터의 블록 크기로 상기 화이트닝 값의 크기를 정합하는 단계를 포함하는
    데이터 액세스 방법.
  13. 제 1 항에 있어서,
    상기 통합 시스템의 버스-버스 브리지에서 상기 방법을 실행하는 단계를 더 포함하되,
    상기 요구 마스터는 상기 통합 시스템의 제 1 버스에 결합되어, 적어도 하나의 슬레이브를 갖는 상기 버스-버스 브리지를 통해 통신하고,
    상기 적어도 하나의 슬레이브는 제 2 버스를 통해 상기 버스-버스 브리지에 결합되는
    데이터 액세스 방법.
  14. 제 1 항에 있어서,
    상기 통합 시스템의 메모리 서브시스템에서 상기 방법을 실행하는 단계를 더 포함하되,
    상기 데이터는 개방 휘발성 메모리, 보안 휘발성 메모리, 개방 비휘발성 메모리, 또는 보안 비휘발성 메모리 중 하나에 상주하는
    데이터 액세스 방법.
  15. 다수의 마스터 id를 갖는 다수의 기능 마스터를 구비한 통합 시스템용 데이터 액세스 시스템으로서,
    다수의 기능 마스터의 요구 마스터로부터 데이터에 대한 요구를 수신하는 수단;
    요구 마스터의 마스터 id 및 데이터의 어드레스에 의거하여 상기 데이터에 대한 액세스를 허가, 금지 또는 제한할지를 결정하는 수단을 구비하는데, 상기 결정 수단은, 상기 수신 수단에 의해 요구의 수신에 응답하는 데이터 액세스 시스템.
  16. 제 15 항에 있어서,
    상기 요구는 상기 통합 시스템의 버스 제어 로직으로부터 수신된 허가된 마스터 요구를 포함하며, 상기 시스템은 상기 버스 제어 로직과 상기 통합 시스템의 적어도 하나의 슬레이브 사이의 데이터 흐름으로 실시되는
    데이터 액세스 시스템.
  17. 제 15 항에 있어서,
    상기 다수의 기능 마스터에 대해 서로 다른 레벨의 데이터 액세스를 제공하는 수단을 더 포함하는
    데이터 액세스 시스템.
  18. 제 17 항에 있어서,
    상기 요구 마스터에 대한 데이터 액세스 레벨을 결정하는 수단과,
    상기 데이터로의 액세스에 대한 허가, 금지 또는 제한을 결정함에 있어서, 상기 데이터 액세스 레벨을 이용하는 수단
    을 더 포함하는 데이터 액세스 시스템.
  19. 제 18 항에 있어서,
    상기 이용 수단은 상기 요구가 판독 요구 또는 기록 요구를 포함하는지를 판단하여, 판독 요구인 경우, 상기 데이터에 대한 액세스를 금지할지, 데이터 클리어를 승인할지, 데이터를 복호화할지를 결정하며, 기록 요구인 경우, 상기 데이터의 전송을 금지할지, 데이터 클리어를 승인할지 또는 데이터를 암호화할지를 결정하는 수단을 더 포함하는
    데이터 액세스 시스템.
  20. 제 15 항에 있어서,
    상기 결정 수단은 상기 요구가 판독 요구 또는 기록 요구를 포함하는지를 판단하여 액세스가 허가되면, 판독 요구인 경우에는 데이터를 복호화할지를, 기록 요구인 경우에는, 데이터를 암호화할지를 판정하는 수단을 더 포함하며,
    상기 판정 수단은 상기 요구 마스터의 상기 마스터 id에 부분적으로 근거하는
    데이터 액세스 시스템.
  21. 제 20 항에 있어서,
    상기 결정 수단은 상기 요구 마스터의 상기 마스터 id 및 상기 데이터의 어드레스에 의거하여 상기 데이터에 대한 액세스를 허가할지를 결정함에 있어서, 데이터 액세스 테이블을 이용하는 수단을 포함하된,
    상기 데이터 액세스 테이블은 상기 요구 버스 마스터에 대한 액세스 레벨을 포함하는
    데이터 액세스 시스템.
  22. 제 21 항에 있어서,
    상기 데이터를 복호화 또는 암호화하는 데 사용하는 액세스 테이블 파라미터 결정하는 수단을 더 포함하되,
    상기 액세스 테이블 파라미터는 키 세트 포인터, 버전 번호 및 화이트닝 어드레스를 포함하는
    데이터 액세스 시스템.
  23. 제 22 항에 있어서,
    상기 키 세트 포인터는 키 세트를 가리키고,
    상기 키 세트는 키 값, 암호화/복호화 파라미터 및 화이트닝 변수를 포함하며,
    상기 상기 키 값 및 화이트닝 변수는 상기 키 세트와 관련되는 모든 데이터용으로 사용된 비밀 번호인
    데이터 액세스 시스템.
  24. 제 22 항에 있어서,
    상기 요구가 기록 요구를 포함하는 경우, 상기 데이터에 대한 암호화 처리를선택적으로 실행하는 수단을 더 포함하되,
    상기 암호화 처리는 클리어 기록 데이터에 대해 화이트닝을 실행하고, 상기 화이트닝 결과를 암호화하되, 암호화된 결과를 다시 화이트닝하는 수단을 포함하고,
    상기 요구가 판독 요구를 포함하는 경우 암호화된 판독 데이터에 대해 복호화 처리를 선택적으로 실행하는 수단을 더 포함하되,
    상기 복호화 처리는 상기 암호화된 판독 데이터를 언화이트닝(unwhitening)하고, 상기 언화이트닝 결과를 복호화하며 복호화 결과를 추가적으로 언화이트닝하여 상기 요구 마스터에 전달하기 위한 클리어 데이터를 얻는
    데이터 액세스 시스템.
  25. 제 24 항에 있어서,
    화이트닝 값을 얻는 수단을 추가로 구비하고,
    상기 화이트닝 값을 얻는 수단은 상기 액세스 테이블 파라미터의 화이트닝 어드레스, 버전 번호 및 화이트닝 변수를 조합하여 화이트닝 값을 얻는 수단을 포함하는
    데이터 액세스 시스템.
  26. 제 25 항에 있어서,
    상기 조합 수단은 상기 데이터의 블록 크기와 상기 화이트닝 값의 크기를 정합하는 수단을 포함하는
    데이터 액세스 시스템.
  27. 제 15 항에 있어서,
    상기 시스템은 통합 시스템의 버스-버스 브리지에서 실행되되,
    상기 요구 마스터는 통합 시스템의 제 1 버스에 결합되어 적어도 하나의 슬레이브를 갖는 상기 버스-버스 브리지를 통해 통신하고,
    상기 적어도 하나의 슬레이브는 제 2 버스를 통해 상기 버스-버스 브리지에 결합되는
    데이터 액세스 시스템.
  28. 제 15 항에 있어서,
    상기 시스템은 통합 시스템의 메모리 서브시스템에서 실행되되,
    상기 데이터는 개방 휘발성 메모리, 보안 휘발성 메모리, 개방 비휘발성 메모리, 또는 보안 비휘발성 메모리 중 하나에 상주하는
    데이터 액세스 시스템.
  29. 다수의 마스터 id를 갖는 다수의 기능 마스터를 구비한 통합 시스템용 데이터 액세스 방법을 실행하기 위해, 기계에 의해 실행가능한 적어도 하나의 명령 프로그램을 구현하는 기계 판독가능한 적어도 하나의 프로그램 저장 장치에 있어서,
    상기 방법은,
    상기 다수의 기능 마스터의 요구 마스터로부터 데이터에 대한 요구를 수신하는 단계;
    상기 요구에 응답하여, 상기 요구 마스터의 마스터 id 및 상기 데이터의 어드레스에 의거하여 상기 데이터에 대한 액세스를 허가, 금지 또는 제한할지를 결정하는 단계를 포함하는
    프로그램 저장 장치.
KR1020047015221A 2002-04-18 2003-04-16 데이터 액세스 방법, 데이터 액세스 시스템 및 컴퓨터 판독 가능 기록 매체 KR100629069B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/125,527 US6851056B2 (en) 2002-04-18 2002-04-18 Control function employing a requesting master id and a data address to qualify data access within an integrated system
US10/125,527 2002-04-18
PCT/US2003/011906 WO2003090086A1 (en) 2002-04-18 2003-04-16 Control function based on requesting master id and a data address within an integrated system

Publications (2)

Publication Number Publication Date
KR20040101364A true KR20040101364A (ko) 2004-12-02
KR100629069B1 KR100629069B1 (ko) 2006-09-26

Family

ID=29214801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047015221A KR100629069B1 (ko) 2002-04-18 2003-04-16 데이터 액세스 방법, 데이터 액세스 시스템 및 컴퓨터 판독 가능 기록 매체

Country Status (7)

Country Link
US (1) US6851056B2 (ko)
EP (1) EP1499976A4 (ko)
JP (1) JP4299679B2 (ko)
KR (1) KR100629069B1 (ko)
CN (1) CN1331056C (ko)
AU (1) AU2003230960A1 (ko)
WO (1) WO2003090086A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866951B1 (ko) * 2005-10-28 2008-11-05 삼성전자주식회사 메모리에 저장된 데이터를 보호할 수 있는 프로그래머블프로세서 및 방법

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW508494B (en) * 2001-03-28 2002-11-01 Shansun Technology Company Data protection device capable of self-defining address arrangement sequence in protection area of storage device
JP2002353978A (ja) * 2001-05-25 2002-12-06 Pioneer Electronic Corp 主局又は従局機能を有する無線通信端末
US7124228B2 (en) * 2001-07-10 2006-10-17 Sun Microsystems, Inc. Bus communication architecture, in particular for multicomputing systems
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
US7958374B2 (en) 2002-03-19 2011-06-07 Shansun Technology Company Digital information protecting method and apparatus, and computer accessible recording medium
US9081725B2 (en) 2002-03-19 2015-07-14 Shansun Technology Company Digital information protecting method and apparatus, and computer accessible recording medium
US7539680B2 (en) * 2002-05-10 2009-05-26 Lsi Corporation Revision control for database of evolved design
US8335915B2 (en) * 2002-05-14 2012-12-18 Netapp, Inc. Encryption based security system for network storage
US7526595B2 (en) * 2002-07-25 2009-04-28 International Business Machines Corporation Data path master/slave data processing device apparatus and method
US7434264B2 (en) * 2003-03-07 2008-10-07 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor
JP2005250833A (ja) * 2004-03-04 2005-09-15 Nec Electronics Corp バスシステム及びアクセス制御方法
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
US7461268B2 (en) * 2004-07-15 2008-12-02 International Business Machines Corporation E-fuses for storing security version data
US7444523B2 (en) * 2004-08-27 2008-10-28 Microsoft Corporation System and method for using address bits to signal security attributes of data in the address space
US8145816B2 (en) * 2004-09-15 2012-03-27 Intel Corporation System and method for deadlock free bus protection of resources during search execution
JP4587756B2 (ja) * 2004-09-21 2010-11-24 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP4501156B2 (ja) * 2004-10-28 2010-07-14 日本電気株式会社 機密モードに応じたアクセスフォルダ切り替え方法、プログラム、及びコンピュータシステム
US7904943B2 (en) * 2004-12-28 2011-03-08 O'connor Dennis M Secure controller for block oriented storage
US7412579B2 (en) * 2004-12-30 2008-08-12 O'connor Dennis M Secure memory controller
JP4738068B2 (ja) * 2005-06-17 2011-08-03 富士通セミコンダクター株式会社 プロセッサ及びシステム
US7406711B2 (en) * 2005-09-02 2008-07-29 Motorola, Inc. Method and apparatus for enforcing independence of processors on a single IC
US8898452B2 (en) * 2005-09-08 2014-11-25 Netapp, Inc. Protocol translation
US7730327B2 (en) * 2005-09-09 2010-06-01 Netapp, Inc. Managing the encryption of data
JP4671034B2 (ja) * 2005-10-04 2011-04-13 セイコーエプソン株式会社 Dma転送回路及びdmaコントローラ
EP1977363B1 (en) * 2006-01-13 2016-10-26 Freescale Semiconductor, Inc. Protection system and method of operation therein
US8001591B2 (en) * 2006-01-31 2011-08-16 Freescale Semiconductor, Inc. Distributed resource access protection
US7610464B2 (en) * 2006-02-22 2009-10-27 Sony Computer Entertainment Inc. Methods and apparatus for providing independent logical address space and access management
US8171307B1 (en) 2006-05-26 2012-05-01 Netapp, Inc. Background encryption of disks in a large cluster
GB0615392D0 (en) * 2006-08-03 2006-09-13 Wivenhoe Technology Ltd Pseudo random number circuitry
US8397083B1 (en) 2006-08-23 2013-03-12 Netapp, Inc. System and method for efficiently deleting a file from secure storage served by a storage system
US8181011B1 (en) 2006-08-23 2012-05-15 Netapp, Inc. iSCSI name forwarding technique
US20080077749A1 (en) * 2006-09-22 2008-03-27 Daniel Scott Cohen Access control of memory space in microprocessor systems
US7995759B1 (en) 2006-09-28 2011-08-09 Netapp, Inc. System and method for parallel compression of a single data stream
US8245050B1 (en) 2006-09-29 2012-08-14 Netapp, Inc. System and method for initial key establishment using a split knowledge protocol
US8042155B1 (en) 2006-09-29 2011-10-18 Netapp, Inc. System and method for generating a single use password based on a challenge/response protocol
US8190905B1 (en) 2006-09-29 2012-05-29 Netapp, Inc. Authorizing administrative operations using a split knowledge protocol
US8122196B2 (en) * 2006-10-30 2012-02-21 Netapp, Inc. System and procedure for rapid decompression and/or decryption of securely stored data
DE102006054025A1 (de) * 2006-11-16 2008-05-21 Giesecke & Devrient Gmbh Datenspeichervorrichtung mit Zusatzfunktion
US7984306B1 (en) * 2006-11-28 2011-07-19 Netapp, Inc. System and method for reducing processing latency in a security appliance
JP4873557B2 (ja) * 2007-01-12 2012-02-08 ルネサスエレクトロニクス株式会社 データ処理装置及び半導体集積回路
US8607046B1 (en) 2007-04-23 2013-12-10 Netapp, Inc. System and method for signing a message to provide one-time approval to a plurality of parties
US8611542B1 (en) 2007-04-26 2013-12-17 Netapp, Inc. Peer to peer key synchronization
US8824686B1 (en) 2007-04-27 2014-09-02 Netapp, Inc. Cluster key synchronization
JP4940033B2 (ja) * 2007-06-29 2012-05-30 パナソニック株式会社 計算機システム、計算機システムの制御方法および携帯電話機
US8196182B2 (en) 2007-08-24 2012-06-05 Netapp, Inc. Distributed management of crypto module white lists
US9774445B1 (en) 2007-09-04 2017-09-26 Netapp, Inc. Host based rekeying
JP2009116378A (ja) * 2007-11-01 2009-05-28 Renesas Technology Corp 半導体装置
US8300823B2 (en) * 2008-01-28 2012-10-30 Netapp, Inc. Encryption and compression of data for storage
CA2728445C (en) * 2008-06-24 2017-01-24 Nagravision S.A. Secure memory management system and method
US8954696B2 (en) 2008-06-24 2015-02-10 Nagravision S.A. Secure memory management system and method
US7934046B2 (en) * 2008-07-02 2011-04-26 International Business Machines Corporation Access table lookup for bus bridge
US10255463B2 (en) 2008-11-17 2019-04-09 International Business Machines Corporation Secure computer architecture
US10452844B2 (en) * 2008-11-26 2019-10-22 International Business Machines Corporation Protecting isolated secret data of integrated circuit devices
JP4766498B2 (ja) * 2008-12-24 2011-09-07 株式会社ソニー・コンピュータエンタテインメント ユーザレベルdmaとメモリアクセス管理を提供する方法と装置
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US9444757B2 (en) 2009-04-27 2016-09-13 Intel Corporation Dynamic configuration of processing modules in a network communications processor architecture
US8489791B2 (en) * 2010-03-12 2013-07-16 Lsi Corporation Processor bus bridge security feature for network processors or the like
US8949500B2 (en) 2011-08-08 2015-02-03 Lsi Corporation Non-blocking processor bus bridge for network processors or the like
US8694755B1 (en) * 2010-03-17 2014-04-08 Ambarella, Inc. Virtual memory management for real-time embedded devices
JP6343448B2 (ja) 2010-07-27 2018-06-13 メソ スケール テクノロジーズ エルエルシー 消耗品データ管理
KR20120035716A (ko) * 2010-10-06 2012-04-16 주식회사 유니듀 부팅 장치 및 그 방법
KR20120037785A (ko) * 2010-10-12 2012-04-20 삼성전자주식회사 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법
IL210169A0 (en) * 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
FR2989800B1 (fr) * 2012-04-18 2014-11-21 Schneider Electric Ind Sas Systeme de gestion d'applications securisees et non securisees sur un meme microcontroleur
US9400890B2 (en) * 2012-08-10 2016-07-26 Qualcomm Incorporated Method and devices for selective RAM scrambling
KR102017828B1 (ko) 2012-10-19 2019-09-03 삼성전자 주식회사 보안 관리 유닛, 상기 보안 관리 유닛을 포함하는 호스트 컨트롤러 인터페이스, 상기 호스트 컨트롤러 인터페이스의 동작 방법, 및 상기 호스트 컨트롤러 인터페이스를 포함하는 장치들
WO2014177905A1 (en) 2013-04-30 2014-11-06 Freescale Semiconductor, Inc. Device having a security module
US9607177B2 (en) * 2013-09-30 2017-03-28 Qualcomm Incorporated Method for securing content in dynamically allocated memory using different domain-specific keys
CN104899175A (zh) * 2014-03-04 2015-09-09 深圳市中兴微电子技术有限公司 一种基于片内总线协议的安全访问控制方法和装置
DE102016222691A1 (de) * 2015-12-15 2017-06-22 Continental Teves Ag & Co. Ohg Mikrocontrollersystem und Verfahren zur Kontrolle von Speicherzugriffen in einem Mikrocontrollersystem
FR3067486B1 (fr) * 2017-06-09 2021-08-27 Cryptosense Procede de detection non intrusif des failles de securite d'un programme informatique
US20190196967A1 (en) * 2017-12-27 2019-06-27 Samsung Electronics Co., Ltd. Device including access controller, system on chip and system including the same
GB201806465D0 (en) 2018-04-20 2018-06-06 Nordic Semiconductor Asa Memory-access controll
EP3572962B1 (en) * 2018-05-25 2020-12-16 Secure-IC SAS Multi-master security circuit
GB201810659D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure-Aware Bus System
GB201810662D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Access On A Secure-Aware Bus System
GB201810653D0 (en) 2018-06-28 2018-08-15 Nordic Semiconductor Asa Secure peripheral interconnect
US11941131B1 (en) * 2020-12-31 2024-03-26 Meta Platforms Technologies, Llc Isolation of secrets from an operating system
US11556394B2 (en) 2021-05-14 2023-01-17 Nxp B.V. System and method for controlling access to shared resource in system-on-chips

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4465901A (en) 1979-06-04 1984-08-14 Best Robert M Crypto microprocessor that executes enciphered programs
US4847902A (en) * 1984-02-10 1989-07-11 Prime Computer, Inc. Digital computer system for executing encrypted programs
US6822553B1 (en) 1985-10-16 2004-11-23 Ge Interlogix, Inc. Secure entry system with radio reprogramming
US4920483A (en) 1985-11-15 1990-04-24 Data General Corporation A computer memory for accessing any word-sized group of contiguous bits
US4797853A (en) 1985-11-15 1989-01-10 Unisys Corporation Direct memory access controller for improved system security, memory to memory transfers, and interrupt processing
US5144659A (en) 1989-04-19 1992-09-01 Richard P. Jones Computer file protection system
GB2255260B (en) 1991-04-24 1995-06-14 Mars Inc Transaction systems
US5367695A (en) * 1991-09-27 1994-11-22 Sun Microsystems, Inc. Bus-to-bus interface for preventing data incoherence in a multiple processor computer system
US5421006A (en) 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
US5918007A (en) 1992-05-27 1999-06-29 International Business Machines Corporation Trusted personal computer system with limited accessibility
US5440713A (en) 1992-05-29 1995-08-08 Industrial Technology Research Institute M-way N-port paged-interleaved memory system
US5603081A (en) 1993-11-01 1997-02-11 Telefonaktiebolaget Lm Ericsson Method for communicating in a wireless communication system
WO1994016509A1 (en) 1992-12-30 1994-07-21 Telstra Corporation Limited A method and apparatus for generating a cipher stream
US5561817A (en) 1993-08-16 1996-10-01 Thermo King Corporation Method of securely controlling direct memory access (DMA) of a shared memory by a DMA device on an expansion board
US5841868A (en) 1993-09-21 1998-11-24 Helbig, Sr.; Walter Allen Trusted computer system
US5491827A (en) 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5544255A (en) 1994-08-31 1996-08-06 Peripheral Vision Limited Method and system for the capture, storage, transport and authentication of handwritten signatures
US5893921A (en) 1995-02-10 1999-04-13 International Business Machines Corporation Method for maintaining memory coherency in a computer system having a cache utilizing snoop address injection during a read transaction by a dual memory bus controller
US5757915A (en) 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
DE19536169A1 (de) 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
US5943483A (en) * 1995-12-11 1999-08-24 Lsi Logic Corporation Method and apparatus for controlling access to a bus in a data processing system
US5933616A (en) * 1995-12-11 1999-08-03 Dell Usa, L.P. Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US5809230A (en) 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources
US5825878A (en) 1996-09-20 1998-10-20 Vlsi Technology, Inc. Secure memory management unit for microprocessor
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JPH10177560A (ja) * 1996-12-17 1998-06-30 Ricoh Co Ltd 記憶装置
US5887131A (en) * 1996-12-31 1999-03-23 Compaq Computer Corporation Method for controlling access to a computer system by utilizing an external device containing a hash value representation of a user password
DE19708616C2 (de) 1997-03-03 1999-09-02 Siemens Ag Elektronische Datenverarbeitungseinrichtung und -system
GB2325061B (en) 1997-04-30 2001-06-06 Advanced Risc Mach Ltd Memory access protection
US5935247A (en) 1997-09-18 1999-08-10 Geneticware Co., Ltd. Computer system having a genetic code that cannot be directly accessed and a method of maintaining the same
US6438666B2 (en) * 1997-09-26 2002-08-20 Hughes Electronics Corporation Method and apparatus for controlling access to confidential data by analyzing property inherent in data
US6098133A (en) * 1997-11-28 2000-08-01 Motorola, Inc. Secure bus arbiter interconnect arrangement
US6023510A (en) 1997-12-24 2000-02-08 Philips Electronics North America Corporation Method of secure anonymous query by electronic messages transported via a public network and method of response
US6230269B1 (en) 1998-03-04 2001-05-08 Microsoft Corporation Distributed authentication system and method
US6226742B1 (en) 1998-04-20 2001-05-01 Microsoft Corporation Cryptographic technique that provides fast encryption and decryption and assures integrity of a ciphertext message through use of a message authentication code formed through cipher block chaining of the plaintext message
US6182142B1 (en) 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6311255B1 (en) 1999-04-29 2001-10-30 International Business Machines Corporation System and method for selectively restricting access to memory for bus attached unit IDs
US6490642B1 (en) * 1999-08-12 2002-12-03 Mips Technologies, Inc. Locked read/write on separate address/data bus using write barrier
US7058179B1 (en) * 2000-03-29 2006-06-06 Sony Corporation Method and system for a secure high bandwidth bus in a transceiver device
KR100716950B1 (ko) * 2000-08-11 2007-05-10 삼성전자주식회사 버스 시스템
US7277972B2 (en) * 2002-03-08 2007-10-02 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866951B1 (ko) * 2005-10-28 2008-11-05 삼성전자주식회사 메모리에 저장된 데이터를 보호할 수 있는 프로그래머블프로세서 및 방법

Also Published As

Publication number Publication date
JP2005523519A (ja) 2005-08-04
AU2003230960A1 (en) 2003-11-03
KR100629069B1 (ko) 2006-09-26
EP1499976A1 (en) 2005-01-26
JP4299679B2 (ja) 2009-07-22
CN1331056C (zh) 2007-08-08
CN1647046A (zh) 2005-07-27
EP1499976A4 (en) 2008-01-23
US20030200451A1 (en) 2003-10-23
WO2003090086A1 (en) 2003-10-30
US6851056B2 (en) 2005-02-01

Similar Documents

Publication Publication Date Title
KR100629069B1 (ko) 데이터 액세스 방법, 데이터 액세스 시스템 및 컴퓨터 판독 가능 기록 매체
KR100491991B1 (ko) 내부 메모리형 내탬퍼 프로세서 및 비밀보호방법
US8781127B2 (en) Device with privileged memory and applications thereof
US7266842B2 (en) Control function implementing selective transparent data authentication within an integrated system
EP0583140B1 (en) System for seamless processing of encrypted and non-encrypted data and instructions
KR101224322B1 (ko) 마이크로제어기 내의 데이터 보안 처리를 위한 방법, 장치 및 집적 회로
KR101052400B1 (ko) 액세스 권한 위임 방법, 머신 판독가능한 저장 매체, 장치 및 프로세싱 시스템
JP4785808B2 (ja) データ処理装置およびシステム制御レジスタ保護方法
US20130205139A1 (en) Scrambling An Address And Encrypting Write Data For Storing In A Storage Device
EP2706478B1 (en) Protecting secure software in a multi-security-CPU system
KR20040101342A (ko) 집적 시스템 내에서의 초기화 방법, 관리 방법, 업데이트방법 및 복원 방법
US9171170B2 (en) Data and key separation using a secure central processing unit
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
US20220198074A1 (en) Secure Transient Buffer Management
WO2005121979A1 (ja) アクセス制御装置及びアクセス制御方法
EP2387752A1 (en) Establishing a secure memory path in a unitary memory architecture
CN116226870B (zh) 安全增强系统及方法
CN116361207A (zh) 保护并管理金钥的方法及装置
CA2638979A1 (en) Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
JP2004341769A (ja) 回路装置及びその不正アクセス防止方法

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
FPAY Annual fee payment

Payment date: 20120824

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130827

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee