ARRANGEMENT AND METHOD RELATING TO INTERCONNECTION

Abstract: The present invention relates to an interconnecting arrangement and method for enabling a user of a third party controlled data communication system to access a number of subsystems. It comprises interconnecting serving means (RPS;4) bridging the third party controlled data communication system and the subsystems, such that the user of the third party controlled data communication network communicates with the interconnecting serving means (RPS;4). Said interconnecting serving means (RPS;4) communicates with said subsystems. Logon serving means (GLS;5) are provided handling logging in to a number of subsystems, e.g. subsystems and communicating with an interconnecting protected user directory server (GUD;6) keeping user information. Using said information a user is given/denied access to a number of subsystems. Corresponding to global or generic authentication system specific authentication is provided through the subsystems which reuse the objects used by the logon serving means (GLS;5).

Description: Title: ARRANGEMENT AND METHOD RELATING TO INTERCONNECTION FIELD OF THE INVENTION The present invention relates to an arrangement and a method for providing interconnection between a global communication system or a third party controlled data communication system) such as e.g. Internet and one or more subsystems (e.g. intranets and/or extranets or subsystems thereof) . STATE OF THE ART The society of today is strongly affected by a new paradigm often named "The Internet". Even if the Internet is only a part of the new paradigm, it describes computers using IP-technology (TCP/IP) communicating worldwide. When a large company brings the Internet inside its "territory" or its "firewalls" it is called an intranet (internal Internet) . The technology is exactly the same, but the computers inside the firewalls are protected from Internet which is open which sometimes can be seen as dangerous for many reasons, e.g. the security aspect, secrecy etc. US-A-5 805 803 shows a secure web tunnel wherein a client computer e.g. connected to Internet makes a request for an intranet resource to a tunnel of a firewall isolating the intranet from Internet. The request is made in a public message which by the tunnel is sent to the client computer for redirection to a proxy server of the tunnel in a public message. A token is received in the proxy server from the client computer as well as the request for the resource in a secure message over e.g. Internet. If the token is valid, the proxy server forwards the request to the intranet. The session however stops in the proxy server which in principle means that the user after logging in is given access or denied access. For every subsequent request, the proxy server checks if access has been given; if yes, the request is passed on. No profiling or user customization is allowed and moreover no distributed administration is possible. The functioning of such a system is schematically illustrated in Fig. 1. SUMMARY OF THE INVENTION The challenge today is to merge the "open and dangerous" Internet with "secret" intranets or in other words invite partners/users worldwide to take part of the e.g. company internal infrastructure and processes. This is called an extranet. This has to be done in a structured and secure way. It has to be made sure that e.g. the company appears as one global company (for a big company there may be many portals) , that extranet systems are built on a common platform and thus are compatible and that efforts are coordinated and made measurable. Last but not least, it has to take place in a secure way. What is needed is therefore an interconnecting arrangement or an arrangement which forms a common platform, particularly from an IS/IT perspective (Information Systems/Information Technology) point of view. A method of providing for interconnecting internal and external systems is also needed such as a third party controlled datacommunication system and subsystems or intranets/extranets . In the application is generally referred to subsystems. A subsystem is in the present application taken to mean an extranet or an intranet, but also subsystems to an extranet which in turn is a subsystem of a portal. The Internet, intranet and extranet are mentioned above. They share the same technology, the same infrastructure. For that reason they can be grouped and called infranet. What is described in this application is valid for infranet. The interconnecting platform as claimed herein is as useful on the intranet as anywhere else. But since it was developed explicitly for extranet, the application is focused thereon. It is however not limited thereto . An analogy can be used to describe the interconnecting arrangement of the present invention. When a partner (user) visits a company, he/she goes to the reception, introduces himself and informs the receptionist about who he has an appointment with. The receptionist calls that person to check/inform that there is a partner waiting. While the company employee goes to the reception to welcome and escort the partner, the receptionist prints a "Visitor Tag" for the partner to wear during the stay at the company. When the visit is over, the partner returns the tag and leaves the company. It is possible to standardise the way a company electronically welcomes, registers and escorts partners inside it. Since the communication is protected by encryption, this is done with a high level of security and integrity towards the "open and dangerous" Internet . An arrangement and a method are also needed which handle security in an appropriate manner. Still further an arrangement and a method are needed which provide for inter-communication while acting as a service shield. This can be compared to a "receptionist". Such is e.g. only expected to be arranged to provide for a good and appropriate service. An arrangement and a method are also needed which enable a general and flexible web-solution. Particularly there should be no requirements on the user. Therefore an interconnecting arrangement for enabling a user of a third party controlled data communication system to access a number of subsystems is provided. It comprises interconnecting serving means bridging the third party controlled data communication system and the subsystems, such that the user of the third party controlled data communication network communicates with the interconnecting serving means. Said interconnecting serving means communicates with said subsystems and logon serving means are provided which handle logging in to a number of subsystems using objects and communicating with an interconnecting protected user directory server keeping user information. Using said information a user is given/denied generic access to a number of subsystems. For subsystems specific authentication, the objects used by the logon serving means are reused by the specific subsystems. Particularly the third party controlled data communication network is a global datacommunication network. Even more particularly the global data communication network is Internet. Preferably only one username and password are needed for providing access for a user to a number of subsystems. Advantageously a web browser is used to enable access to a number of subsystems via the interconnecting arrangement. The logon serving means preferably comprises a web server and in that it holds logon objects and administration objects using an encapsulating code. In a most advantageous implementation the logon serving means comprises a web server which holds and uses distributed computing objects. The logon objects and administration objects or distributed computing objects may DCOM-objects by Microsoft™. Substantially any programming language can be wrapped with COM/DCOM providing a standardised interface. In another, preferred, embodiment Corba ~: ' : objects are used for distributed computing. The web server language is translated by said objects to the language of the user directory server. The only components/objects able to communicate with the user directory server are the objects of the logon server which for system specific authentication also are reused by the specific requested subsystem. The user directory server preferably comprises an object oriented database designed for a large number of users and their attributes. In a particular implementation the user directory server is able to handle four dimensions, e.g. user, role, subsystems and organisational unit. The invention is however not limited thereto; it may as well be more or less dimensions, or other dimensions. The user directory server uses the LDAP protocol. In a particular implementation the interconnecting server is a reverse proxy server. The interconnecting server comprise means for establishing whether a request from a user relating to a subsystem is allowable or not. If the interconnecting (e.g. reverse proxy server) finds an allowance indication, e.g. a cookie, the request is redirected to the requested subsystem, otherwise the user is redirected to the logon server for logon and in that the identity is examined in the user directory server to determine whether logon should be allowed. The subsystem(s) that is/are accessed reuse (s) the same objects, e.g. distributed computing objects, as the logon server and said subsystem is responsible for access permission and access criteria. A customized user profile can be provided under responsibility of the subsystem. Therefore also a method of connecting a user (system) of a third party controlled datacommunication system to a number of subsystems is provided. It comprises the steps of; providing a request relating to a number of subsystems to a serving means of an interconnecting arrangement; switching to encrypted communications in the serving means of the interconnecting arrangement; examining from the serving means if an allowance and identification indication is received; if yes, redirecting the request to the requested subsystems; if not, redirecting the user to the logon server of the interconnecting arrangement for logging on if allowable; examining the user identity and allowability in a user directory of the interconnecting arrangement; if the user is valid, redirecting the user request to the requested subsystem(s) - otherwise, rejecting the request, the requested subsystem reusing the objects used by the logon serving means to obtain additional information, e.g. a user profile, thus providing for system specific authentication. Particularly the third party controlled network is Internet and the request is a HTTP/HTTPS request from a web browser of the user. The allowance and identification means may comprise a cookie. Preferably the user directory server comprises an object oriented database. In a preferred embodiment the method comprises the step of: communicating with the user-directory server using distributed computing objects. The distributed computing objects may be COM/DCOM™ objects. Alternatively the distributed computing objects are Corba™ objects. BRIEF DESCRIPTION OF THE DRAWINGS The invention will in the following be further described in a non- limiting way and with reference to the accompanying drawings in which: FIG 1 schematically illustrates a prior art system, FIG 2 is a schematical overview showing the interconnecting arrangement, FIG 3 is an illustration of the system according to the invention, FIG 4 is a schematical illustration of the system architecture of the interconnecting arrangement, and FIG 5 is a more detailed illustration of the system architecture. DETAILED DESCRIPTION OF THE INVENTION Referring to Fig. 2 the above mentioned analogy is used for descriptive purposes. In Fig. 2 the partner (user) visits the company via Internet 1 through a web browser. The interconnecting arrangement 3 GLUE (Generic Logon User Environment) , the glue between the Internet and intranet (2) can be said to represent the reception and the various subsystems SS1-SS3 (e.g. extranets) behind GLUE 3 are the company employees. By leading a visiting partner through the GLUE 3 portal, an entrance is created that is easy to find and use. With one username and password the partner gets access to all extranet systems according to his personal profile - the interconnecting arrangement 3 (GLUE) handles the partners on an individual basis. In addition, the portal makes the company look like the one global company that it is or may be. Through the interconnecting arrangement 3 of the present invention authentication is actually handled in two steps, namely a first, generic, step which can be seen as a global authentication, and a second, system or subsystem specific step. In the first step the interconnecting arrangement establishes that the user exists in tne database, GUD 6. For that purpose the logon server 5 may use what here, and in the following, is denoted an OQP protocol (Object query protocol) which is taken to mean a collective term for implementation specific protocols as will be further discussed below, towards the authentication/session component (distributed computing means 10) c.f. Fig. 3. If the user exists m database GUD 6, he is allowed to proceed entering into the initially requested system. Then the interconnecting arrangement (GLUE) transfers the responsibility for the user to the respective subsystem. The requested subsystem uses an OQP (in the same manner as GLS 5) to fmα a more profound profile relating to the user. From the user profile may e.g. information as to if the user has access to the specific subsystem, relevant category, organisational, geographical belonging etc. Through the application programming interface of the interconnecting arrangement the subsystem is provided with ability to find the personal profile of the user. This makes it possible for the builder of the system to customize its behaviour depending on user. The session can be said to follow the user. The difference between known systems and the inventive system is clear when comparing Figs. 1 and 3. The present invention implements distributed computing. This is a technique "componentization" that is based on creating components or objects freely moving in a domain. In that manner the components get available for all systems/applications which m turn copies, i.e. creates, instances, and uses the copy/instance for its own purpose. GLUE can be said to contain two such components, one intended for authentication/session and one for administration. As a first task they should be "empowered" to operate towards GUD 6, i.e. be authorized (from an access point of view) to communicate with the DB GUD 6 on behalf of the subsystems/applications. Secondly the components or building blocks contain interfaces/rules relating to how authentication/administration is to be handled. This is an Application Programmable Interface (API) and it is used by programmers developing e.g. a subsystem. In Fig. 3 protocols are denoted HTTP, LDAP and OQP. HTTP is discussed below, LDAP is the protocol that the GLUE components use towards the DB GUD 6 on behalf of the subsystem/applications. QCP means Object Query Protocol, of above. For one specific implementation the protocol may be ILOP (Internet Interorb Protocol) using Corba™ as a basis for distributed computing. If DCOM is used, the protocol may be RPC (Remote Procedure Calls) . However in principle any adacuate protocol may be used for the respective objects, also e.g. HTTP. The invention is by no means limited to the use of any specific protocols, but in general an OQP as discussed earlier is used. Fig. 4 shows more in detail the architecture of the interconnecting arrangement 3, or more particularly the generic logon user environment. Two main components are explicitly illustrated, namely the Reverse Proxy Server (RPS) 4 and the Generic (user environment) Logon Server (GLS) 5. A further component, which is of importance for the functioning, a generic logon user directory, DB (GUD), 5 is also shown. The three subsystems SSI, SS2, SS3 can be said to represent subsystem ports or extranet system "port". Their functioning will now be described more in detail. Incoming to said systems are user (partner) system requests. Tne Reverse Proxy Server (RPS) 4 is the "front end" of tne interconnecting arrangement or the generic logon user environment. This is the function that creates the actual bridge between the Internet and company proprietory subsystems or extranet systems . The partner (user) communicates with the RPS 4 and the RPS 4 communicates with the subsystems. At the same time as the RPS 4 is "invisible" in the web browser, the partner (user) never steps beyond it. While "escorting" the partner to the requested subsystem, the RPS 4 looks for identification allowance means, particularly visitor tags. The partner/user requesting an extranet system needs to "wear" a tag. If the tag is missing (i.e. the partner has not logged on), the request is redirected to GLS 4. The RPS 4 is busy acting as a "bridge" . Thus, when a partner is requested to log on, this is handled by a separate function, the GLS 5. When referring to a partner, the meaning should be understood from the context and it does of course not have to be a "partner" in the conventional sense. If the RPS 4 is described as the front end, GLS 5 is its middle tier. In addition to being a web server, it may e.g. be the holder of two interconnecting arrangement 3 distributed computing objects of distributed computing means 10. For distributed computing may e.g. Corba™ objects be used. Another alternative is COM/DCOM™ objects which is a Microsoft standard for encapsulating code. This means that practically any programming language can be wrapped with COM/DCOM and thereby get a standardised interface. Of course may also other standards, interfaces and objects allowing distributed computing be used. To use an analogy, it is referred to a phone conversation taking place between a Japanese and an American When the Japanese speaks Japanese it comes out as English in the other end and vice versa. Between them there are two distributed computing objects that are capable of wrapping Japanese and English respectively. Then the objects themselves can communicate over a "standardised language interface" . The GLS 5 uses these objects to communicate with the directory server, GUD 6, to be described below. As in the analogy above, the objects translate the language of the web servers to that of GUD 6 - here LDAP. GUD 6 is "invisible". GUD 6 is the "back end" of the interconnecting arrangement 3 and the only components which can communicate with it are the distributed computing objects described above (in this particular implementation) . The reason for this is that GUD 6 contains all users, their passwords and profiles. In other words, GUD 6 needs to be protected behind a very well defined shield of interface rules. No one talks to or communicates directly with GUD 6. GUD 6 is an object oriented database designed for a large number of users (approximately 10 millions in a particular embodiment) and their attributes. GUD 6 can easily handle four dimensions - user, role, extranet system and organisation unit. This is, if not impossible, very hard to do in a "traditional" relational database. GUD 6 here uses LDAP (Lightweight Directory Access Protocol), which is a standardised Internet protocol. This protocol is derived from the X.500 standard and designed to do quick and efficient user look-ups in a directory server. Also other protocols can be used. In Fig. 5 the system architecture of the interconnecting arrangement 3, which also is referred to as GLUE (Generic Logon User Environment) for reasons of simplicity, is illustrated. The main system components, the reverse proxy server 4, the logon server 5 and the directory 6 and their interworking relationship will be described through illustration of an example in which a request comes in from a web browser of a "partner" or user. In a first step (10) is thus supposed that a HTTP/HTTPS request comes from the web browser of the partner. HTTP (Hyper Text Transfer Protocol) is the protocol used on the Internet to transport web pages. If the request is HTTP, RPS 4 automatically switches the communication to HTTPS (S in HTTPS stands for Secure, which means that the communication is encrypted) . The interconnecting arrangement GLUE 3 only allows HTTPS communication, or more generally encrypted communication. In a subsequent step (20) the RPS 4 looks for the "Visitor Tag" or in a more technical language, a cookie, in this particular embodiment. If the cookie is in place, the RPS 4 "escorts" or redirects (30a) the request to the requested subsystem. If however the cookie (tag) is missing, the partner is redirected (30b) to GLS 5 and is asked to register (logon) . The identity is checked in GUD 6 particularly through the distributed computing objects. Next is examined if the partner is valid or allowable. Then he gets his cookie/tag and is redirected (40) to the subsystem he initially requested. If he is not valid, he will not receive a tag and will never be redirected to any subsystem. Finally the partner may end up in one of the company subsystems, where the company (or similar) wants him to be (50). In one implementation COM/DCOM objects are used. More generally distributed computing is implemented using Corba-objects or COM/DCOM as referred to above. DCOM stands for Distributed COM. This means in the GLUE example with web servers that a subsystem can make instances of the GLUE DCOM objects from the GLS which can be elsewhere, on another server, or component or domain and run it as if it were locally located on the subsystem. This is actually what happens when the partner gets to the subsystem. At this point the partner only wears a "clearance" tag, the subsystem does not know anything about the partner himself. So instead of GLUE 3 broadcasting the entrance of the partner (s) to all the subsystems (creating a lot of network traffic) , the subsystem uses the same components or distributed computing objects, e.g. Corba- or COM/DCOM objects as GLS 5 (i.e. as used for global logging on) and asks additional questions about the user which are relevant to that subsystem. In other words, the subsystem is responsible for whom and on what condition anyone is allowed and it determines a personal user profile. The clearance part handled by GLUE 3, is only a check that the partner is registered in GUD 6 and does not include any personal profile checking. The interconnecting arrangement 3 advantageously supports distributed administration. This means that from the top and down, a number of administration levels are defined (per subsystem) . The subsystem uses the administration distributed computing object to allow its various levels of administrators to administer that subsystem' s branch or node of the subsystem in the interconnecting arrangement 3. The distributed administration concept allows external node administrators and end users (individuals) to "own" their accounts. They can change information about themselves (within given limits) including their password. The invention is not limited to the illustrated embodiments, used protocols, standards etc. It is furthermore not limited to "companies", "partners" etc. but this should be interpreted in a wider sense, meaning any group having a subsystem, intranet, extranet, other groups or individuals wanting some kind of access etc. Furthermore it is not limited to Internet but more generally to a global data communication system or a third party controlled data communication system.

