KR20060032954A - 액세스 허용을 결정하는 방법 및 장치 - Google Patents

액세스 허용을 결정하는 방법 및 장치 Download PDF

Info

Publication number
KR20060032954A
KR20060032954A KR1020057022711A KR20057022711A KR20060032954A KR 20060032954 A KR20060032954 A KR 20060032954A KR 1020057022711 A KR1020057022711 A KR 1020057022711A KR 20057022711 A KR20057022711 A KR 20057022711A KR 20060032954 A KR20060032954 A KR 20060032954A
Authority
KR
South Korea
Prior art keywords
access
master
information
state information
circuit
Prior art date
Application number
KR1020057022711A
Other languages
English (en)
Other versions
KR101010801B1 (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 KR20060032954A publication Critical patent/KR20060032954A/ko
Application granted granted Critical
Publication of KR101010801B1 publication Critical patent/KR101010801B1/ko

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • 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
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Social Psychology (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명의 액세스 보호(96)를 결정하는 방법 및 장치는 다수의 마스터들(12,14)에 대응하는 다수의 액세스 요청(84)의 수신, 액세스 허용(86)의 결정, 상태 정보의 제공(60), 액세스 요청(84)에 근거하는 액세스 허용(86) 및 상태 정보(90)에 근거하는 선택적인 변형을 포함한다. 상태 정보(60)는 디버그 동작, 비보안 또는 비검증 메모리들로부터의 동작, 메모리 프로그래밍, 직접 메모리 액세스 동작, 부트 동작, 소프트웨어 보안 검증, 보안 레벨, 보안 모니터 동작, 동작 모드, 결함 모니터, 외부 버스 인터페이스 등(88)과 관련될 수 있을 것이다.
액세스 보호, 액세스 허용, 상태 정보

Description

액세스 허용을 결정하는 방법 및 장치{METHOD AND APPARATUS FOR DETERMINING ACCESS PERMISSION}
관련출원
본 발명은 2002년 3월 8일 출원된 "Data Processing System with Peripheral Access Protection and Method Therefor"라는 발명의 명칭을 가지는 미국 특허 출원 제10/094,082호 및 2003년 3월 7일 출원된 "Data Processing System with Peripheral Access Protection and Method Therefor"라는 발명의 명칭의 미국 특허 출원 제10/384,024호와 관련되며, 이들은 모두 본원의 출원인에게 양도되었다.
본 발명은 액세스 허용에 관한 것으로, 보다 구체적으로, 예컨대 데이터 처리 시스템 내에서의 액세스 허용을 결정하는 액세스 허용 회로에 관한 것이다.
시스템 온 칩(system on chip, SoC) 솔루션에 있어서, 예컨대 메모리와 같이 공유되는 주변 및 슬레이브(slave) 장치들을 가지는 다수의 마스터(master)를 가지는 것은 통상적인 것이다. 공유된 주변 및 슬레이브 장치들 모두 또는 그 중 몇몇의 컨텐츠는 템퍼링(tampering), 모방 또는 시스템을 손상시킬 수 있는 소정의 마스터에서 실행되는 잘못되거나 혹은 적대적인 소프트웨어와 같은 가로채기(interrogation)에 대하여 보호될 필요가 있을 것이다. 예컨대, 시스템의 주변 및 슬레이브 장치들 내의 보안 정보에의 액세스를 획득하는 데에 이용될 수 있는 보안되지 않은 마스터 상에서 실행되는 소프트웨어에 의해서 바이러스가 유입될 수 있을 것이다. 더욱이, 시스템 내의 소정의 버스 마스터들은 보안이 이루어진 것으로 간주되고, 다른 버스 마스터들은 보안이 이루어지지 않은 것으로 간주될 수 있을 것이며, 이러한 고려는 시스템의 상태가 변경됨에 따라 변할 수 있을 것이다. 따라서, 시스템의 무결성과 보안을 위하여, 보안되지 않은 마스터 상에서 실행되는 잘못되거나 혹은 적대적인 소프트웨어로부터 시스템을 보호할 필요가 있다.
본 발명은 예시적으로 기술되며, 동일한 참조 부호가 동일한 요소를 나타내는 첨부된 도면에 의해서 제한되는 것은 아니다.
도 1은 본 발명의 일 실시예에 따른 데이터 처리 시스템을 도시하는 블럭도.
도 2는 본 발명의 일 실시예에 따른 도 1의 데이터 처리 시스템의 액세스 보호 제어 레지스터를 도시하는 블럭도.
도 3은 본 발명의 일 실시예에 따른 도 1의 데이터 처리 시스템의 동작을 도시하는 흐름도.
본 발명의 기술 분야의 당업자는 도면의 요소들은 간단 명료하게 도시하기 위하여 반드시 실제 크기대로 도시되지 않았음을 이해할 것이다. 예컨대, 본 발명의 실시예의 이해를 돕기 위하여 도면의 몇몇 요소들의 치수는 다른 요소들에 비하여 과장될 수 있을 것이다.
본 명세서에서 이용되는 "버스"라는 용어는 데이터, 어드레스, 제어 또는 상태와 같은 하나 이상의 다양한 타입의 정보를 전송하는 데에 이용될 수 있는 복수의 신호들 또는 도전체들을 일컫는 데에 이용된다. 본 명세서에서 논의되는 도전체들은 단일의 도전체, 다수의 도전체들, 단방향 도전체들 또는 양방향 도전체들을 일컫는 것으로 도시되거나 기술될 수 있을 것이다. 그러나, 상이한 실시예들은 도전체의 구현을 달리할 수 있을 것이다. 예컨대, 양방향 도전체 대신에 별개의 단방향 도전체들이 이용될 수 있을 것이며, 그 반대로 이용될 수도 있을 것이다. 또한, 다수의 도전체들이 다수의 신호들을 직렬 또는 다중화된 방식으로 전송하는 단일 도전체로 대체될 수 있을 것이다. 마찬가지로, 다수의 신호들을 운반하는 단일의 도전체가 이들 신호들의 부분집합들을 운반하는 다양한 상이한 도전체들로 분리될 수 있을 것이다. 따라서, 신호들을 전송하는 데에는 많은 옵션들이 존재할 수 있을 것이다.
시스템 무결성과 보안을 보장하기 위하여, 예컨대 다수의 마스터 데이터 처리 시스템과 같은 시스템이 보안되지 않은 프로세서 또는 다른 마스터에서 실행되는 잘못되거나 혹은 적대적인 소프트웨어에 의해서 위험에 노출되지 않도록 보장하는 것이 바람직하다. 예컨대, 다수의 마스터 시스템 내의 다수의 마스터들은, 예컨대 시스템의 주변 또는 슬레이브 장치와 같은 동일한 자원을 공유할 수 있을 것이다. 다수의 마스터들 중 몇몇은 보안이 이루어진 것으로, 다른 것들은 보안이 이루어지지 않은 것으로 간주될 수 있을 것이다. 본 명세서에서 사용된 보안 마스터는 통상적으로 보다 액세스가 용이하며 손상에 보다 영향을 많이 받는 비보안 마스터보다 통상적으로 적게 액세스가능하며, 보다 손상에 영향을 적게 받는 마스터를 일컫는다. 예컨대, 보안 마스터는 제한된 액세스를 가지거나 마스터 또는 SoC의 제조자에 의해서 전적으로 명령을 수행할 수 있을 것이다(즉, 보안 마스터 상에서 실행되는 소프트웨어는 신뢰되거나 보안 소프트웨어인 것으로 간주될 수 있을 것이다). 그러나, 비보안 마스터는 제3자 소프트웨어(예컨대, 사용자 개발 소프트웨어) 또는 (소프트웨어의 컨텐츠 및 함수가 일반적으로 알려지지 않은)임의의 다른 신뢰되지 않은 소프트웨어를 수신하고 실행할 수 있을 것이다. 소프트웨어가 신뢰되지 않았기 때문에, 잘못되거나, 시스템의 다른 부분을 손상시키려 하거나 보안 정보에의 액세스를 획득하려고 시도하는 적대적인 소프트웨어일 수 있을 것이다. 더욱이, 보안 또는 비보안으로서의 특정 마스터의 상태를 데이터 처리 시스템의 상태가 변경됨에 따라 변경할 수 있을 것이다.
따라서, 본 발명의 일 실시예는 슬레이브 또는 비휘발성 메모리와 같은 주변 장치의 컨텐츠가 보안 상태에서 동작하는 때에는 비휘발성 메모리로부터 프로그램 실행이 진행되지만, 보안성이 보다 약한 상태에서 동작하는 때에는 권한없는 액세스가 발생하는 것을 방지하는 것을 가능하게 하는 방식으로 보안이 이루어지는 것을 가능하게 한다. 도 1 내지 3을 참조하여 아래에 기술될 바와 같이, 일 실시예는 시스템 상태가 이전에 프로그래밍된 데이터 처리 시스템의 액세스 보호 정책을 변경하거나 오버라이드(override)하는 것을 가능하게 하는 방법을 제공한다. 이러한 오버라이드는, 예컨대 각각의 마스터의 (예컨대, 슬레이브 장치, 주변 장치, 메모리, 공유 자원 등과 같은)시스템 자원에 대한 판독 및 기록 액세스를 함께 또는 독립적으로 제한하는 데에(또는 반대로 이러한 액세스 허용을 넓히는 데에) 이용될 수 있을 것이다. 더욱이, 이들 오버라이드는 상태 정보의 변경이 있는 때에 동적으로 변경될 수 있을 것이다. 또한, 아래에서 보다 상세히 기술될 바와 같이, 상태 정보는, 예컨대 디버그 모드의 인에이블, 비보안 또는 비검증 메모리 영역으로부터의 프로그램의 실행, 비뤼발성 메모리의 일부의 재프로그래밍 등과 관련된 정보와 같은 데이터 처리 시스템의 상태와 관련된 임의의 타입의 정보를 포함할 수 있을 것이다.
도 1은 데이터 처리 시스템(10)의 일부를 도시한다. 데이터 처리 시스템(10)은 마스터(상호접속 또는 버스 마스터라고도 불림)(12), 마스터(14)(상호접속 또는 버스 마스터라고도 불림), 메모리 제어기(32), 비휘발성 메모리(36), 시스템 상호접속부(22), I/O 회로(16), 주변 장치(18) 및 기타 슬레이브(20)를 포함한다. 마스터(12)는 도전체(48)를 통해서 시스템 상호접속부(22)에 양방향성으로 결합되며, 마스터(14)는 도전체(50)를 통해서 시스템 상호접속부(22)에 양방향성으로 결합되며, I/O 회로는 도전체(52)를 통해서 시스템 상호접속부(22)에 양방향성으로 결합되며, 주변 장치(18)는 도전체(54)를 통해서 시스템 상호접속부(22)에 양방향성으로 결합되며, 기타 슬레이브(20)는 도전체(56)를 통해서 시스템 상호접속부에 양방향성으로 결합되며, 메모리 제어기(32)는 도전체(24)를 통해서 시스템 상호접속부(22)에 양방향성으로 결합된다. 도전체(24)는 마스터 식별자(26), 어드레스/데이터(30), R/W 신호(28) 및 기타 신호(34)와 통신하는 도전체들을 포함한다.
메모리 제어기(32)는 액세스 보호 제어 레지스터(38), 액세스 변형 회로(40), 액세스 제어 회로(42) 및 메모리 액세스 회로(44)를 포함하며, 도전체(46)를 통해서 비휘발성 메모리(36)에 양방향성으로 결합된다. 액세스 보호 제어 레지스터는 액세스 변형 회로(40)에의 액세스 허용(58)을 제공한다. 액세스 변형 회로(40)는 도전체(62)를 통해서 데이터 처리 시스템(10) 내의 정보로부터, 그리고 도전체(64)를 통해서 메모리 제어기(32) 내의 정보로부터 상태 정보(60)를 수신하며, 변형된 액세스 허용(66)을 액세스 제어 회로(42)에 제공한다. 다른 실시예에서, 상태 정보(60)는 (도전체(62)를 통해서)데이터 처리 시스템(10)으로부터 제공되는 정보만을 포함하거나 메모리 제어기(32) 내로부터 제공되는 정보만을 포함할 수 있음에 주목하여야 한다. 더욱이, 상태 정보(60)는 (몇몇 또는 모든 도전체(62)를 통해서)데이터 처리 시스템(10) 외부의 소스들로부터 제공되는 정보를 포함할 수 있을 것이다. 따라서, 아래에서 보다 상세히 설명될 바와 같이 상태 정보(60)는 액세스 변형 회로(40)에 원하는 상태 정보를 제공하는 임의의 타입의 신호 또는 지시자를 포함할 수 있을 것이다. 액세스 제어 회로(42)는 메모리 액세스 회로(44)에 (하나 이상의 지시자를 포함할 수 있는)액세스 허용 지시자(68)를 제공한다.
비록 도 1에는 하나의 주변 장치(18)만이 도시되어 있지만, 데이터 처리 시스템(10)은 시스템 상호접속부(22)에 결합되는 임의의 수의 주변 장치를 포함할 수 있을 것이다. 유사하게, 임의의 수의 마스터 및 슬레이브가 시스템 상호접속부(22)에 결합될 수 있을 것이며, 도 1에 도시된 것에 한정되지 않는다. 일 실시예에서 데이터 처리 시스템(10)은 단일의 집적 회로 또는 동일한 장치상에 위치할 수 있을 것임에 주목하라. 이와 달리, 데이터 처리 시스템(10)은 서로 상호접속되는 임의의 수의 별개의 집적 회로 또는 별개의 장치를 포함할 수 있을 것이다. 예컨대, 일 실시예에서, (예컨대, 비휘발성 메모리(36) 및 메모리 제어기(32)와 같은)메모리 및 메모리 제어기는 데이터 처리 시스템(10)의 나머지 부분과는 별도의 하나 이상의 집적 회로들 상에 위치할 수 있을 것이다.
일 실시예에서, 마스터(12) 및 마스터(14)는, 마이크로프로세서, 디지털 신호 프로세서 등과 같이 명령을 실행할 수 있는 프로세서이거나, DMA(direct memory access) 회로 또는 디버그 회로와 같은 임의의 다른 타입의 상호접속부 또는 버스 마스터일 수 있을 것이다. 또한, 단지 2개의 마스터만이 기술되었지만, 데이터 처리 시스템(10)은 필요한 만큼의 (하나 이상의)임의의 수의 마스터들을 포함할 수 있을 것이다. 소정의 동작 포인트에서 각각의 마스터(12,14)는 상이한 보안 레벨을 가실 수 있음 또한 주의하라. 예컨대, 특정 동작 포인트에서의 데이터 처리 시스템(10)의 상태에 따라, 각각의 마스터(12,14)는 보안 또는 비보안 마스터일 수 있을 것이다. 주변 장치(18)는 UART(universal asynchronous receiver transmitter), RTC(real time clock), 키보드 제어기, 임의의 타입의 메모리 등과 같은 임의의 타입의 주변 장치일 수 있을 것이다. 기타 슬레이브(20)는, 예컨대 마스터(12,14)에 의해서 액세스가능한 메모리와 같은 임의의 타입의 상호접속 슬레이브 및 주변 장치(18)와 동일한 타입을 포함하는 시스템 버스 상에 상주하는 임의의 타입의 주변 장치를 포함할 수 있음에 주목하라. I/O 회로(16)는 데이터 처리 시스템(10)의 내부 혹은 회부의 정보를 수신하거나 제공하는 임의의 타입의 I/O 회로를 포함할 수 있을 것이다.
예시된 실시예에서, 메모리 제어기(32) 및 비휘발성 메모리(36)는 시스템 상호접속부(36)에 결합되는 다른 슬레이브에 대응한다. 일 실시예에서, 비휘발성 메모리(36)는 (예컨대, 미스터(12,14)와 같은)시스템 상호접속부(22)에 결합되는 적어도 2개의 마스터에 의해서 공유될 수 있음에 주목하라. 비휘발성 메모리(36)는 마스터(12,14)와 동일한 집적 회로 상에, 또는 별도의 집적 회로 상에 위치할 수 있을 것이다. 더욱이, 메모리(36)가 (플레쉬 메모리와 같은)비휘발성 메모리로 도시되어 있지만, 메모리(36)는, 예컨대 ROM, RAM, DRAM, SRAM, (예컨대, 플래쉬, MRAM과 같은)비휘발성 메모리 등과 같은 임의의 타입의 메모리일 수 있을 것이다. 또한, 메모리(36)는 다른 주변 장치 또는 슬레이브 내에 위치한 메모리 또는 다른 저장 장치일 수 있을 것이다. 또 다른 실시예에서, 메모리(36)는 보호될 필요가 있는 보안 정보를 가지는 임의의 타입의 자원일 수 있을 것이며, 메모리 제어기(32)는 자원을 보호하기 위한 액세스 보호 회로를 가지는 임의의 타입의 제어기로 대체될 수 있을 것이다.
시스템 상호접속부(22)는 마스터(12), 마스터(14), I/O 회로(16), 주변 장치(18), 기타 슬레이브(20) 및 메모리 제어기(32)를 상호접속한다. 일 실시예에서, 도 1에 도시된 바와 같이, 시스템 상호접속부(22)는 시스템 버스 프로토콜에 따라 동작하는 시스템 버스로 구현된다. 이와 달리, 시스템 상호접속부(22)는 다양한 장치들 사이에서 정보를 라우팅하는 스위칭 회로와 같은 상호접속 회로를 이용하여 구형될 수 있다.
동작시에, 마스터(12,14)는 기타 슬레이브(20), 주변 장치(18) 또는 비휘발성 메모리(36)에의 액세스를 요청하기 위하여 메모리 제어기(32)를 통해서 시스템 상호접속부(22)의 사용을 요청한다. 요청 마스터는 시스템 상호접속부(22)를 통해서 메모리 제어기(32)에 액세스 요청을 제공할 수 있다. 액세스 요청은, 예컨대 데이터 또는 명령에 대한 판독 요청 또는 기록 요청일 수 있다. 메모리 제어기(32)는 요청 마스터가 충분한 액세스 허용을 가지는 것으로 가정하여 판독 액세스 요청에 응답하여 요청된 정보(데이터 또는 명령)를 시스템 상호접속부(22)를 통해서 요청 마스터에 다시 제공한다. 일 실시예에서, 액세스 요청에 대하여, 어느 마스터가 현재 액세스를 요청하는지를 식별하는 마스터 식별자(26)가 메모리 제어기(32)에 제공된다. 현재 액세스 요청이 판독 또는 기록 타입의 액세스인지를 나타내기 위하여 R/W 신호(28)가 메모리 제어기(32)에 제공될 수 있을 것이다. 메모리 제어기(32)는 현재 액세스 요청에 대응하는 어드레스 정보 또한 수신하고, 요청된 정보를 어드레스/데이터(30)를 통해서 제공한다. 메모리 제어기(32)와 통신하는 데에 필요한 (상태, 데이터 등과 같은)임의의 다른 신호들이 다른 신호들(34)을 통해서 제공될 수 있을 것이다.
마스터(12,14)와 같은 각각의 마스터는 비휘발성 메모리(36)에의 특정 액세스 요청이 허용가능한지를 결정하는 데에 이용될 수 있는 대응하는 액세스 허용을 가질 수 있을 것이다. 예컨대, 특정 마스터는 비휘발성 메모리(36)에의 기록 액세스 또는 판독 액세스에 대하여 상이한 액세스 허용을 가질 수 있을 것이다. 일 실시예에서, 이들 액세스 허용은 액세스 보호 제어 레지스터(38)에 저장된다.
도 2는 도 1의 액세스 보호 제어 레지스터(38)의 일 실시예를 도시한다. 일 실시예에서, 액세스 보호 제어 레지스터(38)는 데이터 처리 시스템(10) 내의 각각의 마스터에 대한 하나의 액세스 보호 필드를 포함한다. 예컨대, 액세스 보호 제어 레지스터(38)는 마스터(12) 및 마스터(14)에 각각 대응하는 마스터(12) 액세스 보호 필드(70) 및 마스터(14) 액세스 보호 필드(76)를 포함한다. 액세스 보호 필드는 특정 마스터에 의한 비휘발성 메모리(36)에 대한 특정 타입의 액세스가 허용되는지 여부를 나타낸다. 예컨대, 예시된 실시예에서, 각각의 액세스 보호 필드(70,76)는 각각의 마스터에 대한 판독 액세스 및 기록 액세스의 허용을 나타내기 위하여 판독 액세스 보호 필드 및 기록 액세스 보호 필드를 포함한다.
마스터(12) 액세스 보호 필드(70)는 마스터(12)가 비휘발성 메모리(36)에의 판독 액세스를 수행하는 것이 허용되었는지 여부를 나타내는 마스터(12) 판독 액세스 보호 필드(72) 및 마스터(12)가 비휘발성 메모리(36)에의 기록 액세스를 수행하는 것이 허용되었는지 여부를 나타내는 마스터(12) 기록 액세스 보호 필드(74)를 포함한다. 따라서, 마스터(12)는 비휘발성 메모리(36)에의 판독 또는 기록 액세스 중 하나만을 수행하도록 허용될 수 있을 것이다. 이와 달리, 마스터(12)는 팔드(72,74)의 값에 따라 비휘발성 메모리(36)에의 판독 및 기록 액세스 모두에 대하여 허용하거나, 이들 모두에 대하여 허용하지 않을 수 있을 것이다. 일 실시예에서, 각각의 필드(72,74)는 대응하는 액세스 타입(기록 또는 판독)이 허용되는지 여부를 나타내는 1 비트 필드이다. 유사하게, 마스터(14) 액세스 보호 필드(76)는 마스터(14)가 비휘발성 메모리(36)에의 판독 액세스를 수행하는 것이 허용되는지 여부를 나타내는 마스터(14) 판독 액세스 보호 필드(78) 및 마스터(14)가 비휘발성 메모리(36)에의 기록 액세스를 수행하는 것이 허용되는지 여부를 나타내는 마스터(14) 기록 액세스 보호 필드(80)를 포함한다. 따라서, 마스터(14)는 비휘발성 메모리(36)에의 기록 또는 판독 액세스 중 단지 하나만을 수행하는 것이 허용될 수 있을 것이다. 이와 달리, 마스터(14)는 필드(78,80)의 값에 따라 비휘발성 메모리(36)에의 판독 및 기록 액세스 모두가 허용되거나, 이들 모두가 허용되지 않을 수 있을 것이다. 일 실시예에서, 각각의 필드(78,80)는 대응하는 액세스 타입(판독 또는 기록)이 허용되는지 여부를 나타내는 1 비트 필드이다.
다른 실시예에서, 액세스 보호 제어 레지스터(38)는 필드(70,76)와 같은 임의의 수의 액세스 보호 필드를 포함할 수 있음에 주목하라. 예컨대, 액세스 보호 제어 레지스터(38)는 데이터 처리 시스템(10) 내의 모든 마스터에 대하여. 혹은 데이터 처리 시스템(10) 내의 마스터들의 부분집합에 대해서만 하나의 액세스 보호 필드를 포함할 수 있을 것이다. 또한, 각각의 액세스 보호 필드(70,76)는 판독 기록 액세스를 대신하여, 혹은 이에 추가하여 (예컨대, 버스트 액세스와 같은)상이한 타입의 액세스에 기초하는 허용을 식별하기 위하여 임의의 수의 필드들을 포함할 수 있음에 주목하라. 더욱이, 필드(70,72,76,78,80)는 상이한 필드 정의, 상이한 비트 할당 또는 상이한 수의 비트를 이용하는 것과 같은 다양한 상이한 방식으로 구현될 수 있을 것이다. 이와 달리, 별개의 레지스터들 또는 다른 레지스터 또는 데이터 처리 시스템(10) 내의 다른 메모리 위치 내와 같이 상이하게 구성될 수 있을 것이다. 통상적으로, 액세스 보호 제어 레지스터(38)는 보안 마스터에 의해서 프로그램가능한 소프트웨어이다. 일 실시예에서, 액세스 보호 제어 레지스터(38)는 리셋시에 프로그램될 수 있을 것이다.
도 1을 다시 참조하면, 액세스 변형 회로(70)는 제어 레지스터(38) 내에 저장된 하나 이상의 액세스 허용을 변형하는 데에(또는 오버라이드하는 데에) 이용될 수 있을 것이다. 예컨대, 상태 정보(60)에 따라, 액세스 변형 회로(40)는 액세스 보호 제어 레지스터(38)로부터의 액세스 허용(58)을 선택적으로 변형하여 변형된 액세스 허용을 제공할 수 있을 것이다. 즉, 어떤 경우에 변형된 액세스 허용(66)을 생성하도록 모든 액세스 허용(58)이 변형되거나, 변형된 액세스 허용(66)이 단지 하나 또는 몇몇 변형된 허용만을 포함하도록 하나 또는 몇몇 액세스 허용(58)만이 변형될 수 있을 것이다. 즉, 변형된 액세스 허용(66)은 현재 변형되지 않은 액세스 보호 제어 레지스터(38)로부터의 허용을 포함할 수 있을 것이다. 또한, 변형된 액세스 허용(66)은 특정 마스터에 대하여 메모리(36)에의 보다 광범위한(또는 덜 제한적인) 액세스를 제공하거나, 특정 마스터에 대하여 메모리(36)에의 액세스를 제한할 수 있을 것임에 주목하라.
도 1을 다시 참조하면, 그 후에, 액세스 제어 회로(42)는 현재 액세스 요청이 허용되었는지 여부를 결정할 수 있을 것이다. 예컨대, 데이터 처리 시스템(10)내의 (마스터(12,14)와 같은)각각의 마스터는 대응하는 마스터 식별자를 가실 수 있을 것이다. 일 실시예에서, 마스터(12)는 마스터 식별자 0에 대응하고, 마스터(14)는 마스터 식별자(1)에 대응하여 각각의 마스터가 대응하는 숫자로 특유하게 식별될 수 있을 것이다. 다른 실시예에서, 임의의 타입의 식별자가 이용될 수 있을 것이며, 다른 방식으로 할당될 수도 있을 것이며, 0부터 시작하거나, 한자리 수까지와 같이 순서에 제한되지도 않을 것이다. 따라서, 다른 실시예에서, 다수의 마스터들은 동일한 마스터 식별자를 공유할 수 있을 것이다. 따라서, 액세스 제어 회로(42)는 (마스터 식별자(26)에 의해서 액세스 제어 회로(42)로 지시되는)어느 마스터가 현재 액세스를 요청하는지에 기초하여, 그리고 (변형된 액세스 허용(66)에 의해서 액세스 제어 회로(42)로 지시되는)액세스 허용에 기초하여, 비휘발성 메모리(36)로의 액세스가 허용되는지 여부를 결정한다. 액세스가 허용되는 경우에는, 액세스 허용 지시자(68)는 메모리 액세스 회로(44)로의 액세스가 허용되었음을 나타내며, 메모리 액세스 회로(44)는 그 후에 필요한 신호들 및 정보를 비휘발성 메모리(36)에 제공하여 요청된 액세스를 완료(예컨대, 요청된 판독 또는 기록을 완료)할 수 있을 것이다. 그러나, 현재 요청 마스터에 대한 변형된 액세스 허용(66)에 기초하는 경우에는, 액세스 제어 회로(42)가 액세스가 허용되었는지를 결정하며, 액세스 허용 지시자(68)는 액세스가 허용되지 않았음을 지시하고, 메모리 액세스 회로(44)는 요청된 액세스를 완료하지 않는다. 메모리 제어기(32)의 동작은 도 3을 참조하여 더 상세히 설명될 것이다.
도 3은 본 발명의 일 실시예에 따른 메모리 제어기(32)의 동작에 대응하는 흐름(96)을 도시한다. 흐름(96)은 개시(82)에서 시작하고, 액세스 요청이 수신되는 블럭(84)으로 진행한다. 예컨대, 마스터(12,14)는 시스템 상호접속부(22)를 통해서 비휘발성 메모리(36)에 액세스 요청을 제공할 수 있을 것이며, 액세스 요청은, 예컨대 R/W 신호(28)에 의해서 지시되는 바와 같은 판독 또는 기록 요청일 수 있을 것이다. 그 후에, 블럭(86)으로 진행하여 액세스 허용이 결정된다. 예컨대, 이들 액세스 허용은 액세스 보호 제어 레지스터(38) 내의 필드(필드(70,76))에 의해서 제공될 수 있을 것이다. 그 후에, 흐름은 블럭(88)으로 진행하여 (상태 정보(60))와 같은 상태 정보가 수신된다. 상태 정보는, 예컨대, 디버그 동작, 비보안 또는 비검증 메모리로부터의 동작, 메모리 프로그래밍, DMA(direct memory access) 동작, 동작 모드, 폴트 모니터, 외부 버스 동작 등과 관련될 수 있을 것이다. 즉, 하나 이상의 상기 조건들, 상태들 또는 동작들을 나타내거나, 또는 하나 이상의 조건들, 상태들 또는 동작들과 관련된 정보를 나타낼 수 있는 정보가 상태 정보(60)를 통하여 액세스 변형 회로(40)에 제공될 수 있을 것이다. 따라서, 상태 정보(60)는 (마스터(12), 마스터(14), I/O 회로(16), 주변 장치(18) 또는 기타 슬레이브(20)와 같은)데이터 처리 시스템(10) 내의 다양한 장소, 혹은 메모리 제어기(32) 내의 장소 또는 데이터 처리 시스템(10) 외부의 장소 또는 이들의 조합으로부터 수신될 수 있을 것이다.
예컨대, 디버그 동작과 관련된 상태 정보에 대하여, 하나 이상의 상태 정보들의 신호들(60)이 별도의 유닛으로서, 또는 예컨대 마스터(12,14)의 일부로서 상호 접속부(22)에 결합되는 디버그 회로(도시되지 않음)로부터 수신될 수 있을 것이다. 상태 정보(60) 내의 신호들은 다양한 상이한 방식으로 결합되어 결합된 상태 정보 또는 액세스 변형 회로(40)에의 하나 이상의 자원에 기초하는 상태 정보를 제공한다. 이러한 결합 회로는 액세스 변형 회로(40) 내에 위치하거나, 액세스 변형 회로(40) 외부에 위치하거나, 심지어는 메모리 제어기(32) 외부에 위치할 수 있을 것이다.
도 3을 참조하면, 흐 후에 흐름은 블럭(90)으로 진행하여 수신된 상태 정보에 기초하여 액세스 허용이 선택적으로 변형될 수 있을 것이다. 예컨대, 일 실시예에서, 하드웨어 오버라이드가 액세스 허용을 변형하는 데에 이용되어, 상태 정보(60)를 통해서 통신되는 소정의 조건들 또는 상태들이 액세스 보호 제어 레지스터(38) 내에 저장되는 허용이 하드웨어에 의해서 오버라이드되도록 야기할 수 있을 것이다. 예컨대, 일 실시예에서, 상태 정보(60)는 원하는 대로 결합되어(혹은 직접), 하드웨어 오버라이드 회로에 입력될 수 있을 것이며, 소정의 조건들이 충족되는 때에 액세스 보호 제어 레지스터(38)의 값들이 하드웨어에 의해서 변형되거나 대체되어 변형된 액세스 허용(66)과 같은 변형된 액세스 허용을 생성할 수 있을 것이다. 이와 달리, 액세스 허용(58)은 상태 정보(60)에 기초하여 다른 하드웨어 또는 다른 소프트웨어 방법에 의한 것과 같은 다른 방식으로 선택적으로 변형되어 변형된 액세스 허용(66)을 생성할 수 있을 것이다.
흐름은 그 후에 블럭(92)로 진행하여 변형된 액세스 허용에 기초하여 요청된 액세스가 선택적으로 수행된다. 예컨대, 마스터(12)가 비휘발성 메모리(36)에의 판독 액세스를 요청하고, 마스터(12) 판독 액세스 보호 필드(72)가 마스터(12)에 의한 판독 액세스가 허용되었음을 나타내는 경우에, (이것이 액세스 변형 회로(40)에 의해서 변형되지 않는다고 가정하면)마스터(12)의 요청이 수행될 것이다. 그러나, 상태 정보(60)가 마스터(12)의 판독 액세스 허용이 변형되어야할 것을 나타내면(예컨대, 허용하지 않고 부인하는 경우에), 액세스 변형 회로(40)는 판독 액세스 허용을 변형하여(그리고, 이것을 변형된 액세스 허용(66)을 일부로서 제공하여) 요청된 판독 액세스는 허용되지 않고 부인될 것이며, 이리하여 마스터(12) 판독 액세스 보호 필드(72)를 오버라이드한다. 흐름은 종료(94)에서 종료한다.(도 3의 흐름은 메모리 제어기(32)를 통한 메모리(36)에의 액세스 요청시마다 반복될 수 있음에 주목하라.)
따라서, 마스터(12,14)와 같은 마스터에 의한 비휘발성 메모리(36)에의 액세스마다, 액세스 보호 제어 레지스터들(38)은 현재 액세스가 허용되는지 여부를 결정하는 데에 이용될 수 있는 액세스 허용(58)을 제공한다. 그러나, 데이터 처리 시스템(10)의 상태 정보에 따라 이들 소프트웨어 프로그램가능 레지스터들의 오버라이드가 바람직한(그래서 변형된 액세스 허용(66)을 야기하는) 상황이 존재한다. 예컨대, 액세스 보호 제어 레지스터(38)가 소프트웨어 프로그램가능한 경우에, 액세스 보호 제어 레지스터(38) 내에 저장된 허용은 비보안 소프트웨어에 의해서 보호받을 필요가 있는 보안 정보에 대한 액세스를 잘못 허용하도록 변경되었을 수 있을 것이다. 따라서, 액세스 변형 회로(40)는 소정의 상태 정보 또는 데이터 처리 시스템(10)의 조건들에 따라 보안 정보에의 액세스를 방지하기 위하여 액세스 보호 레지스터(38)의 액세스 허용을 변형하는 데에 이용될 수 있는 (오버라이드와 같은)변형을 제공하는 데에 이용될 수 있을 것이다.
일 실시예에서, 데이터 처리 시스템(10)은 통상적으로 디버그동안에 보다 액세스가능하기 때문에 디버그 동작 동안에는 액세스가 제한될 수 있을 것이다. 따라서, 일 실시예에서 상태 정보(60)는 언제 디버그가 인에이블되는지를 나타내는 디버그 회로(도시되지 않음)로부터의 정보를 포함한다. 이 경우에, 액세스 보호제어 레지스터(38) 내의 몇몇 또는 모든 마스터들(12,14)의 허용은 액세스 변형 회로(40)에 의해서 변형될 수 있을 것이다.
다른 실시예에서, 비보안 또는 비검증 메모리로부터의 동작 동안에, 데이터 처리 시스템(10)의 보안을 보장하고, 예컨대 이들 비보안 또는 비검증 메모리들 내에 저장된 잘못되거나 적대적인 소프트웨어에 기인하여 야기될 수 있는 손상을 방지하기 위하여 액세스가 변형될 필요가 있을 것이다.
다른 실시예에서, 액세스 허용은 메모리가 프로그래밍되는 경우에 변형될 필요가 있을 것이다. 예컨대, 도 1을 참조하면, 비휘발성 메모리(36)가 변형되는 경우에, 비휘발성 메모리(36)의 변형된 부분의 보안을 보장하는 것이 가능하지 않기 때문에 비휘발성 메모리(36)로의 액세스 허용이 변경될 수 있을 것이다. 예컨대, 비휘발성 메모리(36)는 불량 데이터, 오정보를 포함하도록 변형되거나, 또는 잘못되거나 적대적인 소프트웨어를 저장하도록 변형되었을 수 있을 것이다. 이러한 경우에, 상태 정보(60)는 도전체(64)와 같은 메모리 제어기(32) 내로부터 제공되는 정보를 포함할 수 있을 것이다.
또 다른 실시예에서, 액세스 허용은 DAM 동작을 위하여 변형될 수 있을 것이다. 이러한 예에서, 상태 정보(60)는 DMA 동작의 발생을 나타내는 DMA로부터의 신호를 포함할 수 있을 것이다(예컨대, 마스터(12,14)는 DMA이거나 이를 포함할 수 있을 것이다). 다른 실시예에서, 액세스 허용은 시스템이 잘못된 펌웨어, 소프트웨어 또는 설정에 의해서 미지의 상태로 부트될 수 있기 때문에 보안 정보가 보안 상태로 남는 것을 보장하도록 부트 동작시에 변형될 수 있을 것이다. 액세스 허용은 소프트웨어가 검증될 때까지 액세스 보호 제어 레지스터(38) 내에 저장된 액세스 허용이 액세스를 제어하는(즉, 오버라이드되거나 변형되는) 것을 허용하지 않도록 소프트웨어 보안 검증에 기초하여 변경될 수도 있을 것이다. 액세스 허용은 데이터 처리 시스템(10) 또는 마스터(12,14)의 보안 레벨에 기초하여 변형될 수 있을 것이다. 예컨대, 각각의 마스터는 (보안 및 비보안이 아닌)가변 보안 레벨을 가질 수 있을 것이며, 특정 액세스 요청 동안의 보안 레벨에 기초하여 제어 레지스터(38)의 액세스 허용이 변형될 수 있을 것이다. 액세스 허용은 보안 모니터 동작에 기초하여 변형될 수도 있을 것이다. 예컨대, 보안이 침해되지 않았음을 보장하기 위하여 데이터 처리 시스템(10) 내의 동작을 감독하는 보안 모니터(도시되지 않음)가 데이터 처리 시스템(10)에 존재할 수 있을 것이다. 따라서, 보안 모니터에 의한 소정의 조건의 검출시에, 액세스가 적절히 변형될 수 있을 것이다. 따라서, 상태 정보(60)는 이들 상태, 조건 및 동작에 관련된 정보를 액세스 변형 회로(40)에 제공하는 데에 이용될 수 있을 것이다.
또한, 다른 예에서, 액세스 허용은 데이터 처리 시스템 또는 메모리 제어기(32)의 동작 모드에 기초하여 상태 정보(60)에 의해서 지시되는 대로 변형될 수 있을 것이다. 예컨대, 데이터 처리 시스템(10)이 (동작의 기본 세트만이 지원되는 최소 동작 상태와 같은)감소된 레벨 동작 상태에 진입하는 경우에, 제어 레지스터(38)의 프로그래밍된 액세스 허용은 감소된 레벨에서 동작하는 동안 데이터 처리 시스템(10)을 보호하도록 변형될 수 있을 것이다. 다른 실시예에서, 액세스 허용은 데이터 처리 시스템(10)의 폴트 모니터(도시되지 않음)에 기초하여 변형될 수 있을 것이다. 예컨대, 데이터 처리 시스템(10)의 임의의 부분 내의 폴트 모니터에 응답하여, 제어 레지스터(38)의 액세스 허용은 폴트 검출시에 액세스를 제한하도록 변형될 수 있을 것이다. 본 실시예에서, 폴트 모니터로부터의 신호는 상태 정보(60)를 통해서 액세스 변형 회로(40)에 제공될 수 있을 것이다. 또 다른 실시예에서, 액세스 허용은 외부 버스 동작에 기초하여 변형될 수 있을 것이다. 예컨대, 외부 버스 동작 동안에, 외부 소스는 보안 정보를 액세스하거나 변형하려고 하거나, 메모리(36) 또는 데이터 처리 시스템(10)을 손상시키려고 할 것이다. 따라서, 액세스 허용은 데이터 처리 시스템(10)의 보안을 보장하기 위하여 외부 버스 동작 동안에 액세스를 제한할 수 있을 것이다.
(예컨대, 상태 정보(60)를 통하여 제공되는)상태 정보가 제어 레지스터(38)의 액세스 허용을 선택적으로 이용될 수 있는 상이한 상황에 대하여 위에서 많은 예들이 제공되었음에 주목하라. 전술한 것과 다른 실시예들이 이용될 수 있다. 더욱이, 데이터 처리 시스템(10)의 필요에 따라 액세스 허용이 변경되어야 하는 상태 정보(60)가 다양한 방식으로 결합될 수 있는 상기 상황들의 조합이 이용될 수 있을 것이다. 즉, 상태 정보(60)는 액세스 변형 회로(40)가 액세스 허용의 변형 여부를 올바르게 결정하도록 하기 위하여 액세스 변형 회로(40)에의 필요한 상태 정보를 나타내기 위하여 메모리 제어기(32) 내의 자원들 또는 소스들을 포함하는 다양한 상이한 자원 또는 소스들로부터 취해질 수 있을 것이다. 더욱이, 상태 정보는 데이터 처리 시스템(10) 또는 그 구성요소의 상태 또는 조건을 반영하는 임의의 타임의 정보를 포함할 수 있을 것이다. 또한, 상태 정보는 (마스터(12,14)와 같은)하나 이상의 마스터들의 신뢰도를 나타낼 수 있을 것이다. 또한, 비록 전술한 대부분의 예들이 액세스 허용을 제한하는 것을 참조하여 제공되었지만, 액세스 변형 회로(40)는 데이터 처리 시스템(10)의 설계에 따라 액세스 허용을 증가시키거나 넓히는 데에 상태 정보를 이용할 수도 있을 것이다.
따라서, 다수의 마스터 데이터 처리 시스템을 포함하는 데이터 처리 시스템의 보안을 어떻게 향상시킬 수 있는지를 이해할 수 있을 것이다. 액세스 변형 호로는 다양한 상이한 타입의 상태 정보에 기초하여 액세스 허용을 선택적으로 변형하는 데에 이용될 수 있을 것이다. 따라서, 데이터 처리 시스템(10)의 상태가 변함에 따라, 액세스 단위마다 액세스 허용을 제한하거나 넓힘으로써 필요한 만큼의 보안이 유지될 수 있을 것이다. 더욱이, 이러한 변형은 마스터 단위 및 액세스 타입 단위로 수행될 수 있을 것이다. 상태 정보는 메모리 제어기(32) 내의 정보를 포함하는 데이터 처리 시스템(10)의 다양한 부분으로부터 수신된 정보를 포함할 수 있을 것이며, 데이터 처리 시스템(10)의 외부 소스로부터의 정보를 포함할 수 있을 것이다. 또한, 액세스 변형 회로는 액세스 허용을 하드웨어 오버라이드 메커니즘을 이용하여 선택적으로 변형할 수 있을 것이다. 이와 달리, 다른 하드웨어, 소프트웨어 또는 이들의 조합, 메커니즘이 변형된 액세스 허용(66)을 생성하는 데에 이용될 수 있을 것이다.
명세서에서, 본 발명은 특정 실시예를 참조하여 기술되었다. 그러나, 본 기술 분야의 당업자는 청구의 범위에 기술된 본 발명의 범위를 벗어나지 ㅇ낳고서 다양한 변경과 변화가 이루어질 수 있음을 이해할 것이다. 예컨대, 데이터 처리 시스템(10) 및 메모리 제어기(32)는 도 1의 실시예에 나타난 것과는 다르게 구성될 수 있을 것이다. 더욱이, 회로는 하드웨어, 소프트웨어 및 펌웨어의 조합으로 구현될 수 있을 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 의미로 간주되며, 이러한 모든 변형은 본 발명의 범위 내에 포함된다.
특정 실시예에 관하여 장점, 다른 이점 및 문제점에 대한 해결책이 전술되었다. 그러나, 장점, 이점, 문제점에 대한 해결책 및 장점, 이점 또는 해결책을 발생시키거나, 보다 강조하는 임의의 요소는 임의의 청구항 또는 모든 청구항에서 중요하거나, 요청되거나 필수적인 특질 또는 요소로 해석되지 않는다. 본 명세서에서 사용된 "하나의(a(n))"는 하나 이상을 정의한다. 본 명세서에 사용된 "포함하는"이라는 용어는 포함하는 것을 의미한다. 본 명세서에 사용된 "포함하는" 또는 그 변형은 요소들의 리스트를 포함하는 프로세스, 방법, 물건 또는 장치가 이들뿐만 아니라 명시적으로 리트스되지 않거나 이러한 프로세스, 방법, 물건 또는 장치에 고유한 다른 요소들도 포함하도록 하는 비배타적인 포함을 커버한다.

Claims (10)

  1. 제1 버스 마스터에 대응하는 제1 액세스 허용 정보를 저장하는 제1 액세스 보호 회로와,
    제2 버스 마스터에 대응하는 제2 액세스 허용 정보를 저장하는 제2 액세스 보호 회로와,
    상기 제1 및 제2 액세스 보호 회로에 결합되는 액세스 변형 회로와,
    상기 액세스 변형 회로에 의해서 제공되는 액세스 허용 지시자를 포함하고,
    상기 제1 버스 마스터에 의한 제1 액세스에 응답하여, 상기 액세스 변형 회로는 제1 상태 정보 및 상기 제1 액세스 허용 정보를 수신하며,
    상기 제1 상태 정보에 기초하여 상기 액세스 변형 회로는 상기 제1 액세스 허용 정보를 선택적으로 변형하여 제1 변형 액세스 허용 정보를 생성하며,
    상기 제1 변형 액세스 허용 정보는 상기 액세스 허용 지시자가 상기 제1 액세스를 허용하는지 여부를 결정하는 데에 이용되며,
    상기 제2 버스 마스터에 의한 상기 제2 액세스에 응답하여, 상기 액세스 변형 회로는 제2 상태 정보 및 상기 제2 액세스 허용 정보를 수신하며,
    상기 제2 상태 정보에 기초하여, 상기 액세스 변형 회로는 상기 제2 액세스 허용 정보를 선택적으로 변형하여 제2 변형 액세스 허용 정보를 생성하며,
    상기 제2 변형 액세스 허용 정보는 상기 액세스 허용 지시자가 상기 제2 액세스를 허용할 것인지 여부를 결정하는 데에 이용되는
    액세스 허용 회로.
  2. 제1항에 있어서,
    상기 제1 상태 정보는 상기 제1 버스 마스터의 신뢰성을 나타내는 액세스 허용 회로.
  3. 제1항에 있어서,
    상기 제1 상태 정보는 부트(boot) 동작과 관련되는 액세스 허용 회로.
  4. 제1항에 있어서,
    상기 액세스 허용 회로는 데이터 처리 시스템의 일부를 포함하는 액세스 허용 회로.
  5. 제4항에 있어서,
    상기 제1 상태 정보를 제공하기 위한 디버그 회로를 더 포함하는 데이터 처리 시스템.
  6. 제4항에 있어서,
    상기 제1 상태 정보를 제공하기 위한 DMA(direct memory access) 회로를 더 포함하는 데이터 처리 시스템.
  7. 제4항에 있어서,
    상기 제1 상태 정보를 제공하기 위한 외부 버스 인터페이스 회로를 더 포함하는 데이터 처리 시스템.
  8. 제1항에 있어서,
    상기 제1 버스 마스터는 명령을 수행하는 마스터, DMA 동작을 수행하는 마스터 및 디버그 동작을 수행하는 마스터 중 적어도 하나를 포함하는 방법.
  9. 제1 마스터에 대응하는 제1 액세스 요청을 수신하는 단계와,
    상기 제1 마스터에 대응하는 제1 액세스 허용을 결정하는 단계와,
    제1 상태 정보를 수신하는 단계와,
    상기 제1 상태 정보에 기초하여 상기 제1 액세스 허용을 선택적으로 변형하는 단계와,
    제2 마스터로부터 제2 액세스 요청을 수신하는 단계와,
    상기 제2 마스터에 대응하는 제2 액세스 허용을 결정하는 단계와,
    제2 상태 정보를 수신하는 단계와,
    상기 제2 상태 정보에 기초하여 상기 제2 액세스 허용을 선택적으로 변형하는 단계를 포함하며,
    상기 제1 상태 정보는 상기 제2 상태 정보와는 상이한 소스(soruce)로부터 제공되는 액세스 보호 결정 방법.
  10. 제1 마스터에 대응하는 제1 액세스 요청을 수신하는 단계와,
    제1 상태 정보를 제공하는 단계와,
    상기 제1 액세스 요청에 기초하여 제1 액세스 허용을 결정하는 단계와,
    상기 제1 상태 정보에 기초하여 상기 제1 액세스 허용을 선택적으로 변형하는 단계와,
    제2 마스터에 대응하는 제2 액세스 요청을 수신하는 단계와,
    제2 상태 정보를 제공하는 단계와,
    상기 제2 액세스 요청에 기초하여 상기 제2 액세스 허용을 결정하는 단계와,
    상기 제2 상태 정보에 기초하여 상기 제2 액세스 허용을 선택적으로 변형하는 단계
    를 포함하는 액세스 보호 결정 방법.
KR1020057022711A 2003-05-29 2004-04-30 액세스 허용을 결정하는 방법 및 장치 KR101010801B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/448,031 US7444668B2 (en) 2003-05-29 2003-05-29 Method and apparatus for determining access permission
US10/448,031 2003-05-29

Publications (2)

Publication Number Publication Date
KR20060032954A true KR20060032954A (ko) 2006-04-18
KR101010801B1 KR101010801B1 (ko) 2011-01-25

Family

ID=33451403

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057022711A KR101010801B1 (ko) 2003-05-29 2004-04-30 액세스 허용을 결정하는 방법 및 장치

Country Status (6)

Country Link
US (1) US7444668B2 (ko)
JP (1) JP2007501477A (ko)
KR (1) KR101010801B1 (ko)
CN (1) CN100371906C (ko)
TW (1) TWI344600B (ko)
WO (1) WO2004107176A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9928508B2 (en) 2000-08-04 2018-03-27 Intellectual Ventures I Llc Single sign-on for access to a central data repository
US8566248B1 (en) 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
US7257581B1 (en) 2000-08-04 2007-08-14 Guardian Networks, Llc Storage, management and distribution of consumer information
US7793095B2 (en) 2002-06-06 2010-09-07 Hardt Dick C Distributed hierarchical identity management
US7681046B1 (en) * 2003-09-26 2010-03-16 Andrew Morgan System with secure cryptographic capabilities using a hardware specific digital secret
US7694151B1 (en) 2003-11-20 2010-04-06 Johnson Richard C Architecture, system, and method for operating on encrypted and/or hidden information
US20050198461A1 (en) * 2004-01-12 2005-09-08 Shaw Mark E. Security measures in a partitionable computing system
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US8527752B2 (en) 2004-06-16 2013-09-03 Dormarke Assets Limited Liability Graduated authentication in an identity management system
US8504704B2 (en) 2004-06-16 2013-08-06 Dormarke Assets Limited Liability Company Distributed contact information management
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
EP1873650A4 (en) * 2005-04-21 2010-11-10 Mitsubishi Electric Corp COMPUTERS, METHOD OF CONTROLLING ACCESS TO COMPUTER DEVICES AND ACCESS CONTROL PROGRAM
JP2006318334A (ja) * 2005-05-16 2006-11-24 Renesas Technology Corp 情報処理装置
US8656487B2 (en) * 2005-09-23 2014-02-18 Intel Corporation System and method for filtering write requests to selected output ports
EP1801700B1 (en) * 2005-12-23 2013-06-26 Texas Instruments Inc. Method and systems to restrict usage of a DMA channel
EP1971925A4 (en) * 2005-12-23 2009-01-07 Texas Instruments Inc METHODS AND SYSTEMS FOR RESTRICTING THE USE OF A DMA CHANNEL
US20080059423A1 (en) * 2006-08-22 2008-03-06 Andrew Wolf Method of administering a search engine with a marketing component
US20090055248A1 (en) * 2006-08-22 2009-02-26 Wolf Andrew L Method of administering a search engine with a marketing component
US8467528B2 (en) * 2006-08-31 2013-06-18 Advanced Micro Devices, Inc. Multimedia content protection
GB2442023B (en) * 2006-09-13 2011-03-02 Advanced Risc Mach Ltd Memory access security management
KR20080067774A (ko) * 2007-01-17 2008-07-22 삼성전자주식회사 허가되지 않은 메모리 접근으로부터 비밀 영역을 보호하기위한 방법 및 시스템
US7689733B2 (en) 2007-03-09 2010-03-30 Microsoft Corporation Method and apparatus for policy-based direct memory access control
CN100461118C (zh) * 2007-07-05 2009-02-11 华为技术有限公司 控制访问寄存器的装置、方法及集成电路芯片
US7979618B2 (en) * 2007-07-12 2011-07-12 Samsung Electronics Co., Ltd. Image forming apparatus and control method thereof
US7992209B1 (en) 2007-07-19 2011-08-02 Owl Computing Technologies, Inc. Bilateral communication using multiple one-way data links
US20110078760A1 (en) * 2008-05-13 2011-03-31 Nxp B.V. Secure direct memory access
US8954804B2 (en) * 2008-07-15 2015-02-10 Ati Technologies Ulc Secure boot circuit and method
US9213665B2 (en) 2008-10-28 2015-12-15 Freescale Semiconductor, Inc. Data processor for processing a decorated storage notify
US8627471B2 (en) 2008-10-28 2014-01-07 Freescale Semiconductor, Inc. Permissions checking for data processing instructions
JP2010267135A (ja) * 2009-05-15 2010-11-25 Toshiba Corp メモリコントローラ
US8250628B2 (en) * 2009-08-28 2012-08-21 International Business Machines Corporation Dynamic augmentation, reduction, and/or replacement of security information by evaluating logical expressions
GB2482700A (en) * 2010-08-11 2012-02-15 Advanced Risc Mach Ltd Memory access control
JP5829106B2 (ja) * 2011-11-16 2015-12-09 オリンパス株式会社 信号転送回路
US9497171B2 (en) 2011-12-15 2016-11-15 Intel Corporation Method, device, and system for securely sharing media content from a source device
CN104246784B (zh) * 2011-12-15 2017-11-17 英特尔公司 用于保护和安全地传输媒体内容的方法、设备和系统
CN104170312B (zh) 2011-12-15 2018-05-22 英特尔公司 用于使用硬件安全引擎通过网络进行安全通信的方法和设备
US9471812B2 (en) * 2012-03-06 2016-10-18 Freescale Semiconductor, Inc. Method for implementing security of non-volatile memory
US8819850B2 (en) * 2012-07-25 2014-08-26 At&T Mobility Ii Llc Management of application access
JP2014048904A (ja) * 2012-08-31 2014-03-17 Fuji Electric Co Ltd 制御装置、そのデータ保護方法およびデータ保護解除方法
US8856515B2 (en) * 2012-11-08 2014-10-07 Intel Corporation Implementation of robust and secure content protection in a system-on-a-chip apparatus
DE112013006590T5 (de) * 2013-02-05 2016-01-21 Arm Limited Handhabung von Speicherzugriffsvorgängen in einer Datenverarbeitungsvorrichtung
US9092647B2 (en) * 2013-03-07 2015-07-28 Freescale Semiconductor, Inc. Programmable direct memory access channels
US20140366131A1 (en) * 2013-06-07 2014-12-11 Andes Technology Corporation Secure bus system
KR20150094178A (ko) 2014-02-10 2015-08-19 삼성전자주식회사 보안 장치 및 보안 장치의 제어 방법
US9268970B2 (en) 2014-03-20 2016-02-23 Analog Devices, Inc. System and method for security-aware master
US9830295B2 (en) * 2015-01-15 2017-11-28 Nxp Usa, Inc. Resource domain partioning in a data processing system
US11416421B2 (en) * 2016-07-19 2022-08-16 Cypress Semiconductor Corporation Context-based protection system
GB2563009B (en) * 2017-05-25 2019-12-25 Advanced Risc Mach Ltd An apparatus and method for interpreting permissions associated with a capability
US10558604B2 (en) * 2017-12-20 2020-02-11 Qualcomm Incorporated Communication interface transaction security
US11954220B2 (en) * 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US10795679B2 (en) * 2018-06-07 2020-10-06 Red Hat, Inc. Memory access instructions that include permission values for additional protection
US20200004697A1 (en) * 2018-06-29 2020-01-02 Qualcomm Incorporated Patchable hardware for access control
JP6961553B2 (ja) * 2018-08-30 2021-11-05 株式会社東芝 情報処理装置、システム及び方法
US11288404B2 (en) * 2019-06-14 2022-03-29 Infineon Technologies Ag Resource protection
US11755785B2 (en) 2020-08-03 2023-09-12 Nxp Usa, Inc. System and method of limiting access of processors to hardware resources
JP2022129555A (ja) * 2021-02-25 2022-09-06 セイコーエプソン株式会社 回路装置及び電子機器
EP4092556A1 (en) * 2021-05-20 2022-11-23 Nordic Semiconductor ASA Bus decoder
CN114826785B (zh) * 2022-06-29 2022-09-23 湖北芯擎科技有限公司 一种动态防护方法、系统级芯片、电子设备及介质

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2503899A1 (fr) * 1981-04-08 1982-10-15 Thomson Csf Procede et dispositif de transmission de donnees numeriques
JPS59117658A (ja) * 1982-12-24 1984-07-07 Fuji Facom Corp マルチマイクロプロセツサシステムにおける共通バスアクセス管理装置
JPS59210598A (ja) * 1983-05-13 1984-11-29 Fuji Electric Co Ltd 記憶保護機能を備えた入出力制御装置
US4747139A (en) * 1984-08-27 1988-05-24 Taaffe James L Software security method and systems
US4713753A (en) * 1985-02-21 1987-12-15 Honeywell Inc. Secure data processing system architecture with format control
JPS63163951A (ja) * 1986-12-26 1988-07-07 Nippon Telegr & Teleph Corp <Ntt> アクセス権制御方式
JPS63240657A (ja) * 1987-03-28 1988-10-06 Toshiba Corp 記憶保護装置
IN169635B (ko) * 1987-07-01 1991-11-23 Digital Equipment Corp
JPS6412364A (en) * 1987-07-06 1989-01-17 Nippon Telegraph & Telephone System constitution control system
US4979100A (en) * 1988-04-01 1990-12-18 Sprint International Communications Corp. Communication processor for a packet-switched network
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
JP2767831B2 (ja) * 1988-10-04 1998-06-18 株式会社日立製作所 共有デバイスのアクセス管理方式
GB8916586D0 (en) * 1989-07-20 1989-09-06 Int Computers Ltd Distributed data processing system
JPH03212749A (ja) * 1990-01-17 1991-09-18 Fuji Xerox Co Ltd マルチプロセッサシステム
CA2080608A1 (en) * 1992-01-02 1993-07-03 Nader Amini Bus control logic for computer system having dual bus architecture
JPH0675861A (ja) * 1992-08-25 1994-03-18 Fujitsu Ltd メモリアクセス保護装置
US5619661A (en) * 1995-06-05 1997-04-08 Vlsi Technology, Inc. Dynamic arbitration system and method
JPH08339346A (ja) * 1995-06-09 1996-12-24 Toshiba Corp バスアービタ
JPH096718A (ja) * 1995-06-16 1997-01-10 Toshiba Corp ポータブルコンピュータシステム
WO1997004378A1 (en) * 1995-07-20 1997-02-06 Dallas Semiconductor Corporation Microcircuit with memory that is protected by both hardware and software
JP3519182B2 (ja) * 1995-09-05 2004-04-12 株式会社日立製作所 情報処理システムおよびバスアービタならびにバス制御方法
US5956493A (en) * 1996-03-08 1999-09-21 Advanced Micro Devices, Inc. Bus arbiter including programmable request latency counters for varying arbitration priority
US5805835A (en) * 1996-07-15 1998-09-08 Micron Electronics, Inc. Parallel architecture computer system and method
US5941949A (en) * 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
JP3524337B2 (ja) * 1997-07-25 2004-05-10 キヤノン株式会社 バス管理装置及びそれを有する複合機器の制御装置
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6240493B1 (en) * 1998-04-17 2001-05-29 Motorola, Inc. Method and apparatus for performing access censorship in a data processing system
JPH11327911A (ja) * 1998-05-08 1999-11-30 Ricoh Co Ltd 画像形成装置
JP2000047975A (ja) * 1998-07-31 2000-02-18 Fujitsu Ltd メモリアクセス制御回路
US6324612B1 (en) * 1998-12-10 2001-11-27 International Business Machines Corporation Associating buffers in a bus bridge with corresponding peripheral devices to facilitate transaction merging
US6237057B1 (en) * 1998-12-16 2001-05-22 International Business Machines Corporation Method and system for PCI slot expansion via electrical isolation
KR100722172B1 (ko) * 1999-03-03 2007-05-29 소니 가부시끼 가이샤 데이터 처리 장치, 데이터 처리 방법, 단말장치 및 데이터처리 장치의 전송 방법
US6785810B1 (en) * 1999-08-31 2004-08-31 Espoc, Inc. System and method for providing secure transmission, search, and storage of data
US6473825B1 (en) * 2000-01-12 2002-10-29 Trw Inc. Apparatus and method for controlling secure communications between peripheral components on computer buses connected by a bridge circuit
US6629178B1 (en) * 2000-06-15 2003-09-30 Advanced Micro Devices, Inc. System and method for controlling bus access for bus agents having varying priorities
US7496767B2 (en) * 2001-01-19 2009-02-24 Xerox Corporation Secure content objects
US6662251B2 (en) * 2001-03-26 2003-12-09 International Business Machines Corporation Selective targeting of transactions to devices on a shared bus
US6820152B2 (en) * 2001-04-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Memory control device and LSI
US7055038B2 (en) * 2001-05-07 2006-05-30 Ati International Srl Method and apparatus for maintaining secure and nonsecure data in a shared memory system
US7216362B1 (en) * 2001-05-10 2007-05-08 Advanced Micro Devices, Inc. Enhanced security and manageability using secure storage in a personal computer system
US7073059B2 (en) * 2001-06-08 2006-07-04 Hewlett-Packard Development Company, L.P. Secure machine platform that interfaces to operating systems and customized control programs
US6775750B2 (en) * 2001-06-29 2004-08-10 Texas Instruments Incorporated System protection map
US7036020B2 (en) * 2001-07-25 2006-04-25 Antique Books, Inc Methods and systems for promoting security in a computer system employing attached storage devices
US7548841B2 (en) * 2001-11-16 2009-06-16 Canon Kabushiki Kaisha Method for logic checking to check operation of circuit to be connected to bus
JP3791005B2 (ja) * 2001-11-20 2006-06-28 日本電気株式会社 バスアクセス調停装置及びバスアクセス調停方法
US20030101341A1 (en) * 2001-11-26 2003-05-29 Electronic Data Systems Corporation Method and system for protecting data from unauthorized disclosure
US7434264B2 (en) * 2003-03-07 2008-10-07 Freescale Semiconductor, Inc. Data processing system with peripheral access protection and method therefor

Also Published As

Publication number Publication date
TWI344600B (en) 2011-07-01
KR101010801B1 (ko) 2011-01-25
US20040243823A1 (en) 2004-12-02
JP2007501477A (ja) 2007-01-25
US7444668B2 (en) 2008-10-28
CN100371906C (zh) 2008-02-27
CN1799030A (zh) 2006-07-05
TW200506623A (en) 2005-02-16
WO2004107176A1 (en) 2004-12-09

Similar Documents

Publication Publication Date Title
KR101010801B1 (ko) 액세스 허용을 결정하는 방법 및 장치
US7434264B2 (en) Data processing system with peripheral access protection and method therefor
US11580264B2 (en) Systems and methods for controlling access to secure debugging and profiling features of a computer system
JP4602403B2 (ja) データ処理システムにおけるエンディアンネス制御方法および装置
US7277972B2 (en) Data processing system with peripheral access protection and method therefor
JP5975629B2 (ja) メモリ保護ユニットおよび記憶素子へのアクセスコントロール方法
JP5153887B2 (ja) プロセッサから周辺機器へのセキュア動作モードアクセス特権の譲渡のための方法及び装置
US8132254B2 (en) Protecting system control registers in a data processing apparatus
US10489332B2 (en) System and method for per-task memory protection for a non-programmable bus master
US20150254017A1 (en) Trusted Execution and Access Protection for Embedded Memory
US8185934B2 (en) Programmable data protection device, secure programming manager system and process for controlling access to an interconnect network for an integrated circuit
US11675526B2 (en) Memory-access control
JP2010503909A (ja) メモリ・アクセス安全性管理
US20080178261A1 (en) Information processing apparatus
EP3432190B1 (en) Processing system and related integrated circuit for handling password management
US7512761B2 (en) Programmable processor and methods thereof having memory access locking
JP2007109053A (ja) バスアクセス制御装置
WO2023287517A1 (en) Error management in system on a chip with securely partitioned memory space
KR20070017537A (ko) 데이터 처리 시스템에서 엔디안니스 제어용 방법 및 장치

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: 20140102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee