KR20060032954A - 액세스 허용을 결정하는 방법 및 장치 - Google Patents
액세스 허용을 결정하는 방법 및 장치 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/316—User authentication by observing the pattern of computer usage, e.g. typical user behaviour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic 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
관련출원
본 발명은 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 액세스 보호 회로와,제2 버스 마스터에 대응하는 제2 액세스 허용 정보를 저장하는 제2 액세스 보호 회로와,상기 제1 및 제2 액세스 보호 회로에 결합되는 액세스 변형 회로와,상기 액세스 변형 회로에 의해서 제공되는 액세스 허용 지시자를 포함하고,상기 제1 버스 마스터에 의한 제1 액세스에 응답하여, 상기 액세스 변형 회로는 제1 상태 정보 및 상기 제1 액세스 허용 정보를 수신하며,상기 제1 상태 정보에 기초하여 상기 액세스 변형 회로는 상기 제1 액세스 허용 정보를 선택적으로 변형하여 제1 변형 액세스 허용 정보를 생성하며,상기 제1 변형 액세스 허용 정보는 상기 액세스 허용 지시자가 상기 제1 액세스를 허용하는지 여부를 결정하는 데에 이용되며,상기 제2 버스 마스터에 의한 상기 제2 액세스에 응답하여, 상기 액세스 변형 회로는 제2 상태 정보 및 상기 제2 액세스 허용 정보를 수신하며,상기 제2 상태 정보에 기초하여, 상기 액세스 변형 회로는 상기 제2 액세스 허용 정보를 선택적으로 변형하여 제2 변형 액세스 허용 정보를 생성하며,상기 제2 변형 액세스 허용 정보는 상기 액세스 허용 지시자가 상기 제2 액세스를 허용할 것인지 여부를 결정하는 데에 이용되는액세스 허용 회로.
- 제1항에 있어서,상기 제1 상태 정보는 상기 제1 버스 마스터의 신뢰성을 나타내는 액세스 허용 회로.
- 제1항에 있어서,상기 제1 상태 정보는 부트(boot) 동작과 관련되는 액세스 허용 회로.
- 제1항에 있어서,상기 액세스 허용 회로는 데이터 처리 시스템의 일부를 포함하는 액세스 허용 회로.
- 제4항에 있어서,상기 제1 상태 정보를 제공하기 위한 디버그 회로를 더 포함하는 데이터 처리 시스템.
- 제4항에 있어서,상기 제1 상태 정보를 제공하기 위한 DMA(direct memory access) 회로를 더 포함하는 데이터 처리 시스템.
- 제4항에 있어서,상기 제1 상태 정보를 제공하기 위한 외부 버스 인터페이스 회로를 더 포함하는 데이터 처리 시스템.
- 제1항에 있어서,상기 제1 버스 마스터는 명령을 수행하는 마스터, DMA 동작을 수행하는 마스터 및 디버그 동작을 수행하는 마스터 중 적어도 하나를 포함하는 방법.
- 제1 마스터에 대응하는 제1 액세스 요청을 수신하는 단계와,상기 제1 마스터에 대응하는 제1 액세스 허용을 결정하는 단계와,제1 상태 정보를 수신하는 단계와,상기 제1 상태 정보에 기초하여 상기 제1 액세스 허용을 선택적으로 변형하는 단계와,제2 마스터로부터 제2 액세스 요청을 수신하는 단계와,상기 제2 마스터에 대응하는 제2 액세스 허용을 결정하는 단계와,제2 상태 정보를 수신하는 단계와,상기 제2 상태 정보에 기초하여 상기 제2 액세스 허용을 선택적으로 변형하는 단계를 포함하며,상기 제1 상태 정보는 상기 제2 상태 정보와는 상이한 소스(soruce)로부터 제공되는 액세스 보호 결정 방법.
- 제1 마스터에 대응하는 제1 액세스 요청을 수신하는 단계와,제1 상태 정보를 제공하는 단계와,상기 제1 액세스 요청에 기초하여 제1 액세스 허용을 결정하는 단계와,상기 제1 상태 정보에 기초하여 상기 제1 액세스 허용을 선택적으로 변형하는 단계와,제2 마스터에 대응하는 제2 액세스 요청을 수신하는 단계와,제2 상태 정보를 제공하는 단계와,상기 제2 액세스 요청에 기초하여 상기 제2 액세스 허용을 결정하는 단계와,상기 제2 상태 정보에 기초하여 상기 제2 액세스 허용을 선택적으로 변형하는 단계를 포함하는 액세스 보호 결정 방법.
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)
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)
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 |
-
2003
- 2003-05-29 US US10/448,031 patent/US7444668B2/en not_active Expired - Fee Related
-
2004
- 2004-04-30 JP JP2006532516A patent/JP2007501477A/ja active Pending
- 2004-04-30 WO PCT/US2004/013369 patent/WO2004107176A1/en active Application Filing
- 2004-04-30 CN CNB2004800149699A patent/CN100371906C/zh not_active Expired - Fee Related
- 2004-04-30 KR KR1020057022711A patent/KR101010801B1/ko not_active IP Right Cessation
- 2004-05-13 TW TW093113539A patent/TWI344600B/zh not_active IP Right Cessation
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 |