CN1491388A - 资料载体之微处理器电路及组织存取储存于内存资料之方法 - Google Patents

资料载体之微处理器电路及组织存取储存于内存资料之方法 Download PDF

Info

Publication number
CN1491388A
CN1491388A CNA028046161A CN02804616A CN1491388A CN 1491388 A CN1491388 A CN 1491388A CN A028046161 A CNA028046161 A CN A028046161A CN 02804616 A CN02804616 A CN 02804616A CN 1491388 A CN1491388 A CN 1491388A
Authority
CN
China
Prior art keywords
program
memory
access
region
access right
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA028046161A
Other languages
English (en)
Other versions
CN1320465C (zh
Inventor
F��-J�����׶�
F·-J·布雷克马尔
H·弗里丁格
H·塞德拉克
C·梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN1491388A publication Critical patent/CN1491388A/zh
Application granted granted Critical
Publication of CN1320465C publication Critical patent/CN1320465C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Communication Control (AREA)

Abstract

本发明提出一用以组织存取储存于一内存之资料或程序的微处理电路,系具有至少一微处理器、一供操作系统使用的内存,以及至少一用以让个别外部程序可闲置程序设计的内存、复数个在内存中具有个别寻址空间的内存区域提供给闲置程序设计,每个地址空间系被配以一识别符(identifier),且具有在内存区域寻址之前的个案中用以把此被个别分派至内存区域的识别符加载一第一辅助缓存器的装置,该装置亦把被寻址的内存区域的识别符加载一第二缓存器,并执行该第一与第二辅助缓存器的比较。再者,准备工作系针对一内存区域的每个地址空间而执行,以至于被派到至少一具有存取权限的位序列上,而密码指令与敏感资料系可藉其保护而免于受到来自于其它外部程序的写入存取。

Description

资料载体之微处理器电路及组织存取储存于内存资料之方法
本案系指依照申请专利范围第1项之前言所得之微处理器电路与依照申请专利范围第14项之前言所得之组织存取储存于内存资料或程序的方法。
前述样式的微处理器电路较佳地被应用于所谓的计算机卡(smart card),也就是所谓的身份证(identity card)、信用卡(credit card)、赊购卡(charge card)以及诸如此类的东西,其等都配备有一集成电路(integrated card)。此微处理电路亦被应用于所谓的支付交易模块(payment transaction module),其系可透过相对应的接口而与前述的计算机卡相连。通常,此微处理器电路可被应用于个人终端机(personalized terminals),亦即例如行动电话、个人计算机、个人数字助理,其等皆适用于支付交易。
此等卡片的一基本好处乃在于其可依卡片拥有者的各种可能需求而建构。此微处理器包含于一集成电路之中,而结合的储存工具则准许大量的资料在卡片内自行处理。
卡片制造商可使该微处理器配备有一常驻的操作系统,其执行基本的功能,例如将应用于比较外部输入密码与已储存之密码的程序中或是诸如此类的地方。配备于该微处理器上的内存除了可用于储存该操作系统之外亦可用于储存特殊的应用程序以及参数,其中该应用程序可能包含多种功能,而该参数可能在安全性测试与所有保密工作上都是必要的。
当具有关联程序的操作系统产生一起始点(starting point),某些接口系被定义,且一内存或是内存区域即为了因应一外部程序而被预作保留的时候,卡片的各种不同用途即可实现。卡片制造商接着即针对使用者而做了些准备,那也就是说对发行卡片的组织而言,为了能在其外部程序当中进行程序设计,一内存或是内存区域系被预作保留。在此外部程序当中,该组织可能定义独立于该操作系统且仅与此特定组织有关的特殊操作。
一未来的通信定义表可能并不仅是储存其外部程序于预置计算机卡中的单一系统,更可能是储存所对应之程序于该计算机卡上的多个系统。在此情形下,努心应致力于确保在该操作系统或是其它外部程序上与安全性相关的资料,以避免其在未经准许的情况下即被存取。
称一外部程序为另一外部程序的一程序部分(program part),亦或是一链接库(program library)是可以理解的。在一般的内存系统基础上,所有的程序部分(program parts)可座落于所谓的相同逻辑地址区域中。在此情况下,外部程序的密码与资料皆被设于内存区域的一地址空间中。在此个案中,该密码本身可能依次包含多个程序部分、链接库或是程序功能。经由举例,如果一外部程序A,也可被称作为应用程序,选择性地由一外部程序B中呼叫一链接库B或是由位在相同逻辑地址空间之另一外部程序C中呼叫一链接库C,那么在缺乏进一步的保护机制时,该链接库B可经由一写入操作该链接库C之资料而破坏了该资料,亦或经由一读取操作而发现了链接库C的本质安全资料。该链接库C将因其之数值被破坏而无法再进一步地作为其它外部程序的程序部分。
为了解决此一问题,其对于此等程序部分(program parts)而言是已知的,那就是说链接库(program libraries)需藉硬件机制而与该内存中的其它链接库分离,而且在各链接库间的存取资料则仅可经由该操作系统而得以完成。然而,此安全性系表现于一高程序化复杂与复杂硬件的结果之中。再者,此表现在与链接库间的直接通讯做比较时是降低的。必然地,高安全性系被获自于该表现的损害。
EP 0,512,542 B1专利案揭露了一用于避免对储存在一内存中的资料或程序进行存取的微处理器电路,其具有至少一微处理器,一操作系统内存以及至少一用于可闲置地程序规划各个外部程序的内存。在此个案中,多个可闲置程序规划的内存区域系被提供,其等之地址空间为相同的,除了至少一最明显的位置之外。该微处理器电路更具有一在各种个案中可在寻址于一内存区域之前先将被分配至一内存域的各个最明显位置装载至一第一辅助缓存器上的装置,该等装置并可将被寻址的内存区域的个别最明显位置装载至一第二辅助缓存器,且其接着即可用以进行该第一与第二辅助缓存器的比较。在改变辅助缓存器的内容之过程中,一制止信号系被生成以便决定一正在存取一不被准许的地址之外部程序可否被执行。
此程序在实施上有其缺点,其将无法存取另一外部程序。相互使用其它外部程序的特定程序部分是不可能的。因此,如果适当,复数个外部程序必须包含具有相功能性的同一程序部分。然而,这是非常不利地,在此一便于携行的资料载体的个案中,其通常仅有一受限的内存区域。
本发明系以详细说明一电路与方法之目的为基础,其亦使得利用简单量测来存取外部程序成为可能。
本发明的这些目的系藉由申请专利范围第1至14项中具体说明之特征而得以分别实现。
根据本发明,此目的乃藉由每个内存区域的地址空间系被配以至少一具有存取权限的位序列(ACR)之实际优点而得以完成。
本发明因而提供了一硬件保护机制,其准许在位于相同逻辑地址空间上的不同外部程序的程序部分之间直接通讯。然而,在此个案中,并不需要操作系统的控制。
在本发明的有利改进中,地址空间的每个地址系被配以包含存取权限的一位序列。换句话说,就是密码列(coderow)与数据字(dataword)两者都被配以含有存取权限的一位序列。因此,选择性决定的资料区域可被配以一预期的权限。
含有存取权限的该位序列系有利地与地址(addresses)或是地址块(address blocks)以及识别符(程序辨识)一起储存在该内存的一表格中。在此个案中,一地址块可藉其地址起点(addressbeginning)或是地址终点(address end)以及地址块的长度而辨识。作为一种选择,藉由一低层与高层的地址来识别一地址块是可理解的。每个地址块稍后可被配以具有存取权限的位序列。如果一地址块仅包含一单独的地址,每个单独指令或是每个单独地址可被配以含有存取权限的一位序列。
作为一种选择,每个地址空间或是每个地址系伴随着具有存取权限的一位序列而被提供。也就是说藉由含有存取权限的该位序列之长度来增长前述之被使用字符串(word row)。因此,一存取权限可能自动地被派至每一地址,也就是每个字。在此个案中,每个地址或是每个地址空间的识别符(identifier)可包含,例如,每个地址的至少一最明显位置或是一地址空间的每个地址。
包含存取权限的该位序列具有一第一与一第二存取权限,该第一存取权限控制在两内存区域间的存取而该第二权限则控制在一内存区域内的存取。假设不同的外部程序是被储存于不同的内存区域,那么存取动作可藉一外部程序的程序部分而高选择性地被控制。存取可因而被拒绝或是接受。存取本身可包含一该取授权(readauthorization)或是一写入授权(write authotization),如果资料系与哪一外部程序拥有追索权(recourse)有关时。如果一外部程序尝试自另一外部程序呼叫一密码,那么控制权亦将出现于此个案中。
在一有利的精进中,在于该位序列中的一第三(资料)存取权控制了在一内存区域内部的存取,也就是说在单一程序之内。此令人联想到专用程序(dedicated program)的第二存取权。特别地是其接着可能用于保护资料,例如启始资料或是变量,使其免于在该专用程序之特定程序部分内被读取或是写入,如果该专用程序之实施密码的第二存取权限尚未设定时。然而,举例来说,其它仅包含那些在实施期间将增加的资料之资料区域可藉所有程序部分而写入或读取。
在另一有利地精进中,一权限缓冲器系被提供,其包含另外在两个内存区域间存取的权限,在此个案中,该存取权限可界操作系统而被读出或是写入。此缓冲器较佳地包含在每个个案中的两个不同内存区域之间有被准予的派任,也就是说被准予的存取。此精进提供一存取表格的序言,其可能是以高速缓冲储存器(缓冲器)的形式出现。此派任系透过识别符(程序辨识)或是透过可被用以决定个别识别符的转换表而在该表格中被了解。
因此,一包含复数个程序部分的应用A可准予对一程序部分B比,例如,另一程序部分C具有较多的存取权力。为此目的,缓冲器或是储存在此缓冲器中的表格系包含,例如,两行以及对应数量的列数,其系依该等程序部分的复杂度与数量而定。在一列中,一程序部分之一识别符(identifier)系被存取以被提供于第一行而此程序部分中被准予影响该存取的另一识别符系被提供于第二行。在此最简单的实现中,此等识别符系被视同于程序的身份证(IDs)。然而,可供选择的是,一传输表格亦可被提供,其可被用以判定此程序IDs与其它表格项次的不同。
一实现于权限缓冲器中的存取表格系可就不同方式而得以实现。在一两行之表格个案中,不同程序部分的每个结合系至多被准予发生一次。可供选择地,此表格可包含一些程序部分其系与该程序部分的总数一致。被准予的存取接着即藉由额外的行数而被储存于此表格中。
在一更有利精进中,一可透过操作系统而专门管理的内存区域系被提供。此藉由操作系统而管理的内存区域,其所指即为”文章安全区域(Context Safe Area)”,供应了缓冲储存(buffer-storing)灵敏资料,其不准予透过任何其它外部程序或包含于内之程序部分对其进行读取或写入。此藉由操作系统而管理的内存区域因而组成一被使用之叠堆(stack),特别是,透过一密码,其之第三存取权限仅有特定被选取之程序部分可供使用。
在另一精进中,每个内存区域系为了缓冲储存资料而被配以一存取区域,其仅可透过储存于个别内存区域中的程序来控制。此缓冲器(叠堆)也供应了缓冲储存特殊敏感资料,其不论在任何情况下都不为外部程序所能读取。
上述微处理器电路的结构藉由下述有关的方法将会更易理解。
组织存取储存于内存资料或程序之本发明方法,其具有至少一微处理器、一供操作系统使用的内存、及至少一供有个别外部程序的闲置程序设计使用之内存、复数个在内存中具有地址空间的内存区域提供给闲置程序设计、每个地址空间被分配给一识别符(程序ID),且正好一外部程序系被提供给每一内存区域,其步骤系包含:
a)在一外部程序使用一现行地址的一识别符的当时,决定该外部程序之现行密码指令之一第一程序ID;
b)决定一寻址内存区域之一第二程序ID;
c)比较该第一和第二程序ID;
d)根据步骤c)的比较结果,选择该第一或第二存取权限;
e)评估该存取权限
f1)若该存取或该寻址内存区域的密码指令是被许可的,则继续该程序密码;
f2)若该存取或该寻址内存区域的密码指令是不被许可的,则呼叫一错误操控程序。
结果,使用例如最明显的位置之类的识别符(之后也称做程序ID),不管该存取是否在同一或不同的内存区域执行,其都能被决定,对不同的外部程序也是如此。根据这项评估结果,也能决定和评估出该第一或第二存取权限。基于这项方法,让其它外部程序能使用特定程序部分(链接库)就变成可行了。
根据本发明的方法的一种实施例是,亦即给予识别的第一和第二程序ID,第二存取权限或第三存取权限的选择是根据现行密码指令的存取权限,被分派密码指令的存取权限会列入清单,不管之后是否也允许存取程序密码的存取敏感区域。如果成立的话,接着该被选定的分分派址第三存取权限会更进一步做评估,且会被限定在不能写入存取而只有读取存取能被执行的范围,这确保了防止敏感资料被现行外部程序的链接库所毁坏的一种保护。
根据本发明的方法的较佳实施例是,在步骤f2之后,下列步骤将会执行:
g)为一登录而检查权限缓冲器,该登录系向被该第二程序ID(PIDaddr)识别的该内存区域指出,具有该第一程序ID(PIDPC)之该内存区域的一被许可的存取;
h)若登录出现在权限缓冲器中,则继续程序密码;
i)若登录未出现在权限缓冲器中,则呼叫一错误操控程序。
根据本发明的方法的较佳实施例差异是在于,举例来说,利用权限缓冲器使得程序部分B比程序部分C给予更多的存取权限这件事成为可能。
如果一程序部分A存取一程序部分B,首先,会先检查该第一、第二、第三存取权限,如果存取许可,接着就依照各自的权限执行。然而,如果不允许存取,接着就会检查权限缓冲器内的内容是否有一登录与程序部分A至程序部分B的存取有关,如果有类似登录存在,举例来说,一种属于程序部分B之延伸存取权限就会被授予给程序部分A,如果没有类似的登录存在,则会激活一错误操控程序。
根据本发明的方法的较佳实施例是,步骤a)的密码指令是一种跳跃指令,接着下列步骤将会执行:
b)决定一寻址内存区域的第二程序ID;
c)比较该第一和第二程序ID;
d)跳跃至被呼叫的地址;
e1)若该第一和该第二程序ID是相同的,则在寻址内存区域继续程序密码;
e2)若该第一和该第二程序ID是不相同的,读取寻址内容中的地址内容;
aa)若地址内容读出并非一登录指令,则呼叫一错误操控程序;
bb)若地址内容读出为一登录指令,则继续程序密码。
这项步骤确保在链接库之间的跳跃,仅被允许在先前所规范登录寻址的范围内执行,该范围是利用被规范的登录指令所定义。结果就是,一种未受控制的登录在程序密码的任一位置是不可能发生的,隐蔽被发现的资料和资料的毁坏也因此不可能发生。
根据本发明的方法的较佳实施例是,在该跳跃命令储存之内的地址是存于缓冲器中。
该缓冲器更佳的是一仅由操作系统管理的储存区,该「文章安全区域」(Context Safe Area)已在前言中提及。
登录指令更佳的是一固定的规定位序列,之后就能使用来识别而不管登录寻址是否有介入。
此外,如果公开的存取缓冲器(堆栈)是可利用为当作密码指令的缓冲器会更好,该密码指令系被分派给一第一执行权限。该密码指令乃程序密码,该程序密码并不能存取一程序的敏感资料。
另一方面,一被分派至个别内存区域且仅能由存于个别内存区域的程序所管理的缓冲器,更佳的是由被分派给一第二执行权限的密码指令所使用。该缓冲器,又称「敏感堆栈区」(Sensitive Stack),供存于缓冲器的资料使用,该资料在任何情况下都不能被其它链接库或外部程序读取或重新覆盖。
本发明及其好处将藉参考下列图标而被清楚解释,其中:
第一图呈现了具有两程序A、B的线性地址空间之区分;
第二图呈现了一具有存取权限的第一示范实施表格;
第三图呈现了一具有存取权限的第二示范实施表格;
第四图呈现了一地址区域的基本设计,每个寻址系被配以一具有存取权限的位序列;
第五图呈现了一具有可能存取权限之表格;
第六图呈现了根据本发明所得而以程序流程图形式表现之方法;
第七图呈现了本发明之微处理器电路的一示范性实施。
第一图呈现了,经由举例,被本发明视为根基的问题区域(problem area)。有两个程序A、B座落于一线性地址空间中。假设属于具有关连依电性与固定式指定资料的程序A之程序部分(programparts)或是链接库(program libraries)皆是以一特定方式进行装备,该方式系为透过相互呼叫与相互管理而不至于彼此破坏。在现在之第一图中,程序A包含一区域,其仅包含一指令码(instructioncode),且其可藉密码A而被识别。后者可包含多个相互独立的函数A1、A2。后者可相互呼叫彼此。再者,经由举例,程序A系包含两个资料区域A1与A2,其可包含依电性或是永久资料。所有座落于程序的资料可完全受该指令码或是函数所管理及控制。
程序B则是以一对应方式而建构,系只有一资料区域B经由举例而被描述于第一图。座落于程序B函数也可相互呼叫且可管理及控制储存于资料区域B中之资料。
根据本发明,程序A与程序B系藉最明显位置或是位置或是藉个别配以的程序ID(PID)而个别地被设置于不同之预定内存区域中。在此内存区域中,指令码与资料当然不需要被排列于此图所述之方式的区决内。
本发明现在开启了利用程序B之一函数来存取程序A之资料的可能性。经由举例,两个此形式的地址系被描述于第一图。当函数B2存取资料区域A1之时,函数B1即存取资料区域A2。根据本发明,使资料可被程序B所使用之程序A可准予其它程序对于特定资料区域之选择性地特殊存取权限。可能性的存取权限系被描述于第五图。后续内容系为可理解的:写入/读取权限(W),一只读(read-only)权限(R)以及无资料存取,这也就是说不可读取一不可写入之权限(-)。这些权限系被配于资料。所谓的执行权限Xn与Xs皆被配于该指令码并包含关于该预期资料区域是否被准予以现行的执行指令来存取的信息。
程序B至程序A的资料存取可藉比较现行执行码指令与存取寻址的程序ID(例如,最明显位置或是位置)之硬件来确认。
根据程序ID的比较,可被确定的是一资料存取是否受到现行之执行程序中的函数或是在不同程序中的函数所影响。根据本发明,每个资料区域(密码指令与资料两者)接着被配以具有存取权限的一位序列。
此位序列可能是字符列的一部份,如第四图所示。除了此寻址与其中所建构之数值之外,如此一字符列亦藉存取权限(ACR)之位序列而被延长。可供选择的是,一表格可能被提供于此内存中,该表格定义了一内存区域并包含被配置该内存区域而具有存取权限的一位序列。在此个案中,此地址区域可更加地藉其低层或高层的地址(第二图)或是藉其寻址之开端与地址区块长度(第三图)而被定义。
此具有存取权限的位序列包含至少两个存取权限:用以控制在两程序间的存取第一存取权限,以及用以控制在一程序内部之存取的第二存取权限。此等存取权限在位序列(ACR)中的排列次序系可依预期而选择。具有有利地存取权限之位序列更包含一用以控制在一程序中之存取的第三存取权限。与第二存取权限相比,包含有敏感资料,例如启始资料(initialization data),的地址区域系因而被识别。按顺序地,一密码指令系被准予读取或是写入此类资料,而个别密码指令亦需要特别的辨识。
包含有第二图中之存取权限的位序列具有第一、第二以及第三存取权限,后者系以前面所提及的次序而由又至左的输入于行ACR中。例如具有启始资料的资料区域A2因而被准予以一外部程序(第一存取权限)之函数来读取,而在现行程序中之函数载哪时候甚至可具有写入的功能。此被应用在那些藉一普通、第一执行权限(Xn)的密码指令以及被应用在那些具有执行敏感资料(Xs)之授权(第二执行权限)的密码指令。
再者,由第二图之表格中可了解的是该资料区域A1系准予让当下被执行的程序A(第一、第二以及第三存取权限:W)之外部或内在函数来写入。
必然地,透过被配至于线性地址空间的个别资料区域的存取权限,资料与函数即可以一简单的方式成为对其他程序而言是可存取的。如果这个藉由外部程序进行之预期存取并不被准许,其可能因存取权限的因素而被建立,那么一错误例行性的操控程序即被激活。在这情形下,程序设计者自己即可保护密码指令与程序之被选取资料以免于受到其它程序的写入存取。
本发明之另一保护机制在于源自于外部程序之函数呼叫(function call)的控制。为了避免一在程序中的非控制性程序流及可能透过的专用资料的过渡写入而造成的破坏,一在此程序中的函数将被准许仅在被定义之登录寻址(entry addresses)上藉由其它程序而跳接(jump)。这些登录寻址系藉前述之位序列而辨识。在一跳接指令的中,特定的地址系针对预期的位序列而被检测。如果后者并不存在,那么一错误操作程序及被激活。如果预期的位序列被找到,那么所谓的函数即被执行。由于在一程序内的函数可由任何位置呼叫,因而每个函数呼叫之返回寻址(return address)需被储存。如果一返回指令在函数密码指令的执行过程中偶然出现,那么程序计数器即被设定成预定的储存返回寻址。在程序内的程序流可在一非预期方式下透过返回寻址的操作而修改。
为了解决此一问题,本发明提出了保护此返回寻址免于受到写入存取,系为可免除在一缓冲器之函数呼叫个案中此返回寻址将受其它程序自动储存,其仅可藉操作系统而存取。在此个案中,其只把那些在一函数呼叫中受其它程序影响个案之返回寻址储存在一写入保护(write-protected)缓冲器中。经由比较,在相同程序中之一函数的函数呼叫个案中,使用一常见之可存取缓冲器是可能的。然而,在此个案中,必须确定的是这些返回寻址并不会引出当前的程序。作为另一种比较,在函数呼叫之个案中的返回寻址可被自动储存于一中间缓存器(intermediate register),而此缓存器之一旧数值系被储存于具有返回寻址的个别叠堆(stack)上。当对于缓冲器的存取是受到操作系统所管理时,对于此中间缓存器的存取必须仅是对于被呼叫之程序为限制的。
本发明之方法再一次地被描述于第六图。由指令快取记忆区(cache)而来的指令系被加载CPU而程序ID(PIDpc)则被保存在一内部CPU缓存器中。在下一步骤,一检测系被执行以便确定密码指令是否为一跳接指令。假使真是这样,所谓的地址(PIDJ)之程序ID即被确定。如果两个程序IDs相对应,一跳生至所谓的地址之跳接便会发生而程序却将继续。完全相同的程序IDs代表一跳接系于此当前活跃的程序中被执行。而在具有不同程序IDs的个案中,所谓的地址系被跳接而位于其内的地址内容即被读取。如果此寻址内容是预期的登录指令,也就是一固定式地前述之位序列,此程序密码即被继续。否则,一错误操控程序即被呼叫。
如果密码指令不是跳接指令,但却是一具有数据存取的指令,那么由数据快取记忆区(data cache)而来的被呼叫寻址之程序ID系被加载CPU中并被确定。假使程序IDs PIDpc与PIDADDR不相对应,那么被包含于内的必是一内部程序企图尝试的资料存取。必然地,第一存取位系经资料快取记忆区(data cache)存取或由一分派之表格而获得确定与评估。如果存取被准许,例如想读取一资料的企图,此第一存取权限组成R或W,然后此程序密码则是继续。如果第一存取位在一上述的范例中既不同意被读取之授权也不同意被写入之授权,一错误操控程序即被呼叫。
取代此被呼叫之错误操控程序,进一步的权限检测可在此时接着进行。在一储存于权限缓冲器中之表格里,登录(entries)系针对于是否存有一具有被呼叫(called)与呼叫(calling)之程序部分的权限对(right pair)而被检测。如果真是如此,透过举例,一对于具有程序ID PIDADDR之程序部分的延伸存取即被准予对一具有程序ID PIDPC之程序部分进行存取。因此可能准予对一程序部分有较其它在本质上具有相同授权的程序部分具有更多的存取权限。然而,对于敏感存取权限(第三存取位)而言,上述对于权限的划分仍是被维持的。然而,如果在缓冲器中并无具有程序IDs PIDPC与PIDADDR的登录可被发现,那么一错误操控程序即被启始。
前述在序言中所提及的权限检测亦可与描述于此的被延伸之权限检测并列发生。当一般或是被延伸权限检测已被证实为确实时,对于被呼叫之程序的存取即被准允。如果两个权限检测都被证明是负的,那么一错误操控程序即被激活。
在相对应的程序IDs PIDPC与PIDADDR的情况下,一在当下活跃之程序中的存取即被包含。如果密码指令系仅具有准予存取一般数据的执行权限,那么在此寻址上的第二存取位即由资料快取记忆区中被读取并被评估。如果密码指令也具有存取敏感资料的权限,其系藉第二执行权限(Xs)而辨识,那么由具有存取权限之位序列中而来的第三存取权限即被读取并被评估。在一准予存取的个案中,程序密码将在上述之两个案中得以继续。否则,一错误操控程序即被激活。
透过举例,第七图呈现了本发明之微处理器电路的概要结构。微处理器1包含一控制单元3,其经由一控制线路路10而连接至一内存排列(memory arrangement)2。此内存包含一区域21,其系为了此操作系统而被提供,且对于个别外部程序而言系藉由三个内存区域22、23、24为范例,一受此操作系统管理的缓冲器25,一可被所有程序使用缓冲器26,以及被个别配置于内存区域22、23、24之其一且仅受其管理的缓冲器27、28、29(即所谓的”敏感堆栈”(SentitiveStacks))。此微处理器更包含一中央处理器(CPU)6,一指令快取记忆区(instruction cache)4,一资料快取记忆区(data cache)5以及运算单元(arithmetic units)7、8,其各具有一辅助缓存器(auxiliary register)72、82。再者,一评估单元9亿存在,其系与连接该运算单元7、8以及运算/逻辑处理单元(arithmetic/logicprocessing unit)6相连接。
透过运算单元7,当下被执行的密码指令之寻址程序ID系被确定且被储存于一辅助缓存器72内。为达此目标,由指令快取记忆区4而来的地址即透过该运算/逻辑处理单元而被供至该运算单元7。在相对的情况下,被呼叫之寻址程序ID系藉运算单元8而确定且被储存于一辅助缓存器82之中。被呼叫之寻址即被藉运算/逻辑单元6而被供至源自于数据快取记忆区的运算单元8。辅助缓存器72、82的内容系被供至评估单元9并在那里相互比较。此引起了是否一存取是在两程序之间或仅是在一程序内部受到影响的说明。最后,被呼叫的密码指令与位元址之存取权限系被供至该评估单元9。利用此信息,评估单元9即可实施第六图中所述之程序序列并且可决定一存取是否被允与或是拒绝。结果系被供至CPU。
图标符号说明
1微处理器
2内存
3控制单元
4指令快取记忆区
5资料快取记忆区
6中央处理器
7运算单元
8运算单元
9评估单元
10控制线路
21内存区域
22内存区域
23内存区域
24内存区域
25缓冲器
26缓冲器
27缓冲器
28缓冲器
29缓冲器
ACR包含存取权限的位序列
72第一辅助缓存器
82第二辅助缓存器

Claims (22)

1.一用以组织存取储存于内存(2)资料或程序之微处理器电路,其具有至少一微处理器(1)、一供操作系统使用的内存(21)、及至少一供有个别外部程序的闲置程序设计使用之内存(22、23、24)、复数个在内存中具有地址空间的内存区域(22、23、24)提供给闲置程序设计、每个地址空间被分配给一识别符(程序ID),且具有装置(7、8),该装置系在该内存区域寻址之前之内存存取事件之每一情况下,加载个别分派给一内存区域之识别符(程序ID)至一第一辅助缓存器(72),以及加载寻址内存区域的识别符(程序ID)至第二辅助缓存器(82),并且执行该第一和第二辅助缓存器(72、82)之比较,其中一内存区域之各地址空间系分派有具存取权限之至少一位元元系列(ACR)。
2.如申请专利范围第1项所述之微处理器电路,其中一地址空间的每一地址被分派一包含存取权限之位序列(ACR)。
3.如申请专利范围第1项或第2项所述之微处理器电路,其中包含该存取权限之该位序列(ACR)与地址或寻址区块及存于该内存表格中的识别符(程序ID)储存在一起。
4.如申请专利范围第3项所述之微处理器电路,其中一寻址区块系藉由其地址开(address beginning)或寻址终端(addressbeginning)及该寻址区块长度来辨识。
5.如申请专利范围第3项所述之微处理器电路,其中一寻址区块系藉由一低层或高层寻址来辨识。
6.如申请专利范围第1项或第2项所述之微处理器电路,其中每一地址空间或每一地址系被供以该包含存取权限之位序列(ACR)。
7.如申请专利范围第1项至第6项其中之一所述之微处理器电路,其中包含该存取权限之该位序列包含一第一及第二存取权限,该第一存取权限管制二内存区域(22、23、24)间的存取,而该第二存取权限管制一内存区域(22、23、24)内的存取。
8.如申请专利范围第7项所述之微处理器电路,其中在位序列中提供一第三存取权限,该第三存取权限管制一内存区域(22、23、24)内的存取。
9.如申请专利范围第1项至第8项其中之一所述之微处理器电路,其中提供一权限缓冲器,其包含二内存区域之间更进一步之存取权限,在该情况下该存取权限能被操作系统所读出和写入。
10.如申请专利范围第9项所述之微处理器电路,其中在每一情况下该缓冲器包含二内存区域之间被许可的分派工作(存取)。
11.如申请专利范围第9项或第10项所述之微处理器电路,其中该分派工作在表格中系利用识别符(程序ID)或转译表格执行,该转译表格系被用以决定个别的识别符。
12.如申请专利范围第1项至第11项其中之一所述之微处理器电路,其中系被供以一内存区域(25),其系由操作系统专门管理。
13.如申请专利范围第1项至第12项其中之一所述之微处理器电路,其中每一内存区域(22、23、24)被分派一地址区域(27、28、29)给存于缓冲器的资料,其系仅能由存于个别内存区域(22、23、24)的程序管理。
14.一用以组织存取储存于内存(2)资料或程序之方法,其具有至少一微处理器(1)、一供操作系统使用的内存(21)、及至少一供有个别外部程序的闲置程序设计使用之内存(22、23、24)、复数个在内存中具有地址空间的内存区域(22、23、24)提供给闲置程序设计、每个地址空间被分配给一识别符(程序ID),及正好一外部程序系被提供给每一内存区域(22、23、24),其步骤系包含:
a)在一外部程序使用一现行地址之一识别符的当时,决定该外部程序之现行密码指令之一第一程序ID(PIDPC);
b)决定一寻址内存区域之一第二程序ID(PIDaddr);
c)比较该第一和第二程序ID;
d)根据步骤c)的比较结果,选择该第一或第二存取权限(ARC);
e)评估该存取权限;
f1)若该存取或该寻址内存区域的密码指令是被许可的,则继续该程序密码;
f2)若该存取或该寻址内存区域的密码指令是不被许可的,则呼叫一错误操控程序。
15.如申请专利范围第14项所述之方法,其中假如第一和第二程序ID相同,该第二存取权限或一第三存取权限的选择是根据现行密码指令的存取权限。
16.如申请专利范围第14项或第15项所述之方法,其中在步骤f2之后,执行下列步骤:
f)为一登录而检查权限缓冲器,该登录系向被该第二程序ID(PIDaddr)识别的该内存区域指出,具有该第一程序ID(PIDPC)之该内存区域的一被许可的存取;
h1)若登录出现在权限缓冲器中,则继续程序密码;
h2)若登录未出现在权限缓冲器中,则呼叫一错误操控程序。
17.如申请专利范围第14项至第16项其中之一所述之方法,其中步骤a)的密码指令是一种跳跃指令,执行下列步骤:
b)决定该寻址内存区域的该第二程序ID(PIDaddr);
c)比较该第一和第二程序ID;
d)跳跃至被呼叫的地址;
e1)若该第一和该第二程序ID是相同的,则在该寻址内存区域继续程序密码;
e2)若该第一和该第二程序ID是不相同的,读取该寻址内容中的地址内容;
aa)若地址内容读出并非一登录指令,则呼叫一错误操控程序;
bb)若地址内容读出为一登录指令,则继续程序密码。
18.如申请专利范围第17项所述之方法,其中在步骤d)之前,在一缓冲器(28...29)中执行储存现行跳跃指令的位元址之步骤。
19.如申请专利范围第17项或第18项所述之方法,其中该登录指令是一固定的规定位序列。
20.如申请专利范围第14项至第19项其中之一所述之方法,其中该缓冲器(25)系由操作系统专门管理。
21.如申请专利范围第14项至第20项其中之一所述之方法,其中被分派给一第一执行权限之该密码指令系使用公开可存取的缓冲器(26)当作缓冲器。
22.如申请专利范围第14项至第21项其中之一所述之方法,其中被分派给一第二执行权限的密码指令使用一缓冲器(27、28、29),其系被分派至该内存区域且只能由存于该个别内存区域的程序及操作系统所管理。
CNB028046161A 2001-02-06 2002-01-25 数据载体的微处理器电路及组织存取内存数据的方法 Expired - Fee Related CN1320465C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE10105284.7 2001-02-06
DE10105284A DE10105284A1 (de) 2001-02-06 2001-02-06 Mikroprozessorschaltung für Datenträger und Verfahren zum Organisieren des Zugriffs auf in einem Speicher abgelegten Daten

Publications (2)

Publication Number Publication Date
CN1491388A true CN1491388A (zh) 2004-04-21
CN1320465C CN1320465C (zh) 2007-06-06

Family

ID=7672999

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028046161A Expired - Fee Related CN1320465C (zh) 2001-02-06 2002-01-25 数据载体的微处理器电路及组织存取内存数据的方法

Country Status (13)

Country Link
US (1) US7260690B2 (zh)
EP (1) EP1358558B1 (zh)
JP (1) JP3878134B2 (zh)
KR (1) KR100574747B1 (zh)
CN (1) CN1320465C (zh)
AT (1) ATE505763T1 (zh)
BR (1) BR0206992A (zh)
DE (2) DE10105284A1 (zh)
MX (1) MXPA03007023A (zh)
RU (1) RU2266559C2 (zh)
TW (1) TWI259365B (zh)
UA (1) UA74238C2 (zh)
WO (1) WO2002063463A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475319A (zh) * 2015-08-10 2018-08-31 数据输入输出公司 装置出生凭证

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2843465B1 (fr) * 2002-08-06 2005-07-01 Checkflow Procede de communication entre applications destine a securiser l'acces aux donnees d'une application
JP2005275629A (ja) * 2004-03-23 2005-10-06 Nec Corp マルチプロセッサシステム、及び、メモリアクセス方法
WO2006052703A2 (en) * 2004-11-04 2006-05-18 Board Of Trustees Of Michigan State University Secure bit
US20060136679A1 (en) * 2004-12-21 2006-06-22 O'connor Dennis M Protected processing apparatus, systems, and methods
JP2007052481A (ja) * 2005-08-15 2007-03-01 Matsushita Electric Ind Co Ltd Icカード用lsi
JP4519738B2 (ja) * 2005-08-26 2010-08-04 株式会社東芝 メモリアクセス制御装置
US7882318B2 (en) * 2006-09-29 2011-02-01 Intel Corporation Tamper protection of software agents operating in a vitual technology environment methods and apparatuses
US7802050B2 (en) * 2006-09-29 2010-09-21 Intel Corporation Monitoring a target agent execution pattern on a VT-enabled system
US8739304B2 (en) * 2006-11-10 2014-05-27 Sony Computer Entertainment Inc. Providing content using hybrid media distribution scheme with enhanced security
US8752199B2 (en) * 2006-11-10 2014-06-10 Sony Computer Entertainment Inc. Hybrid media distribution with enhanced security
US20100325077A1 (en) * 2007-02-21 2010-12-23 Naoshi Higuchi Computer, operation rule application method and operating system
JP4939387B2 (ja) 2007-12-06 2012-05-23 ルネサスエレクトロニクス株式会社 データ処理装置及びアドレス空間保護方法
DE102008029231B4 (de) * 2008-06-19 2010-12-02 Lars Gollub Prozessor mit Ansprungbefehlen zur Überwachung des Kontrollflusses
US20110225654A1 (en) * 2008-08-25 2011-09-15 Mao-Huai Weng Write-Proof Protection Method of a Storage Device
US8682639B2 (en) * 2010-09-21 2014-03-25 Texas Instruments Incorporated Dedicated memory window for emulation address
DE102013218646B4 (de) 2012-09-18 2023-01-19 Denso Corporation Verarbeitungsvorrichtung
JP2014174758A (ja) * 2013-03-08 2014-09-22 Denso Corp 処理装置
JP6323235B2 (ja) * 2014-07-29 2018-05-16 株式会社デンソー 電子制御装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3072127D1 (en) 1980-02-28 1988-12-08 Intel Corp Data processing system
JPS5963097A (ja) 1982-09-30 1984-04-10 Panafacom Ltd アドレス比較によるメモリ・プロテクシヨン方式
SU1156078A1 (ru) 1983-01-03 1985-05-15 Московский Ордена Ленина И Ордена Октябрьской Революции Энергетический Институт Устройство дл обмена информацией между объектом контрол и электронной вычислительной машиной
JPS6137540A (ja) 1984-07-30 1986-02-22 Kubota Ltd 走行用伝動装置
DE4115152C2 (de) * 1991-05-08 2003-04-24 Gao Ges Automation Org Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung
US5627987A (en) * 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
JPH07302226A (ja) 1994-05-02 1995-11-14 Nec Corp メモリ不正アクセス検出回路
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
JP3740195B2 (ja) * 1994-09-09 2006-02-01 株式会社ルネサステクノロジ データ処理装置
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
JPH08272625A (ja) 1995-03-29 1996-10-18 Toshiba Corp マルチプログラム実行制御装置及び方法
JPH09160831A (ja) 1995-12-08 1997-06-20 Hitachi Ltd 情報処理装置
JP3638714B2 (ja) 1996-05-23 2005-04-13 三菱電機株式会社 記憶データ保護装置
RU2126168C1 (ru) 1997-04-02 1999-02-10 Товарищество с ограниченной ответственностью "Коминфор" ("COMINFOR") Способ защиты персонального компьютера от несанкционированного доступа и устройство для его реализации
JP2001005726A (ja) * 1999-04-20 2001-01-12 Nec Corp メモリアドレス空間拡張装置及びプログラムを記憶した記憶媒体
DE19925195A1 (de) * 1999-06-01 2000-12-07 Giesecke & Devrient Gmbh Verfahren für die sichere Verwaltung eines Speichers
DE19937529A1 (de) * 1999-08-09 2001-03-01 Giesecke & Devrient Gmbh Tragbarer Datenträger und Verfahren zur Nutzung in einer Mehrzahl von Anwendungen
US6795905B1 (en) * 2000-03-31 2004-09-21 Intel Corporation Controlling accesses to isolated memory using a memory controller for isolated execution
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US6823433B1 (en) * 2001-11-13 2004-11-23 Advanced Micro Devices, Inc. Memory management system and method for providing physical address based memory access security
US6854039B1 (en) * 2001-12-05 2005-02-08 Advanced Micro Devices, Inc. Memory management system and method providing increased memory access security

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475319A (zh) * 2015-08-10 2018-08-31 数据输入输出公司 装置出生凭证
CN108475319B (zh) * 2015-08-10 2022-04-19 数据输入输出公司 装置出生凭证

Also Published As

Publication number Publication date
DE10105284A1 (de) 2002-08-29
WO2002063463A2 (de) 2002-08-15
US20040088509A1 (en) 2004-05-06
MXPA03007023A (es) 2004-12-06
RU2266559C2 (ru) 2005-12-20
JP3878134B2 (ja) 2007-02-07
US7260690B2 (en) 2007-08-21
EP1358558A2 (de) 2003-11-05
CN1320465C (zh) 2007-06-06
KR100574747B1 (ko) 2006-04-28
WO2002063463A3 (de) 2003-02-06
DE50215002D1 (de) 2011-05-26
ATE505763T1 (de) 2011-04-15
TWI259365B (en) 2006-08-01
BR0206992A (pt) 2004-02-10
EP1358558B1 (de) 2011-04-13
KR20030084921A (ko) 2003-11-01
RU2003127063A (ru) 2005-01-10
JP2004526237A (ja) 2004-08-26
UA74238C2 (uk) 2005-11-15

Similar Documents

Publication Publication Date Title
CN1491388A (zh) 资料载体之微处理器电路及组织存取储存于内存资料之方法
CN100428165C (zh) 用于控制子上下文之间的存储器访问的装置、系统和方法
CN104412242B (zh) 内存保护
CN1087085C (zh) 使用便携式芯片卡的方法
CN1248110C (zh) 监控软件程序按规定执行的方法
EP1150300B1 (en) Semiconductor storage device, control device, and electronic apparatus
US9223996B2 (en) Protection of memory areas
CN100338589C (zh) 对存储器逻辑分区访问权限进行控制的方法和ic卡
CN1254424A (zh) 存储器访问保护
CN104246727B (zh) 数据处理系统以及用于操作数据处理系统的方法
KR960701415A (ko) 프로그램으로 제어되는 시큐리티 액세스 콘트롤을 가진 보안성 메모리 카드
CN105980993A (zh) 用于辨识对应目标内存地址的内存属性单元的区域的区域辨识操作
US20020089890A1 (en) Memory device and method for accessing a memory
CN1265762A (zh) 带有微控制器和安全性部件的智能卡读卡器
US6572024B1 (en) Memory array with address scrambling
US20060206704A1 (en) Data transmission system and method for operating a data transmission system
JPH0440587A (ja) 携帯可能電子装置
US7363293B2 (en) Access control method and device in an embedded system
US6925569B2 (en) Secured microprocessor comprising a system for allocating rights to libraries
US20010025347A1 (en) Method for protecting a microcomputer system against manipulation of data stored in a storage arrangement of the microcomputer system
CN110268392A (zh) 安全架构和方法
US6487649B1 (en) Microcomputer
CN112947861A (zh) 存储设备的数据读取方法及电子设备系统
CN1289968A (zh) 控制内存记忆页存取属性的方法及其架构
JP2007513421A (ja) フラッシュメモリ内でのアクセスを制御するための方法、およびこのような方法の実施のためのシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070606

Termination date: 20190125