Claims: CLAIMS 1. An interconnecting arrangement for enabling a user of a third party controlled data communication system to access a number of subsystems, c h a r a c t e r i z e d i n that it comprises interconnecting serving means (RPS; ) bridging the third party controlled data communication system and the subsystems, such that the user of the third party controlled data communication network communicates with the interconnecting serving means (RPS; 4) and in that said interconnecting serving means (RPS; 4) communicates with said subsystems, logon serving means (GLS; 5) handling logging in to a number of subsystems using objects and communicating with an interconnecting protected user directory server (GUD; 6) keeping user information and in that using said information a user is given/denied generic access to a number of subsystems and in that for subsystems specific authentication, the objects used by the logon serving means are reused by the specific subsystems. 2. An arrangement according to claim 1, c h a r a c t e r i z e d i n that the third party controlled data communication network is a global datacommunication network. 3. An arrangement according to claim 2, c h a r a c t e r i z e d i n that the global data communication network is Internet. 4. An arrangement according to any one of the preceding claims, c h a r a c t e r i z e d i n that only one username and password are needed for providing access for a user to a number of subsystems. 5. An arrangement at least according to claim 3, c h a r a c t e r i z e d i n that a web browser is used to enable access to a number of subsystems via the interconnecting arrangement. 6. An arrangement according to any one of the preceding claims, c h a r a c t e r i z e d i n that the logon serving means comprises (GLS; 5) a web server and in that it holds logon objects and administration objects using an encapsulating code. 7. An arrangement according to any one of claims 1-6, c h a r a c t e r i z e d i n that the logon serving means comprises a web server and in that it holds and uses distributed computing objects. 8. An arrangement according to claim 6 or 7, c h a r a c t e r i z e d i n that the logon objects and administration objects or distributed computing objects are DCOM-objects by Microsoft™ and in that substantially any programming language can be wrapped with COM/DCOM thus getting a standardised interface. 9. An arrangement according to claim 7, c h a r a c t e r i z e d i n that Corba™ objects are used for distributed computing. 10. An arrangement according to any one of claims 6-9, c h a r a c t e r i z e d i n that the web server language is translated by said objects to the language of the user directory server (GUD; 6). 11. An arrangement according to claim 10, c h a r a c t e r i z e d i n that the only components/objects able to communicate with the user directory server (6) are the objects of the logon server (5) which for system specific authentication also are reused by the specific requested subsystem. 12. An arrangement according to any one of the preceding claims, c h a r a c t e r i z e d i n that the user directory server (6) comprises an object oriented database designed for a large number of users and their attributes. 13. An arrangement according to claim 12, c h a r a c t e r i z e d i n that the user directory server (6) is able to handle four dimensions, e.g. user, role, subsystems and organisational unit. 14. An arrangement according to any one of claims 10-13, c h a r a c t e r i z e d i n that the user directory server (6) uses the LDAP protocol. 15. An arrangement according to any one of the preceding claims, c h a r a c t e r i z e d i n that the interconnecting server (4) is a reverse proxy server. 16. An arrangement according to any one of the preceding claims, c h a r a c t e r i z e d i n that the interconnecting server (4) comprises means for establishing whether a request from a user relating to a subsystem is allowable or not. 17. An arrangement according to claim 16, c h a r a c t e r i z e d i n that if the interconnecting (reverse proxy server) (4) finds an allowance indication, e.g. a cookie, the request is redirected to the requested subsystem, otherwise the user is redirected to the logon server for logon and in that the identity is examined in the user directory server to determine whether logon should be allowed . 18. An arrangement according to any one of the preceding claims, c h a r a c t e r i z e d i n that the subsystem that is accessed reuse (s) the same objects, e.g. distributed computing objects as the logon server (5) and in that said system is responsible for access permission and access criteria and in that a customized user profile is provided. 19. A method of connecting a user (system) of a third party controlled datacommunication system (1) to a number of subsystems (2), c h a r a c t e r i z e d i n that it comprises the steps of: providing a request relating to a number of subsystems (2) to a serving means (RPS; ) of an interconnecting arrangement (3) ; switching to encrypted communications in the serving means (4) of the interconnecting arrangement (3); examining from the serving means (4) if an allowance and identification indication is received; if yes, redirecting the request to the requested subsystems (2); if not, redirecting the user to the logon server (5) of the interconnecting arrangement (3) for logging on if allowable; - examining the user identity and allowability in a user directory (6) of the interconnecting arrangement (3); if the user is valid, redirecting the user request to the requested subsystem(s) - otherwise, rejecting the request, the requested subsystem reusing the objects used by the logon serving means (5) to obtain additional information, e.g. a user profile, thus providing for system specific authentication . 20. A method according to claim 19, c h a r a c t e r i z e d i n that the third party controlled network is Internet and that the request is a HTTP/HTTPS request from a web browser of the user. 21. A method according to claim 19 or 20, c h a r a c t e r i z e d i n that the allowance and identification means comprises a cookie. 22. A method according to any one of the claims 19-21, c h a r a c t e r i z e d i n that user directory server (6) comprises an object oriented database. 23. A method according to any one of claims 19-22, c h a r a c t e r i z e d i n that it comprises the step of: communicating with the user-directory server (6) using distributed computing objects. 24. A method according to claim 23, c h a r a c t e r i z e d i n that the distributed computing objects are COM/DCOM™ objects. 25. A method according to claim 23, c h a r a c t e r i z e d i n that the distributed computing objects are Corba™ objects.

Inventors: BIRGERSON JOAKIM, HEDAAKER BERTIL, HENNINGSSON MARTIN, ISRAELSSON CLAES, BIRGERSON, JOAKIM, HEDAAKER, BERTIL, HENNINGSSON, MARTIN, ISRAELSSON, CLAES
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 2000
Main classification: G06F1
IPC codes: G06F21, H04L29