KR100484348B1 - 애플리케이션 사이의 코드 분리를 증가시키는 시스템 및방법 - Google Patents

애플리케이션 사이의 코드 분리를 증가시키는 시스템 및방법 Download PDF

Info

Publication number
KR100484348B1
KR100484348B1 KR10-2002-0054795A KR20020054795A KR100484348B1 KR 100484348 B1 KR100484348 B1 KR 100484348B1 KR 20020054795 A KR20020054795 A KR 20020054795A KR 100484348 B1 KR100484348 B1 KR 100484348B1
Authority
KR
South Korea
Prior art keywords
baseband
applications
application
dedicated
code
Prior art date
Application number
KR10-2002-0054795A
Other languages
English (en)
Other versions
KR20030025180A (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 KR20030025180A publication Critical patent/KR20030025180A/ko
Application granted granted Critical
Publication of KR100484348B1 publication Critical patent/KR100484348B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

베이스밴드 및 논-베이스밴드 애플리케이션 모두를 구현하는 단일 무선 시스템(10)이 보호된 코드의 부주의하거나 고의적인 변경을 안전하게 방지하는 방식으로 제공될 수 있다. 예를 들어, 공용 시스템 및 공용 기억장치에 있어서 베이스밴드 프로세싱 코드가 논-베이스밴드 애플리케이션에 의해 겹쳐쓰기될 수 있는 가능성이 존재한다. 특정 어드레스를 인식하고 베이스밴드 또는 논-베이스밴드 애플리케이션에 적합한 특정 전용 기억 영역에만 코드 액세스가 루팅되도록 보장하는 어드레스 비교 레지스터(20)를 제공함으로써, 부주의로 또는 고의로 겹쳐쓰기하는 일이 감소되거나 제거될 수 있다.

Description

애플리케이션 사이의 코드 분리를 증가시키는 시스템 및 방법{INCREASING CODE SEPARATION BETWEEN APPLICATIONS}
본 발명은 일반적으로 무선 디바이스에 관한 것이고 보다 상세하게는 무선 및 논-무선 애플리케이션 모두를 처리하는 디바이스에 관한 것이다.
무선 송수신기는 프로세서에 기초한 시스템의 네트워크내의 네트워크 통신은 물론 셀룰러 전화 통신용으로 사용될 수 있다. 일반적으로 무선 시스템은 무선 애플리케이션을 실행하는 베이스밴드 프로세싱 모듈을 포함한다. 또한, 무선 통신에 직접 관련되지 있지 않은 애플리케이션을 실행하는 종래 프로세싱 기능이 사용될 수 있다.
하나의 애플리케이션이 또 다른 애플리케이션에 대해 중요한 명령을 겹쳐쓰기할 수 있기 때문에 무선 시스템에서 문제가 발생한다. 예를 들어, 종래 논-베이스밴드 애플리케이션은 중요한 베이스밴드 코드를 겹쳐쓰기할 수 있고 그 반대도 일어날 수 있다. 이러한 겹쳐쓰기는 침입자에 의한 부주의한 코딩 에러 또는 고의의 액션의 결과일 수 있다.
결과적으로, 종래 애플리케이션에 관한 프로세서 및 무선 애플리케이션에 관한 프로세서 사이의 불편한 결합을 용이하게 하도록 곤란한 조화가 구현되어야 한다. 임의의 경우에, 특정 소프트웨어가 사용될 수 있다. 다른 경우에, 완전 독립 시스템에 매우 제한적인 인터-서브시스템 통신이 제공될 수 있다. 또 다른 대안으로, 별개의 기억장치가 별개의 서브시스템에 대해 사용될 수 있다. 이러한 모든 접근은 임의의 경우에 성능을 저하시키고 비용을 증가시키는 효과를 가져올 수 있다.
따라서, 단일 무선 디바이스에서 별개의 프로세싱 기능의 본질적으로 다른 필요를 처리하는 방법이 필요하게 되었다.
도 1에서, 무선 디바이스(10)는 프로세서(12)를 포함할 수 있다. 이 프로세서(12)는 다양한 기능 유닛으로 버스(14)를 통해서 통신할 수 있다. 임의의 실시예에서, 이러한 유닛은 아날로그 디지털(A/D) 컨버터(22), 디지털 아날로그(D/A) 컨버터(24), 코더/디코더(CODEC; 26), 디지털 신호 프로세서(DSP; 28), 조인트 테스트 액션 그룹(전기전자학회(IEEE) 표준 1149.1 - 1990 IEEE Inc., New York, NY(10117))(JTAG) 프로세서(34) 및 범용 입출력(GP I/O) 디바이스(36)를 포함할 수 있다. 또한, 버스(14)는 변조기(30) 및 복조기(32)와 통신할 수 있다.
상술된 기능 유닛은 또한 메모리 컨트롤러(16)에 연결될 수 있다. 또한, 버스(38)는 프로세서(12)와 메모리 컨트롤러(16) 사이의 통신을 용이하게 하기 위해 제공될 수 있다. 메모리 컨트롤러(16)는 기억장치 또는 메모리(18)로의 액세스를 제어할 수 있다.
일반적으로, 디지털 신호 프로세서(28)는 신호 처리를 위해 사용될 수 있다. 프로세서(12)는 베이스밴드 애플리케이션은 물론 논-베이스밴드 애플리케이션을 실행할 수 있다. 임의의 서브시스템에 대한 애플리케이션은 일 실시예에서 메모리(18)내에 저장될 수 있다.
메모리 컨트롤러(16)는 어드레스 비교 레지스터(20)를 포함할 수 있다. 이 레지스터(20)는 특정 판독 또는 기록 명령의 어드레스 범위를 결정하기 위해 사용될 수 있다. 일단 명령의 어드레스 범위가 검출되면, 레지스터(20)는 하나의 기능과 관련된 어드레스를 갖는 명령이 또 다른 기능과 관련된 애플리케이션에 의해 고의 또는 부주의로 겹쳐쓰기되는 것을 방지할 수 있다.
도 2에서, 프로세서(12)와 어드레스 비교 레지스터(20) 사이의 관계가 더 상세하게 나타나 있다. 어드레스 비교 레지스터(20)는 어드레스 버스(38)에 의해 액세스될 수 있다. 어드레스 비교 레지스터(20)는 특정 명령에 의해 액세스되기 위해 요구되는 메모리(18)의 어드레스 범위를 조사한다. 베이스밴드 프로세싱 애플리케이션의 메모리 어드레스 범위내에 있는 코드 페치는 종래 프로세싱 애플리케이션의 어드레스 범위내에 있는 대신 그 범위 밖에 있는 코드 페치와 같이 인식될 수 있다. 어드레스 비교 레지스터(20)는 베이스밴드 프로세싱에 대한 베이스밴드 애플리케이션 스페이스내에 있는 메모리 로케이션으로의 판독 및 기록 액세스를 허용한다. 또한 레지스터(20)는 베이스밴드 프로세싱에 대하여 정의된 스페이스 외부로의 베이스밴드 프로세싱에 대한 기록 액세스를 거부한다.
논-베이스밴드 또는 종래의 프로세싱 애플리케이션에 대하여, 애플리케이션 스페이스에서 코드를 실행할 때 상태는 반전된다. 애플리케이션 스페이스에서, 레지스터(20)는 애플리케이션이 애플리케이션 메모리 스페이스내에 데이터를 판독 및 기록할 수 있도록 한다. 그러나, 레지스터(20)는 베이스밴드 메모리 스페이스로의 기록을 방지한다.
임의의 실시예에서, 메모리(18)는 물리적으로 구분화되거나 분리될 필요가 없다. 따라서, 메모리(18)는 무제한의 레지스터(20) 없이 모든 애플리케이션에 대해 판독 및 기록될 수 있다.
어드레스 비교 레지스터(20)는 각각의 어드레스를 해독하여 그 어드레스를 부트 이네이블 경로(40), 베이스밴드 이네이블 경로(42) 또는 애플리케이션 이네이블 경로(44)에 전용으로 할당한다. 각각의 이네이블 경로(40,42,또는 44)는 부트 및 기밀 부호 스페이스(46), 베이스밴드 프로세싱 스페이스(48) 및 애플리케이션 스페이스(50)와 같은 상응하는 어드레스 스페이스에 연결된다.
메모리(18)가 매우 이산적인 영역으로 분할되어 있는 것으로 도시되어 있지만, 당업자는 임의의 특정 기능에 적용되는 어드레스 스페이스가 동적으로 할당될 수 있다는 것을 이해할 것이다. 따라서, 특정 기능에 전용인 영역은 다른 기능에 전용인 다른 영역내에 물리적으로 분산될 수 있다. 그러나, 특정 기능에 전용인 전체 코드 스페이스가 알려져 있고 어드레스 비교 레지스터(20)에 의해 적용가능하다. 임의의 실시예에서, 메모리(18)는 단일 집적 회로일 수 있고 또는 다른 디바이스내에 집적될 수 있다.
결과적으로, 임의의 실시예에서, 논-베이스밴드 애플리케이션이 베이스밴드 애플리케이션의 데이터를 겹쳐쓰기할 확률은 감소되거나 제거된다. 이것은 임의의 실시예에서 분리 메모리를 포함하는 분리 베이스밴드 및 종래 프로세싱 시스템에 대한 필요를 제거한다. 결과적으로, 임의의 실시예에서, 비용이 더 잘 조절될 수 있고 오퍼레이팅 성능이 향상될 수 있다.
소프트웨어에 기초한 시스템과 비교할 때, 하드웨어 레지스터(20)를 사용하면 해커의 공격을 방지할 수 있다. 프로그래머블 기억 관리 장치(MMUs)를 사용하면 해커가 액세스 권리 및 특권을 바꾸도록 할 수 있다. 보호하기로 의도된 코드는 사실상 공격에 약한 상태로 남게 된다. 하드웨어에 의해 강제 실행된 코드 분리 액세스 권리 및 특권에 의해, 액세스 권리 및 특권은 침입자에 의해 고의로 수정되거나 코딩 에러의 결과로서 부주의하게 변경될 수 없게 된다. 결과적으로, 베이스밴드 프로세싱 애플리케이션과 같은 중요하고 매우 민감한 애플리케이션은 그들의 성능에 악영향을 줄 수 있는 임의의 수정으로부터 보호될 수 있다.
본 발명이 제한된 수의 실시예에 관하여 설명되었지만, 당업자는 그로부터의 다양한 수정 및 변경을 이해할 것이다. 첨부된 청구항은 그러한 모든 수정 및 변경을 본 발명의 정신 및 범위를 벗어남 없이 포함하도록 의도되었다.
도 1은 본 발명의 일 실시예의 개략도; 및
도 2는 도 1에 도시된 실시예의 또 다른 개략도.

Claims (20)

  1. 프로세서;
    코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지를 결정하기 위해 상기 코드 페치를 분석하도록 상기 프로세서에 연결된 어드레스 비교 레지스터; 및
    베이스밴드 및 논-베이스밴드 애플리케이션에 전용인 기억 영역을 갖는 상기 레지스터에 연결된 기억장치;를 포함하는 것을 특징으로 하는 시스템.
  2. 제 1 항에 있어서, 상기 레지스터는 베이스밴드 애플리케이션에 전용인 상기 기억 영역으로부터 논-베이스밴드 애플리케이션에 관한 코드 페치를 차단하는 것을 특징으로 하는 시스템.
  3. 제 2 항에 있어서, 상기 기억장치는 부트 및 기밀 부호에 대한 영역, 베이스밴드 애플리케이션에 대한 영역 및 논-베이스밴드 애플리케이션에 대한 영역을 포함하는 것을 특징으로 하는 시스템.
  4. 제 3 항에 있어서, 상기 어드레스 비교 레지스터는 베이스밴드 애플리케이션에 전용인 기억 영역내에 논-베이스밴드 애플리케이션에 관한 기록이 발생하는 것을 방지하는 것을 특징으로 하는 시스템.
  5. 제 1 항에 있어서, 상기 시스템은 무선 전화기인 것을 특징으로 하는 시스템.
  6. 제 1 항에 있어서, 상기 기억장치는 베이스밴드 및 논-베이스밴드 애플리케이션 기억 영역 모두를 갖는 집적회로를 포함하는 것을 특징으로 하는 시스템.
  7. 코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지를 결정하기 위해 상기 코드 페치를 분석하는 단계; 및
    상기 코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지에 기초하여 상기 기억장치의 전용 영역으로부터 상기 코드 페치를 차단하는 단계;를 포함하는 것을 특징으로 하는 방법.
  8. 제 7 항에 있어서, 코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지를 결정하기 위해 상기 코드 페치의 어드레스를 분석하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서, 논-베이스밴드 애플리케이션에 관한 코드 페치를 베이스밴드 애플리케이션에 전용인 기억 영역으로부터 차단하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제 9 항에 있어서, 부트 및 기밀 부호에 관한 것이 아닌 코드 페치를 부트 및 기밀 부호에 전용인 기억 영역으로부터 차단하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제 8 항에 있어서, 베이스밴드 애플리케이션에 관한 코드 페치를 논-베이스밴드 애플리케이션에 전용인 기억 영역으로부터 차단하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서, 논-베이스밴드 애플리케이션에 관한 기록이 베이스밴드 애플리케이션에 전용인 기억 영역내에 발생하는 것을 방지하기 위해 어드레스 비교 레지스터를 사용하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제 7 항에 있어서, 코드 페치의 어드레스를 베이스밴드 애플리케이션에 전용인 어드레스의 세트에 비교하는 단계 및 상기 비교에 기초하여 베이스밴드 애플리케이션 기억 영역으로의 액세스를 제어하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 프로세서에 기초한 시스템이
    코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지를 결정하기 위해 상기 코드 페치를 분석하고,
    상기 코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지에 기초하여 상기 기억장치의 전용 영역으로부터 상기 코드 페치를 차단할 수 있도록 하는 명령을 저장하는 매체를 포함하는 것을 특징으로 하는 아티클.
  15. 제 14 항에 있어서, 상기 코드 페치가 베이스밴드 또는 논-베이스밴드 애플리케이션에 관한 것인지를 결정하기 위해 상기 프로세서에 기초한 시스템이 상기 코드 페치의 어드레스를 분석할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 아티클.
  16. 제 15 항에 있어서, 상기 프로세서에 기초한 시스템이 논-베이스밴드 애플리케이션에 관한 코드 페치를 베이스밴드 애플리케이션에 전용인 기억 영역으로부터 차단할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 아티클.
  17. 제 16 항에 있어서, 상기 프로세서에 기초한 시스템이 부트 및 기밀 부호에 관한 것이 아닌 코드 페치를 부트 및 기밀 부호에 전용인 기억 영역으로부터 차단할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 아티클.
  18. 제 15 항에 있어서, 상기 프로세서에 기초한 시스템이 베이스밴드 애플리케이션에 관한 것이 아닌 코드 페치를 베이스밴드 애플리케이션에 할당된 기억 영역으로부터 차단할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 아티클.
  19. 제 18 항에 있어서, 논-베이스밴드 애플리케이션에 관한 기록이 베이스밴드 애플리케이션에 전용인 기억 영역내에 발생하는 것을 방지하기 위해 상기 프로세서에 기초한 시스템이 어드레스 비교 레지스터를 사용할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 아티클.
  20. 제 14 항에 있어서, 상기 프로세서에 기초한 시스템이 코드 페치의 어드레스를 베이스밴드 애플리케이션에 전용인 어드레스의 세트와 비교할 수 있도록 하고 상기 비교에 기초하여 베이스밴드 애플리케이션 기억 영역으로의 액세스를 제어할 수 있도록 하는 명령을 더 저장하는 것을 특징으로 하는 아티클.
KR10-2002-0054795A 2001-09-19 2002-09-11 애플리케이션 사이의 코드 분리를 증가시키는 시스템 및방법 KR100484348B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/956,209 2001-09-19
US09/956,209 US7290104B2 (en) 2001-09-19 2001-09-19 Increasing code separation between applications

Publications (2)

Publication Number Publication Date
KR20030025180A KR20030025180A (ko) 2003-03-28
KR100484348B1 true KR100484348B1 (ko) 2005-04-20

Family

ID=25497914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0054795A KR100484348B1 (ko) 2001-09-19 2002-09-11 애플리케이션 사이의 코드 분리를 증가시키는 시스템 및방법

Country Status (8)

Country Link
US (1) US7290104B2 (ko)
EP (1) EP1428128A1 (ko)
JP (1) JP2003177966A (ko)
KR (1) KR100484348B1 (ko)
CN (1) CN100559733C (ko)
SG (1) SG111960A1 (ko)
TW (1) TWI221070B (ko)
WO (1) WO2003025759A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452431A (en) * 1991-10-30 1995-09-19 U.S. Philips Corporation Microcircuit for a chip card comprising a protected programmable memory

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265864A (ja) 1992-03-17 1993-10-15 Fujitsu Ltd メモリ管理回路及びメモリ管理回路付きのプロセッサユニット
CA2095647A1 (en) * 1992-05-28 1993-11-30 John Ratzel Integrated control and signal processing in a cellular telephone
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US6341338B1 (en) * 1999-02-04 2002-01-22 Sun Microsystems, Inc. Protocol for coordinating the distribution of shared memory
ATE429677T1 (de) 2000-02-16 2009-05-15 Broadcom Corp Bluetooth-basisbandlösung mit reduzierten prozessoranforderungen und integrierter host- steuerung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452431A (en) * 1991-10-30 1995-09-19 U.S. Philips Corporation Microcircuit for a chip card comprising a protected programmable memory

Also Published As

Publication number Publication date
US20030054797A1 (en) 2003-03-20
CN1405990A (zh) 2003-03-26
EP1428128A1 (en) 2004-06-16
SG111960A1 (en) 2005-06-29
JP2003177966A (ja) 2003-06-27
US7290104B2 (en) 2007-10-30
TWI221070B (en) 2004-09-11
WO2003025759A1 (en) 2003-03-27
CN100559733C (zh) 2009-11-11
KR20030025180A (ko) 2003-03-28

Similar Documents

Publication Publication Date Title
JP4989543B2 (ja) メモリドメインを基にしたデータ処理システム内のセキュリティ制御
US7401358B1 (en) Method of controlling access to control registers of a microprocessor
US6282657B1 (en) Kernel mode protection
US8683115B2 (en) Programmable mapping of external requestors to privilege classes for access protection
JP4759059B2 (ja) メモリページをプログラムに対応付けるページカラーリング
US7043616B1 (en) Method of controlling access to model specific registers of a microprocessor
Schrammel et al. Jenny: Securing Syscalls for {PKU-based} Memory Isolation Systems
EP3702923A1 (en) Memory protection
US7130977B1 (en) Controlling access to a control register of a microprocessor
US20120191899A1 (en) Flexible Memory Protection and Translation Unit
US8656487B2 (en) System and method for filtering write requests to selected output ports
EP1763761A1 (en) Digital signal controller secure memory partitioning
US20070028074A1 (en) Maintaining shadow page tables in a sequestered memory region
US8601229B2 (en) Secure memory access system and method
US7082507B1 (en) Method of controlling access to an address translation data structure of a computer system
US9158710B2 (en) Page coloring with color inheritance for memory pages
US8024730B2 (en) Switching between protected mode environments utilizing virtual machine functionality
KR100505106B1 (ko) 강화된 보안 기능을 갖춘 스마트 카드
GB2356469A (en) Portable data carrier memory management system and method
KR100484348B1 (ko) 애플리케이션 사이의 코드 분리를 증가시키는 시스템 및방법
JP2020504393A (ja) セキュリティアーキテクチャおよび方法
KR100327641B1 (ko) 부정한기입으로부터메모리를보호하는메모리어드레스관리회로
Jungwirth et al. OS Friendly Microprocessor Architecture
JPH04160449A (ja) 誤書き込み防止回路
JPWO2005020069A1 (ja) コンピュータシステムのcpu(中央処理装置)

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
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee