CN1100299C - 面向对象系统中对被保护对象进行访问控制的系统和方法 - Google Patents

面向对象系统中对被保护对象进行访问控制的系统和方法 Download PDF

Info

Publication number
CN1100299C
CN1100299C CN96117989A CN96117989A CN1100299C CN 1100299 C CN1100299 C CN 1100299C CN 96117989 A CN96117989 A CN 96117989A CN 96117989 A CN96117989 A CN 96117989A CN 1100299 C CN1100299 C CN 1100299C
Authority
CN
China
Prior art keywords
metaclass
visit
control
class
value
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.)
Expired - Fee Related
Application number
CN96117989A
Other languages
English (en)
Other versions
CN1157962A (zh
Inventor
M·贝南塔尔
G·R·布勒克利三世
G·P·科普任德
A·J·纳达林
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1157962A publication Critical patent/CN1157962A/zh
Application granted granted Critical
Publication of CN1100299C publication Critical patent/CN1100299C/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution
    • 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/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

一种用来控制在采用面向对象技术的信息处理系统中的对象访问的系统、方法和产品,包括一个或多个处理器,一个存储器系统,一个或多个I/O控制器,每个控制器控制一个或多个I/O设备,一条连接处理器,存储器系统和I/O设备的总线。一个控制处理器,存储器系统和I/O控制器工作的操作系统,和一个具有控制对象的访问的控制元件的前后元类的面向对象控制装置。安全元类被定义为是一个前后元类的子类。

Description

面向对象系统中对被保护对象进行访问 控制的系统和方法
发明领域
本发明涉及信息处理系统,和方法,更具体地说,涉及用在面向对象系统中通过访问控制来保护对象的信息处理系统和方法。
背景技术
人们需要保护在面向对象系统中的对象访问。
传统上,资源管理器代表能进行访问合法性检查的控制点。当要求访问在数据处理系统中的资源时,其资源管理器实施控制,并且,如果基础资源受保护的话,则触发访问检查过程,此后,请求的访问要么被批准要么被停止处理。例如。当文件打开时,由于用户方法的打印指示,文件系统调用一个合法性检查例行方法来验证该用户是否有写入该相应文件的权利。
在面向对象系统中,对资源为对象示例的情形,传统概念的资源管理器并不对每个企图对被保护对象调用方法或发送一个消息进行控制。
由于它涉及面向对象系统中的某一个类,所以正在寻求以一种对被保护的对象上的方法调用自动触发访问检查的途径,而任何解决方案都应该对客户的篡改是安全的,这就是说,客户不能随意行施或不行施合法性检查。
在现有技术中,有许多用来改进面向对象的编程系统的技术。
下面是现有技术的例子。
美国专利4,525,780教导了一种具有一个存储器组积成对象的数据处理系统,该系统使用一种保护技术来防止用户非法访问对象对象是通过用来识别用户,识别执行一个用户方法的过程和识别将由用户方法执行的系统操作类型的隶属号进行的。维护一个访问控制清单以根据隶属识别符控制对对象的访问。
虽然该专利总地涉及用来保护在面向对象方法中的对象的访问,但是该专利并没有象本发明那样教导,暗示和要求保护在一个面向对象系统中使用一种元类来控制对对象的访问的技术。
美国专利5,136,712教导了一种用来用于一个多任备计算机系统的基于对象的操作系统,该计算机系统包括用来使一个对象专用于一过程的装置。对一个私有对象的访问是由一个访问控制清单控制的。
虽然该专利总地涉及用来保护在面向对象方法中的对象的访问,但是不象本发明教导并要求保护的那样,该专利并没有教导也没有暗示在面向对象系统中使用一种元类来控制对象的访问。
美国专利5,265,221,教导了一种使用动词,参数,属性和函数的系统来批准,取消和否定对对象的合法访问控制机制。
虽然该发明总地涉及用来保护在面向对象方法中的对象的访问的方法,但是不象本发明教导并要求保护的那样,该专利并没有教导也没有暗示在面向对象系统中使用元类。
美国专利5,297,283和5,321,841类似地教导了如上述美国专利5,136,712中所介绍的系统。
虽然该专利总地涉及用于保护在面向对象系统中的对象的访问,但是该专利并没有教导或暗示如本发明所教导和要求保护的在面向对象系统中使用元类来控制对象的访问。
美国专利5,093,914总地教导了一个数字计算机使用的方法,该方法用于控制面向对象方法的执行以实行一个规定的动作,例如当执行该方法期间对一个特定对象调用一个特定的虚拟功能时停止该方法。
虽然该专利总地涉及用来保护在面向对象方法中的访问,但是该专利并没有如本发明所教导和要求保护的那样,教导或暗示在面向对象系统中使用一种元类来控制访问。
美国专利5,343,554教导了一种计算机系统,它的解决方法是采用一种包括生成一个第一和第二类对象的处理,其中第二类对象是外部可调用的,而且外部可调用的子类对象包括一个内部可调用的子类对象的说明,而一个外部调用行的子对象调用该内部可实行的子对象并根据该结果产生一个第一类的新对象。
虽然该发明总地涉及用来保护在面向对象方法中的对象的访问,但是并无人象本发明所教导并要求给予保护的那样,教导或暗在地面向对象系统中使用一个元类。
在面向对象编程系统中的总目的是开发可易于再使用的方法对象。
源码的二进制编码的重要性随着再使用的程度而增加。面向对象技术的主要目的是码的再使用。为使面向对象技术达到大规模的成功,二进制码再使用是关键。因为当前的技术是朝向由可以被定制和互相接插的对象格式建立的应用方法,所以二进制编码是关键。
对象管理组织正在制定一套用于称之为通用对象服务的对象系统服务的接口。
发明方案概述
本发明的目的是通过控制对对象的访问来保护在面向对象系统中的对象。
于是,用来控制采用面向对象技术的系统中的信息外理系统中的对象的访问的系统,方法和产品,包括一个或多个处理器,一个存储系统,一个或多个I/O控制器,每个控制一个或多个I/O设备,一条连接处理器,存储器系统和I/O控制器的总线,一个控制处理器,存储器系统和I/O控制器的操作的操作系统,以及一个包括具有一个用于控制对象访问的前后无类(Before After metaclass)的面向对象控制装置。安全元类定义为一个前后元类的了类。该安全元类在方法调度前越过前元位执行认可检查。
本发明的优点是通过生成一个在方法调度前执行认可检查的安全元类来获得对象安全性。
附图简述
图1是用来执行本发明的方法的方框图。
图2是支持本发明的操作系统平台和系统对象模型方法的方框图。
图3是本发明的最佳实施例的对象图。
具体实施方案详述
现参阅图1和2描述本发明的信息处理系统10和操作系统环境。
信息处理系统10可以是一个图形工作站之类,它有高功能的处理器12,一个存储系统14,一条系统总线16,控制显示设备20的显示子系统,一个光标控制设备22,和一个I/O控制器24,用一条系统总线相连。图1所示的信息处理系统10可用市场上的诸如OS/2*(OS/2是一个IBM的注册商标)这种众所周知的多任务操作系统来操作。在OS/2控制的许多任务中,一个操作系统处理系统10执行一个SOMobjects(SOM对象)方法,该方法是商业上可提供的IBM的产品。
本发明的方法和产品,可结合到SOMobject方法,如本发明那样,SOM操纵系统对家模型。
任何面向对象系统的重要方面是要使对象安全,因而必需实施对象/方法粒度(object/method granularity)访问控制这涉及在方法前检验访问的控制。
本发明可以在分布式SOM(DSOM)(across address space ORB(交叉地址空间ORB))和安全性SOM(SSMO)中实施。
用户指定安全性的途径是当检索一个类对象(class object)时指定下列限制:
名称:    安全
值:      布尔值指示对象是否被访问控制检查保护
名称:    ACL
值:      如果安全=直,一个访问控制清单。
当粒度(granularity)是每一方法(method)时,则无论每一方法调用或当首先获得一个引用(reference)时,予以强制实施(能力处理法)。本发明对方法调用提供一个强制实施。
本发明给在发明背景所述的问题提供了一种新颖解决方案。
一个类(class)也是一个其类为一个元类(meaclass)的对象。一个类对象,于是是一个其元类的示例。它响应于其元所定义的方法。一个元类,如任何其他类一样,可以化为子类,其方法可被弃置。所有的元类最终可由根元类推导出来。
现参阅图3的对象图,来描述本发明的最佳实施例。一个运行时间元类是一个前后元类(BeforeaAfter metaclass)。当一个类从前后元类32生成时,对类C的对象的每个方法M的调用透明地执行两个方法。在该方法前执行一个方法,所述前方法,其他方法和后方法在下列方法M之后执行。前方法和后方法是由前后元类32定义的。在一个从前后元类的取得的元类32中,这两个方法可被越过,以执行一个特定的功能。
当被调用时,前方法(Before method)返回布尔值(1或0)。如果该值为真(TRUE)(1),那么正常处理发生,也就是说,执行主方法M,接着执行后方法。如果布尔值不为值(0),则执行主方法M和后方法(After method)。于是,前后元类32对被保护的对象36,38的方法执行的控制是关键。
扫安全元类34(M-secue)定义为一个前后元类32的子类。在安全元类中,在前方法从元类32中被调度之前,元类32的前方法被越过执行合法性检查。被保护的类36,38是一个其元类为安全元类334的类。安全元类越过前方法招待如下功能:
前后方法(M.Secure self,
           Environment    *ev
           object         object,
           ID             PrimaryMethod
           Va--list       ap)
  {
检索调用主题特权或能力;检索对象的方法性属性和程序身份(MethodId);
返回9访问_被允许)(…,主题_安全性_属性,
                      主方法_安全性_属性,
                      对象_安全性_属性
由前方法返回的布尔值响应于在DSOM的运行_时间安全性部件的访问_被允许中所作的访问决定。于是,主方法只在当访问检查方法允许时才执行。
注意,客户应用时不能篡改本发明的方法,因为访问决调节该方法时在服务方执行的。
应该认识到,虽然本发明已经为了说明的目的描述了一个特定的实施例,在不脱离本发明的精神或范围内还可作出各种修改。
于是,本发明的范围只受其权利要求书的限制。

Claims (7)

1.一种在采用了面向对象技术的信息处理系统中对于对象进行访问控制的方法,包括如下步骤:
定义一个安全元类;
调用一个作为安全元类的元类的第一类;和
根据在调用第一类时返回的值控制对一个或多个被保护的类的访问,而所述被保护类是安全元类的子类。
2.根据权利要求1所述的方法,其中控制访问的步骤包括:
越过由调用步骤调用的任何方法的调度;和
在方法被调度前对在保护类中的对象的访问检查合法性。
3.根据权利要求2所述的方法,其中控制访问的步骤包括如下步骤:
如果检查合法性的步骤向一个被保护的类指明为合法访问,则调度一个被调用的方法,否则不调度该方法。
4.根据权利要求1所述的方法,其中调用步骤还包括如下步骤:
在安全元类上调用一个以前的方法;测试由该以前方法返回的值;
如果返回值是真值,以正常步骤处理;
如果该返回值不是真值,使进一步处理不进行。
5.一种采用面向对象技术对于对象进行访问控制的信息处理系统,包括:
一个或多个处理器;
一个存储器系统;
一个或多个I/O控制器,每个控制一个或多个I/O设备;
一条连接处理器,存储器系统和I/O控制器的总线;
一个控制处理器,存储器系统和I/O控制器的操作的操作系统;
该信息处理系统的特征在于,还包括一个建立在以上系统平台上、用于进行对象访问控制的面向对象的控制装置,该装置包括:
用来定义一个安全元类的装置;
用来调用作为安全元类的元类的第一类的装置,和
用来根据调用第一类时返回的值来控制对一个或多个要求保护的类的访问的装置。
6.根据权利要求5所述的信息处理系统,其中所述面向对象控制装置还包括:
用来越过由调用步骤调用的任何方法的调度的装置;和
在方法被调度前检查在被保护的类中对象的访问的合法性的装置。
7.根据权利要求5的信息处理系统,其中所述面向对象的控制装置还包括:
用来如果检查合法性的装置指明对被保护的类的访问是合理的话则调度一个被调用的方法的装置。
CN96117989A 1995-12-29 1996-12-23 面向对象系统中对被保护对象进行访问控制的系统和方法 Expired - Fee Related CN1100299C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US580108 1984-02-14
US58010895A 1995-12-29 1995-12-29
US580,108 1995-12-29

Publications (2)

Publication Number Publication Date
CN1157962A CN1157962A (zh) 1997-08-27
CN1100299C true CN1100299C (zh) 2003-01-29

Family

ID=24319747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN96117989A Expired - Fee Related CN1100299C (zh) 1995-12-29 1996-12-23 面向对象系统中对被保护对象进行访问控制的系统和方法

Country Status (4)

Country Link
JP (1) JPH09212366A (zh)
CN (1) CN1100299C (zh)
GB (1) GB2308688B (zh)
MY (1) MY121581A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004528A (zh) * 2010-11-10 2011-04-06 吴晓栋 一种新一代计算机系统的设计思想及其实现方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6047377A (en) * 1997-12-11 2000-04-04 Sun Microsystems, Inc. Typed, parameterized, and extensible access control permissions
US6125447A (en) * 1997-12-11 2000-09-26 Sun Microsystems, Inc. Protection domains to provide security in a computer system
US6192476B1 (en) 1997-12-11 2001-02-20 Sun Microsystems, Inc. Controlling access to a resource
US6044467A (en) * 1997-12-11 2000-03-28 Sun Microsystems, Inc. Secure class resolution, loading and definition
JP2000172653A (ja) * 1998-12-03 2000-06-23 Oki Electric Ind Co Ltd 分散システム
US7114177B2 (en) 2001-03-28 2006-09-26 Geotrust, Inc. Web site identity assurance
US7003661B2 (en) 2001-10-12 2006-02-21 Geotrust, Inc. Methods and systems for automated authentication, processing and issuance of digital certificates
EP1589419A1 (en) * 2004-04-19 2005-10-26 Sun Microsystems, Inc. System and method for controlling the use of a method in an object-oriented computer environment
US7694135B2 (en) 2004-07-16 2010-04-06 Geotrust, Inc. Security systems and services to provide identity and uniform resource identifier verification

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004528A (zh) * 2010-11-10 2011-04-06 吴晓栋 一种新一代计算机系统的设计思想及其实现方法

Also Published As

Publication number Publication date
GB2308688B (en) 1999-11-10
GB9624244D0 (en) 1997-01-08
CN1157962A (zh) 1997-08-27
GB2308688A (en) 1997-07-02
MY121581A (en) 2006-02-28
JPH09212366A (ja) 1997-08-15

Similar Documents

Publication Publication Date Title
US5321841A (en) System for determining the rights of object access for a server process by combining them with the rights of the client process
US5129083A (en) Conditional object creating system having different object pointers for accessing a set of data structure objects
US5136712A (en) Temporary object handling system and method in an object based computer operating system
US5297283A (en) Object transferring system and method in an object based computer operating system
CN1096642C (zh) 高效利用空间的对象加锁的系统和方法
US5129084A (en) Object container transfer system and method in an object based computer operating system
US5057996A (en) Waitable object creation system and method in an object based computer operating system
US5787427A (en) Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies
CN1292117A (zh) 基于事件的分布式系统中传送行为的方法和装置
EP1626338B1 (en) System and method for providing exceptional flow control in protected code through watchpoints
CN1100299C (zh) 面向对象系统中对被保护对象进行访问控制的系统和方法
JP4571644B2 (ja) デバイスの動作モード間の移行を提供するシステム
Khalidi et al. The Spring virtual memory system
Dennis et al. Programming semantics for multiprogrammed computations
Cranor et al. The UVM virtual memory system
CN1285038C (zh) 控制装置对内存的访问以提供增强的内存访问安全的系统与方法
JPH09212365A (ja) 分散コンピューティング環境でのオブジェクト・セキュリティ・サービス認可の統合を含む情報取り扱いシステム、方法および製品
CN1628284A (zh) 安全执行模式异常
US6532487B1 (en) Method and system for managing semaphores in an object-oriented multi-tasking computer system
US20070283113A1 (en) Safe Buffer
Van Doorn A secure Java virtual machine
CN113568681B (zh) 代码执行方法及装置
CN1746863A (zh) 一种基于绝对座标体系的操作系统客体重用测试方法
CN1154518A (zh) 面向对象的系统中向二进制类增加对象服务的系统和方法
CN1256678C (zh) 计算机信息的保护方法和装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1040028

Country of ref document: HK

C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee