Distributed data processing system.
Abstract
A security mechanism is described for a distributed data processing system. Each server in the system maintains a set of security ratings giving its view of the security levels within the system. When a first server wishes to initiate a connection with a second server, the two servers exchange security information, by means of messages, so as to establish an overall security level for the connection, based on a combination of the security information maintained by both servers. However, if the first server decides that the second server cannot be trusted to discuss security, messages are exchanged containing no security information, and each server establishes its own security level for the connection, based on its own locally held security information.

Term
Term ended
Projected expiry passed 6 June 2010, 16.3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
5 claims: 1 independent, 4 dependent
- 1A distributed data processing system comprising a plurality of servers wherein each server separately maintains security information relating to security levels in the system, and wherein, in operation, when a first server initiates a connection with a second server, these two servers exchange security information to establish an overall security level for the connection based on a combination of the security information maintained by both servers.
- 2A system according to Claim 1 wherein, in operation, if the security information maintained by the first server indicates that the second server cannot be trusted to receive security information, the servers exchange messages containing no security information and each server establishes its own security level for the connection based on its own locally held security information.
Independent claims2
42 paragraphs, as filed
Background to the invention
0001This invention relates to distributed data processing systems. More specifically, the invention is concerned with a data processing system comprising a number of servers connected together by one or more interconnection routes. By a "server" is meant a unit that provides some service to the system; for example, a computer unit which provides a data processing service or an electronic mail service. The interconnection routes may, for example, comprise a local area network (LAN) or a telephone link.
0002The invention is particularly concerned with federated computer systems. A federated system is a distributed data processing system in which there is no central controller or data store. Each server is capable of operating autonomously, and there is no master unit for directing the operation of the system.
0003In such a system, servers can exchange information by setting up connections between them, by way of the interconnection routes. Each such connection between two servers is asymmetric, in that the server at one end starts the connection process. This server is referred to herein as the initiator, while the server at the other end is referred to as the responder.
0004In a federated system, one important consideration is that of security, i.e. of ensuring that only those with permission to access servers do so. In particular, when a connection is requested, some check has to be made concerning the validity of that connection. Thus, a check must be made as to whether the responder is sufficiently secure to meet the needs of the initiator, whether there is a suitable route between the two servers that will preserve the security of their conversations, and whether the responder is prepared to be used by the initiator.
0005This problem of providing security is made more difficult by the completely distributed nature of the system, and by the fact that there is no single central authority to control the security of the system.
0006The object of the present invention is to provide a novel way of overcoming the problem of providing security in a federated system.
Summary of the invention
0007According to the invention there is provided a distributed data processing system comprising a plurality of servers wherein each server separately maintains security information relating to security levels in the system, and wherein, in operation, when a first server initiates a connection with a second server, these two servers exchange security information to establish an overall security level for the connection based on a combination of the security information maintained by both servers.
Brief description of the drawings
0008<ul id="ul0001" list-style="none"><li>Figure 1 is a block diagram of a distributed data processing system.</li><li>Figure 2 is a flow chart showing the operations performed by an initiator in setting up a proposed connection.</li><li>Figure 3 is a flow chart showing the operations performed by a responder in setting up a proposed connection.</li></ul>
Description of an embodiment of the invention
0009One distributed data processing system in accordance with the invention will now be described by way of example with reference to the accompanying drawings.
Overall view of the system
0010Referring to Figure 1, the distributed data processing system comprises a plurality of servers 10, 11, 12 interconnected by routes 13, 14.
0011For example, the servers may comprise free-standing computers, each of which is capable of independent operation, as well as contributing a service to the system as a whole. The interconnection routes may comprise local area networks (LANs) or telephone links.
0012The system is organised as a federated system; that is, there is no central controller or store for controlling the operation of the system as a whole. Instead, the responsibility for system control is shared among the individual servers.
0013Security in the system is described by means of security levels which can be assigned to servers and to routes between servers. Because of the federated nature of the system, there is no single repository of information about security levels in the system. Instead, each server maintains its own local view of the security levels in the system. This consists of a table containing a security rating for each server in the system, and for each interconnection route. It is important to note that the local views held in different servers may not be the same; for example, different servers may give a particular route different security ratings.
Security ratings
0014Each security rating comprises a set of security factors, where each factor in turn comprises a set of values. For example, a security rating for a particular server might be: (COLOUR = (RED, BLUE, YELLOW), DAY = (MONDAY))
0015This consists of two factors COLOUR and DAY, where the factor COLOUR consists of three values RED, BLUE and YELLOW, while the factor DAY consists of just a single value MONDAY.
0016In this example, this security rating indicates that the server is entitled to receive electronic documents with status codes RED, BLUE or YELLOW only, and only on Monday.
0017A security factor that contains just a single value (such as the factor DAY above) is referred to herein as an exact factor, since it indicates that a particular condition must be matched exactly. Conversely, a factor that consists of more than one value (such as the factor COLOUR in the above example) is referred to herein as an inexact factor, since it indicates that there is a degree of choice about this factor. Similarly, a security rating that contains only exact factors is referred to as an exact rating, while a rating that contains one or more inexact factors is referred to as an inexact rating.
Default ratings
0018The following rules are specified to cover default conditions, where some or all of the information in a security rating is omitted. <ul id="ul0002" list-style="none"><li>(i) If a security rating is omitted completely, it is assumed that this is equivalent to a rating comprising all possible factors with all possible values present.</li><li>(ii) If a factor is omitted from a security rating, it is assumed that this is equivalent to the factor being present with all possible values.</li><li>(iii) An empty factor (i.e. one with no values) is not allowed. However, it is possible to give a factor a special NULL value.</li></ul>
Binding security ratings
0019In operation of the system, different security ratings may be combined by a process referred to as binding. This consists of forming the logical intersection of the ratings, to produce a resultant rating consisting of values common to all these ratings. Where a particular factor is not present in one or more of the ratings, the above default rules apply.
0020For example consider the two ratings: (DAY = (SAT, SUN, MON), COLOUR = (RED, BLUE)) (DAY = (MON, TUE)) The result of binding these two ratings will be: (DAY = (MON), COLOUR = (RED, BLUE))
0021It should be noted that, in this example, the factor COLOUR is not present in the second of the ratings, and it is therefore assumed as a default condition, that this factor is present with all possible values.
Initiating a connection
0022Before any two servers can exchange information, a logical link, referred to herein as a connection, must first be set up between them. The server that initiates the connection is referred to as the initiator and the other server is referred to as the responder.
0023As mentioned above, the security level of a server or route is not known in an absolute manner by a single authority. Rather, the security level ascribed to a particular connection depends on an interaction between the initiator and responder, taking account of the locally held security ratings in each of them.
0024The following list indicates the various security ratings that may influence the security level of a particular proposed connection. <ul id="ul0003" list-style="none"><li>R1: the initiator's rating of itself.</li><li>R2: the initiator's rating of the responder.</li><li>R3: the initiator's rating of the route or routes available to connect to the responder.</li><li>R4: the responder's rating of itself.</li><li>R5: the responder's rating of the initiator.</li><li>R6: the responder's rating of the route chosen by the initiator.</li></ul>
Initiator
0025Referring now to Figure 2, this shows the operation of the initiator in setting up a connection. <ul id="ul0004" list-style="none"><li>(2-1) The initiator specifies a required security level (RSL) for the connection.</li><li>(2-2) The initiator then binds the level RSL with the ratings R1 and R2 to produce a resultant security rating LA2. If LA2 is empty (i.e. there are non intersecting ratings in RSL, R1 and R2) then the attempted connection has failed, since it is not possible to satisfy the security requirements of the initiator.</li><li>(2-3) The initiator now selects a route to the responder, and binds the security rating R3 of this chosen route with LA2 to produce a resultant security rating LA3. If it is not possible to find a route for which LA3 has non-empty ratings, the attempted connection fails.</li><li>(2-4) The next action taken depends on whether the rating R2 (i.e. the initiator's view of the security rating of the responder) is exact or inexact.</li><li>(2-5) If the rating R2 is exact (i.e. contains only exact factors as defined above), this means that the initiator does not trust the responder to discuss security. That is, the responder cannot be trusted to receive security information or to make decisions about security levels, and the initiator must take all responsibility for the security of the connection. In this case, therefore, the initiator sends a connection request message to the responder, containing no security information.</li><li>(2-6) If, on the other hand, R2 is inexact (i.e. contains at least one inexact factor), this means that the initiator considers that the responder is capable of discussing security levels. The initiator therefore transmits a connection request message to the responder, containing all the factors of LA3 that correspond to inexact factors of R2. These factors represent the initiator's view of what the responder has to know about the required security level. Factors in LA3 which correspond to exact factors in R2 are not transmitted, since the initiator believes that the responder is not capable of discussing these factors.</li></ul>
0026The net result is that the initiator sends only security information on which it believes the responder can be trusted to behave correctly. If it does not trust the responder at all, it sends no security information to it.
Responder
0027Referring now to Figure 3, this shows the action of the responder when it receives a connection request message. <ul id="ul0005" list-style="none"><li>(3-1) The action of the responder depends on whether any security information (LA3) is present in the connection request.</li><li>(3-2) If security information is present, the responder binds LA3 with R4, R5 and R6 to produce a resultant security level LA6. If LA6 has any empty ratings, the attempted connection has failed.</li><li>(3-3) If the attempted connection has not yet failed, it is now considered to have been successful. The responder returns a confirmation message to the initiator, informing it that the connection has been successfully completed, and informing it of the final security level LA6 for the connection for those ratings in LA3. The responder then adopts this level LA6 as its view of the overall security level SLA for this connection.</li><li>(3-4) If, on the other hand, there is no security information in the connection request, the responder binds the available local security ratings R4, R5 and R6 to produce the security level LA6, and adopts this as its view of the overall security level SLA of the connection. As before, the responder returns a confirmation message to the initiator, but in this case, the message contains no security information.</li></ul>
0028Referring again to Figure 2, the action of the initiator on receiving a confirmation message is as follows. <ul id="ul0006" list-style="none"><li>(2-7) The initiator checks whether the confirmation message contains a security level with a subset of LA6's ratings.</li><li>(2-8) If so, the initiator adopts this subset of LA6 and the other ratings of LA3 as its view of the overall security level SLA of the connection.</li><li>(2-9) Otherwise, the initiator uses LA3 as its view of the overall security level.</li></ul>
0029In summary, it can be seen that where the initiator does not believe the responder to be capable of discussing security, it does not transmit any security information to it. In this case, both the initiator and responder rely solely on their own local knowledge of the security levels in the system to decide whether or not the connection succeeds, and each produces its own view of the overall security level for the connection.
0030On the other hand, where the initiator believes that the responder is capable of discussing security, a dialogue takes place between them to establish an agreed overall security level, based on the local views of both the initiator and the responder.
0031It should be noted that, in the described system, it is not necessary for the initiator and the responder to have a common security vocabulary; that is, one may consider security factors that the other is completely unaware of. This avoids the need to synchronise the security vocabulary of the servers, and avoids the need for unnecessary exchanges of security information which could, in itself, compromise security.
3 sheets
Sheet 1 Sheet 2 Sheet 3
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8005757B2 | Cited by | United States of America | Applicant |
| US7607006B2 | Cited by | United States of America | Applicant |
| US9515957B2 | Cited by | United States of America | Search report |
| WO2006032647A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| WO9844404A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US5935248A | Cited by | United States of America | Search report |
| WO0152020A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| GB2306865B | Cited by | United Kingdom | Search report |
| US8744969B2 | Cited by | United States of America | Applicant |
| GB2492072A | Cited by | United Kingdom | Search report |
| US6167522A | Cited by | United States of America | Search report |
| GB2492072B | Cited by | United Kingdom | Search report |
| US7644266B2 | Cited by | United States of America | Applicant |
| WO2006032647A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US6167522A | Cited by | United States of America | Search report |
| GB2306865A | Cited by | United Kingdom | Search report |
| US7353209B1 | Cited by | United States of America | Applicant |
| US8392700B2 | Cited by | United States of America | Applicant |
10 members in 6 offices; this record represents the family
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 8916586 | United Kingdom | – | |
| 8916586 | United Kingdom | A | |
| GB19890016586 | – | – | – |
| 8916586 | – | – | – |
Members10
| Document | Office | Kind | |
|---|---|---|---|
| GB8916586D0 | United Kingdom | D0 | |
| EP0409397A2This record | European Patent Office (EPO) | A2 | |
| AU5914390A | Australia | A | |
| ZA904545B | South Africa | B | |
| US5012515A | United States of America | A | |
| EP0409397A3 | European Patent Office (EPO) | A3 | |
| AU629663B2 | Australia | B2 | |
| EP0409397B1 | European Patent Office (EPO) | B1 | |
| DE69028362D1 | Germany | D1 | |
| DE69028362T2 | Germany | T2 |
30 legal events, as 3 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Gb: european patent ceased through non-payment of renewal feeCeasedGBPC | GBPC | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Be: lapsedLapsedBERE | BERE | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| European patent in force as of 2002-01-01IF02 | IF02 | GB | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| It: translation for a ep patent filedITF | ITF | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Search report despatchedORIGINAL CODE: 0009013PUAL | PUAL | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0409397
- Publication, DOCDB
- 0409397
- Publication, EPODOC
- EP0409397
- Application
- 903061414
- Application, DOCDB
- 90306141
- Application, EPODOC
- EP19900306141
Titles6
- German
- Verteiltes Datenverarbeitungssystem
- English
- Distributed data processing system
- French
- Système de traitement de données distribuées
- German
- Verteiltes Datenverarbeitungssystem.
- English
- Distributed data processing system.
- French
- Système de traitement de données distribuées.
Classification
- CPC, 4
- G06F21/606
- G06F2211/009
- H04L63/105
- H04L63/205
- IPC, 1
- G06F21 60
Designated states5
- Contracting states, 5
- Belgium
- Germany
- France
- United Kingdom
- Italy