EP0969366A1

Controlling access to services between modular applications

Abstract

The present invention provides a method and an apparatus for providing a first computer program module (122) with the ability to access a service from a second computer program module (112). The method includes receiving the first computer program module (12) for example, at a third party computer system (140), and determining whether the first computer program module has been digitally signed by an authority (204) having power to confer access for the service. If so, the method provides the first computer program module (122) with access to the service. A variation on this embodiment includes verifying that the first computer program module (122) includes a chain of certificates establishing a chain of authorisation for the service. This verification process includes verifying that a first certificate in the chain is signed by an entity (400) that is originally authorised to confer access for the service, and verifying that subsequent certificates in the chain are signed by entities (430,450) that have been delegated authorisation to confer access for the service. In a further variation on the above embodiment, the act of providing the first computer program module with access to the service, includes providing the first computer program module (122) with a permit that allows the first computer program module (122) to perform a restricted set of operations on the service.

EP0969366A1, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Projected expiry passed 26 June 2019, 7.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

24 claims: 17 independent, 7 dependent

  1. 1
    A method for providing a first computer program module ( 122 ) with an ability to access a service from a second computer program module ( 112 ), comprising:receiving the first computer program module ( 122 );determining whether the first computer program module ( 122 ) has been digitally signed by an authority ( 204 ) having power to confer access for the service from the second computer program module ( 112 );if the first computer program module ( 122 ) has been digitally signed by the authority ( 204 ) having power to confer access ( 212, 520 ) for the service, providing the first computer program module ( 122 ) with access to the service;and allowing the first computer program module ( 122 ) and the second computer program module ( 112 ) to run in the same address space on the same computing node, so that the first computer program module ( 122 ) can access the service from the second computer program module ( 112 ).
  2. 4
    The method of any one of claims 1 to 3, wherein the act of providing the first computer program module ( 122 ) access to the service, includes providing ( 212 ) the first computer program module with a permit that allows the first computer program module ( 122 ) to perform a restricted set of services.
  3. 5
    The method of any one of claims 1 to 4, wherein the service is accessed through an object defined within an object oriented programming system.
  4. 6
    The method of any one of claims 1 to 5, wherein the first computer program module ( 122 ) includes a Java Archive file.
  5. 7
    The method of any one of claims 1 to 6, wherein the first computer program module ( 122 ) includes computer code ( 320 ) and at least one digital certificate ( 312, 314,316 ).
  6. 8
    The method of any one of claims 1 to 7, wherein providing the first computer program module ( 122 ) with access to the service allows the first computer program module ( 122 ) to interact with the second computer program module ( 112 ).
  7. 11
    The method of any one of claims 1 to 10, wherein the service includes a plurality of services.
  8. 12
    An apparatus that provides a first computer program module ( 122 ) with an ability to access a service from a second computer program module ( 112 ), comprising:a computer node ( 140 );a receiving means, within the computer node, that receives the first computer program module ( 122 );a verification means ( 204 ), within the computer node, that verifies that the first computer program module ( 122 ) has been digitally signed by an authority having power to confer access ( 212 ) for the service;an access means ( 202 ), within the computer node, that provides the first computer program module ( 122 ) with access to the service if the first computer program module has been digitally signed by the authority having power to confer access for the service;and an execution means, within the computer node ( 140 ), that allows the first computer program module ( 122 ) and the second computer program module ( 112 ) to run in the same address space on the same computing node, so that the first computer program module ( 122 ) can access the service from the second computer program module ( 112 ).
  9. 14
    The apparatus of claims 12 or 13, wherein the verification means is configured to verify that the first computer program module ( 122 ) includes a chain of certificates ( 310 ) establishing authorisation for the service, a first certificate ( 312 ) in the chain ( 310 ) being signed by an entity that is originally authorised to confer access for the service, and subsequent certificates ( 314-316 ) in the chain ( 310 ) being signed by entities that have been delegated authorisation to confer access for the service.
  10. 15
    The apparatus of any one of claims 12 to 14, wherein the access means ( 202 ) is configured to provide the first computer program module ( 122 ) with a permit that allows the first computer program module ( 122 ) to perform a restricted set of services.
  11. 16
    The apparatus of any one of claims 12 to 15, wherein the service is accessed through an object defined within an object oriented programming system.
  12. 17
    The apparatus of any one of claims 12 to 16, wherein the first computer program module ( 122 ) includes a Java Archive file.
  13. 18
    The apparatus of any one of claims 12 to 17, wherein the first computer program module ( 122;432;434;436;452 ) includes computer code and at least one digital certificate ( 404;408;412;416;424 ).
  14. 19
    The apparatus of any one of claims 12 to 18, wherein the receiving means is configured to transfer the first computer program module ( 122 ) from a first server ( 120 ), and to transfer the second computer program module ( 112 ) from a second server ( 110 ).
  15. 21
    The apparatus of claims 19 or 20, wherein the service includes a plurality of services.
  16. 22
    A computer readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for providing a first computer program module ( 122 ) with an ability to access a service from a second computer program module ( 112 ), comprising;receiving the first computer program module ( 122 );determining whether the first computer program module ( 122 ) has been digitally signed by an authority ( 400 ) having power to confer access for the service from the second computer program module ( 112 );if the first computer program module ( 122 ) has been digitally signed by the authority ( 400 ) having power to confer access ( 212, 520 ) for service, providing the first computer program module with access to the service;and allowing the first computer program module ( 122 ) and the second computer program module ( 112 ) to run in the same address space on the same computing node ( 140 ), so that the first computer program module ( 122 ) can access the service from the second computer program module ( 112 ).
  17. 23
    A computer program module or Java applet ( 122 ) which is able to access a service from a second computer program module, comprising;a computer code section ( 320 ), including computer code for execution on a computr node to carry out functions of the first computer program module;and a digital signature section ( 310 ), including a chain of certificates establishing authorization for the service, a first certificate ( 312 ) in the chain being signed by an entity that is originally authorized to confer access for the service, and subsequent certificates ( 314,316 ) in the chain being signed by entities that have been delegated authorization to confer access for the service, the digital signature section allowing the computer node to determine whether the computer program module has been granted authority to access the service.