WO2011124221A2 - System, method and arrangements for securing resources - Google Patents

System, method and arrangements for securing resources Download PDF

Info

Publication number
WO2011124221A2
WO2011124221A2 PCT/DE2011/075063 DE2011075063W WO2011124221A2 WO 2011124221 A2 WO2011124221 A2 WO 2011124221A2 DE 2011075063 W DE2011075063 W DE 2011075063W WO 2011124221 A2 WO2011124221 A2 WO 2011124221A2
Authority
WO
WIPO (PCT)
Prior art keywords
access
decision
resources
systems
aggregate
Prior art date
Application number
PCT/DE2011/075063
Other languages
German (de)
French (fr)
Other versions
WO2011124221A3 (en
Inventor
Tim Frey
Original Assignee
Tim Frey
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 Tim Frey filed Critical Tim Frey
Publication of WO2011124221A2 publication Critical patent/WO2011124221A2/en
Publication of WO2011124221A3 publication Critical patent/WO2011124221A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Definitions

  • the present invention relates to systems, methods, and arrangements that can be used to secure resources, particularly in highly scalable scenarios, with computer networks.
  • the invention was made, in particular with consideration of the Internet and platforms occurring therein.
  • Spring Security An example of a modern security system is Spring Security. It has resources that make it possible to secure a Java program via annotations.
  • access control lists for individual objects created by classes can be stored in Spring Security.
  • the system has a central access control (ACL) filing system in which the access control lists are stored in a database. These are then used when accessing resources to check access to permission.
  • the individual access control lists can refer to further access control lists in the central repository, from which they inherit the contents. Because of this, an access check will then include the access control lists inheriting rights.
  • ACL central access control
  • Spring Security One problem with Spring Security is that it has only one internal depot and can not use any other systems or access list types. Since different technologies are normally used in a system landscape, Spring Security can be considered isolated from the other systems, since they do not work together. Another problem is that access decisions that inherit rights from other access control lists must always load and evaluate the access control lists from which rights were inherited. These and other limitations make such a system inflexible and difficult to scale.
  • Apache Shiro http://cwiki.apache.org/confluence/display/SHIRO/Index
  • http://cwiki.apache.org/confluence/display/SHIRO/Index is a security system for various programming platforms, but does not support the integration of other security systems and their access control lists, which, for example, inherit rights from one another.
  • This invention is therefore based on the technical problem of making it possible to provide arrangements, methods and systems which make it possible to use as well as to distribute data that can be used for access control from different systems.
  • the challenge is that the different systems can follow different specifications and are actually incompatible.
  • the invention 100 solves the problems described above.
  • the invention 100 comprises:
  • At least one means of integration that allows access to at least one or more resources used to influence access decisions about access to at least one resource 111;
  • At least one means of aggregation which makes it possible to calculate aggregate access rights, wherein at least one means of access decision is used in the calculation.
  • the present invention 100 provides a system, method, and arrangement that allows a variety of systems 110, which may also include security functions or methods of protection, to integrate and combine together, by aggregates of rights, beyond the system boundaries of a system 110 away, can be calculated.
  • access rights can be understood as authorizations or refusals to carry out operations.
  • such rights may be the permissions to read, write, modify, delete or administer.
  • other more complex permissions or denials such as authorize, approve, execute, e.g. of services or functions, execute with constraints, execute with limited result set, depending on the user role and any other function that occurs in programs, especially in business management.
  • the means used for access decisions 112 may represent a variety of resources 111.
  • such means 112 may be access control lists or portions thereof. Or even complete security systems, other systems 110 or individual parts of them.
  • the various embodiments of the invention 100 or portions thereof themselves may constitute such means as to scale them, for example.
  • Aggregating here means aggregating rights for a particular resource 111.
  • a resource 111 may be, for example, a file or any other form of document or database, e.g. also a placeholder, in place of which the client 130 is allowed to store information.
  • Such documents may, for example, occur in a document base, also referred to as a database, in which the documents are stored.
  • a document base is a file system.
  • a document base may also be active, for example, the database / document base may be a web server or even multiple web servers, such as the Internet.
  • the term database also refers to several systems 110 or systems coupled via computer networks.
  • the term document is therefore a collective term for all possible outputs of a database or even a collection of data generated by a user.
  • a document may be dynamically generated from a database, which is why a database within the scope of the present invention 100 is to be viewed as a source or combination of sources or source systems 110 from which data may be requested, written, and / or altered.
  • a document is thus a logical unit, a partition, component and / or subdivision, and therefore also applies to parts of documents.
  • Embodiments of the present invention 100 may use the structure information of the database in order to improve and / or accelerate access to the database or documents occurring therein.
  • the following data and associated systems 110 or systems 110 can serve as a database and thus as documents: hypertext documents, Word documents, e-mails, web servers, program code such as classes or objects, or also other constructs that were compiled during programming or from those generated Source code, API calls or return values, accesses to program parts, business objects, such as receipts, or master data, application servers, SAP systems, data warehouses, text documents, images, audio files, social networks, videos, blogs, Twitter, social networks, mobile devices such as mobile phones, peer-to-peer networks, input devices , File systems, databases, search engines, servers, routers, machines, sensors, test systems, debuggers, people and / or automobiles.
  • a web page identifies a document that is accessible via the Internet and may include various content that occurs there, such as hypertext documents, videos, pictures, and other documents that may include hyperlinks.
  • the term website can also stand for several documents, eg all or part of the pages under a certain domain.
  • the term website is also a collective term for what is generally called website or website, ie a collective term for an entire Internet presence, eg an appearance of a company, an organization, a private person, an association, an interest group or to a specific website Purpose, eg sale, trade, information, discussion, exchange, pleasure, search, mediation, etc.
  • Such an Internet site can be transmitted via various protocols, eg TCP / IP, HTTP, HTTPS, FTP, POP3, SMTP and other protocols that are used for Communication in computer networks 50 are used.
  • Rights can be roles or access rights that specify which operations are performed with or on resource 111. This is very advantageous because roles can be linked to object instances and inherited. This makes it possible to perform Role Based Access Control on object and not just on the class level (Instance Role Based Access Control - IBC).
  • This IBAC makes it possible to make access decisions to particular resources 111 based on hierarchies of rights or roles that apply only to a particular resource 111 or resource hierarchy associated with at least one client 130.
  • the rights that were determined on the basis of aggregations can be stored. This makes it possible to use the aggregated rights in an access decision.
  • Aggregate formation itself can take place via rules or programs. It is also possible that queues with messages are used to further accelerate aggregate formation to further increase parallelism.
  • the inventive rights 100 allow the inherited rights to be calculated by at least one aggregation unit 102 and stored by the integration unit 101.
  • existing systems 110 or databases e.g. Image Server or Video Streaming Server
  • each resource such as images, videos, directories, or other documents may inherit rights from another system, such as program logic.
  • Particularly advantageous in forming the aggregates is the fact that not necessarily only one aggregation unit 102 is present, but there may be several of them. This enables distributable processing to take place, thus ensuring high scalability.
  • the invention 100 can, of course, also interact directly with one or more systems 110.
  • this part of a system 110 or a system 110 may also be a part of it.
  • the invention 100 itself could, for example, serve as a security system that is used in combination with other inventions 100 or systems 110.
  • the systems including access decision making means 112 may be provided by the invention 100 via at least one computer network, such as the Internet
  • the invention may have at least one inheritance tree. This makes it possible to map the inheritance structure or inheritance structures. This can be used, for example, in calculating the aggregates to determine which "access decision means 112" must be taken into account in aggregate formation. ⁇ br/> ⁇ br/> Particularly advantageous is such an inheritance tree, thus also inheriting across different systems 110 which themselves do not support inheritance For example, an inheritance function can thus also be added by aggregates into foreign non-inheritable systems 110. Another advantage of the inheritance tree is the possibility that several can also be used, as shown in Fig.
  • Systems 110 - 200, 210, 220 have different inheritance trees and are referenced from nodes in an inheritance tree to nodes in others, which makes it possible to scale aggregation in combination with inheritance trees, and another advantage of such trees is that in the trees existing Information can be used in the calculation of aggregates. For example, to detect dependencies and generate aggregate schedules.
  • means may be defined in programs that are taken into account in the access decision.
  • Such means may be, for example, annotations or aspects.
  • expressions may be given which have roles or permissions which accesses at least one resource 111.
  • methods of a class or the class itself can be restricted by means of annotations.
  • the ability to form aggregates also makes it possible to define "virtual resources" in the program source text, such as images found on an Image Server, such images may appear as "normal object-oriented objects" in the source code.
  • the physical image on the Image Server inherits the rights of the virtual object.
  • the image server inherits the rights in the image server from the "virtual object.”
  • additional means defined in the program source text such as the contents of annotations or aspects consider.
  • a variant of the invention 100 which is particularly preferably used in the dynamic Internet environment, such as Web.2.0, has the capability of dynamically integrating or removing integration means. This allows a particularly flexible adaptation without the need to adapt the invention itself 100, if a new system 110 is to be included, since thus only at runtime, the required integration means can be loaded.
  • invention 100 may have means for detecting updates to "access control means", which may be used, for example, to perform or update an aggregate-building process for objects inheriting from the affected object thus particularly dynamic and flexible means for accessing decision 112, since updates in foreign systems 110 can thus also be detected.
  • access control means may be used, for example, to perform or update an aggregate-building process for objects inheriting from the affected object thus particularly dynamic and flexible means for accessing decision 112, since updates in foreign systems 110 can thus also be detected.
  • Another capability that results from the capabilities of the invention 100 is the possibility that resources 111 do not need to be accessed via a central security system, as is the case nowadays with Spring Security, for example. Rather, a client 130 may directly access resources 111 present in a system 110 that may evaluate the access decision means 112, as shown, for example, in Figure le-g. In this case, the means for access decision 112 can be updated, for example, by the invention 100. This direct access avoids a detour of the data packets from the actual systems 110 via the invention 100 or another security system.
  • a preferred variant of the invention 100 may also have or use cryptographic means. These may be used, for example, to communicate to the client 130 a secret that serves to perform various accesses to at least one resource 111. This access could also be limited in time. This can be used to thus also use other third-party systems 110.
  • the client 130 could thus authenticate via OpenID in the invention 100 and obtain from the invention 100 a secret with which it can access the needed resources 111.
  • an application could be created that includes at least one existing security infrastructure, such as a security infrastructure.
  • a security infrastructure such as a security infrastructure.
  • At least direct resource access by the client 130 could be enabled by e.g. the cryptographic means of the platform are used to communicate to at least one client 130 a secret through which at least one resource 111 can be accessed directly.
  • the effectiveness of the secret could also be temporarily limited or / and coupled to various access operations.
  • the invention 100 could provide an inheritance structure for the resources 111 and / or the associated means for access control, such as ACLs on Amazon today. In conjunction with aggregates, this would then make it possible to extend the platform by an inheritance option by the invention 100.
  • individual parts or the complete invention 100 could be implemented as part of such a platform, and other parts could be provided to developers or users of the platform, for example, as an API or as a library or combination of API and library become. This would allow programs developed for such a platform to use a ready-made highly scalable security system that allows inheritance to be performed.
  • client information can be used in the access decision.
  • client information or even user information can be referred to here as information that is related to one or more users / clients 130 or also to one or more devices, arrangements or methods.
  • client information is, for example, data about or from users or devices, arrangements and methods themselves.
  • This can be, for example, passive data, which are for example in the profile of the user, such as eg. As hometown, group memberships, friends or even data that have been revealed, for example, by analysis.
  • Other types of user can be active data. Active can mean that these data only exist at runtime and change very frequently.
  • the current coordinates of the user such as GPS coordinates or access point, its IP, status message, connection speed, client type. Due to the characteristics of client information, further information can often be derived from such information. For example, in the location perimeter based on the access point, the GPS coordinates or / and an IP address. Such derivable information is itself also referred to as client information.
  • a client 130 because of its current location, may be told other secrets, such as when it is at a different location. Furthermore, thus the client information, together with other client information or other data together, can be considered. This ability to pay attention to client information in the access decision thus allows for a variety of novel use cases for backups, and thus new access decisions can be made. For example, it is thus possible to restrict access by clients 130 to information from other clients 130 that are in their vicinity.
  • Another variant of the invention 100 supports one or more roles or one or more hierarchies of access rights. For example, they may express which rights or roles contain other rights or roles. Thus, for example, roles and rights can be assigned and configured more easily, since it is no longer necessary to specify all rights and roles.
  • This variant is particularly advantageous in conjunction with associating rights to particular resources 111. In this case, access decisions to specific resources 111 are based on hierarchies and rights or roles associated with a client 130 only for a particular resource 111 or resource hierarchy to meet. This differs from the example of Spring Security where such hierarchies are not directly definable for resources 111.
  • the present invention 100 further relates to a method of securing resources, the method comprising the steps of: a. Accessing one or more means used to influence access decisions about access to at least one resource 111; and b. Calculation of at least one aggregate, wherein at least one means of access decision is used in the calculation. Further advantageous embodiments of the method according to the invention can be found in the further dependent claims.
  • the present invention 100 provides a computer program having instructions to execute each method described herein.
  • Fig. 2a-c Erbschaftsw according to embodiments of the present invention
  • FIGS. 3a-d illustrate methods and visualizations for aggregate formation according to embodiments of the present invention
  • FIG. 5 shows a method and an exemplary representation of the transformation between different means used for access decision according to an embodiment of the present invention
  • access decision means 112 make the decision about permission or even partial access permission and thus authorize it. These could also be called means access control.
  • means are used or / and also evaluated, which are considered by the means of access decision 112 to the cases of the decision.
  • this document refers to these two types of means, access decision-makers 114 and decision-making means 113.
  • Decision-making means 113, as well as access decision-makers 114 can also stand for a plurality of access decision-makers 114 as well as decision-making means 113.
  • access decision-maker 114 is the means that makes at least one access decision. This can also be referred to as "access decision means 112." Die
  • Decision-making means 113 are the means by which the decision is made, such as resources such as documents. These can also be referred to as "resources" used for access decisions. Access decisions can also mean a plurality of access decisions, for example, in that multiple smaller access decisions can result in a large access decision. Since often the boundary between these different means can not be clearly drawn and security systems 110 consist of mixing between decision-making means 113, access decision-makers 114 and access decisions, they can be generalized as access decision means 112 and all occurrences of the aforementioned terms in this document could be explained by The reason why, nevertheless, the words decider 113, access decision and access decider 114 are still partially used is that this subdivision promotes easier understanding of the invention 100. Therefore, in the further course, if it is the Comprehensibility is promoted, the terms access decision-makers 114 and decision-making means 113 used instead of means for access decision 112.
  • FIG. 1a shows an embodiment of the present invention 100.
  • the invention 100 has means, such as one or more integration units 101, that enable the invention 100 to be used with other security systems 110 or inventions 100 becomes.
  • the invention 100 may also be utilized by one or more means for forming at least one aggregate, also in cooperation with other constituents of the invention, such as e.g. an aggregation unit 102 may have.
  • One or more such aggregation means, such as aggregation units 102 may cooperate with integration means, such as at least one integration unit 101. This cooperation can take place, for example, when generating aggregates of decision-making means 113.
  • aggregation units 102 can be communicated information about updates by means of integration units 101, or aggregation units 102 can use integration units 101 in order to access decision-making means 113.
  • Such access may be, for example, reading, writing, updating or even analyzing means used for access control.
  • one or more clients 130 may directly access the individual parts of the invention 100, and thus all functions disclosed by this invention 100 may be directly utilized by a client 130.
  • Clients 130 are, for example, people or groups of people who use technical devices to communicate with machines, processes, other clients, arrangements or even via computer networks. Clients 130 do not necessarily have to be humans. Rather, clients 130 may be, for example, machines, apparatus and methods, including user groups. Often, clients 130 also associate information with the technical devices they use. Because a client 130 can represent a user or user groups who are using at least one technical device or the clients 130 themselves are one or more machines, therefore, in the further course, no distinction is made between user (human) and client and the word client 130 also needed as an equivalent for users and vice versa.
  • Aggregates are decision-making means 113, which consist of already existing decision-making means 113 or also resources, such as e.g. additional documents were calculated.
  • aggregates of access decision means may be seen as the sum of allowed privileges for clients 130 minus the denials for clients 130.
  • resources 111 e.g. Framework conditions, such as hierarchical permissions or hierarchical roles or other means that are considered for access decision in their generation or updating.
  • all of the features discussed in this document that are in aggregate formation or steps thereof are to be considered, serve to demarcate aggregates from "normal" arbitration means 113.
  • an aggregate may be transformed into at least one target system into a suitable format
  • further framework conditions such as rules, computer programs, systems 110 or information about clients 130 in various systems 110 can be used for a variety of use cases, as compared to the decision making means 113 or resources from which they were generated
  • an aggregate can also be additionally or alternatively ked by other features be. For example, a faster access decision may be possible with at least one access, in contrast to at least one access decision based on at least one previously existing decision-making means 113, which was considered for generating the aggregate.
  • resources 111 are required by at least one access decision-maker 114, in contrast to at least one access decision, due to at least one previously existing decision-making means 113, which was considered for generating the aggregate.
  • resources such as memory or processor load can be, but also documents or rules that are used in the access decision to decide the access question.
  • aggregates may also be used, e.g.
  • aggregates make it possible to make access decisions on or in resources, such as web servers, where they were previously not possible.
  • aggregates can also be transformations and thus, for example, a representation of decision-making means 113, which is distinguished at least in an expression from at least one previously existing decision-making means 113, which was considered for generating the aggregate.
  • Such an expression may be, for example, that instead of a user name, a user ID is specified in the aggregate.
  • security systems 110 As the security systems 110 described above or also often called systems 110, all devices, methods and arrangements are to be understood that use any means, to make access decisions about the access to at least one resource 111 or even represent the means or part of the means that is evaluated in an access. Because many systems 110 can often evaluate access control lists for accesses, they can also be seen as security systems 110 in the sense of the invention 100. Thus, the security system is any system 110 that supports security features. Thus, for example, programs, the security functions or even the invention 100 itself can be seen as a security system. The term security system is thus rather to be understood as a logical name for access-controllable systems 110 or units that are responsible for security, such as access control lists. Examples include Web servers such as Apache or IIS, Windows Server, ERP systems, Business Intelligence systems and many others.
  • the integration units 101 could detect updates and therefore start aggregation units 102 due to aggregation methods, and these have no direct access to the integrators and directly write the results of the aggregation methods.
  • access decision makers 114 and decision making means can all be in this one
  • Evaluate invention 100 decision means described and decide on accesses could be modeled on Spring Security or Apache Shiro, or existing resources could be modified to combine the advanced novel features of this invention 100 with existing ones.
  • Another possibility is to further develop this other existing security system to support the functions of this invention 100 in one or more apparatus, methods or arrangements.
  • this invention as well as the advancement is to be seen for each security system and may have means specialized for such cases to achieve optimal integration.
  • this invention 100 can not be implemented only for the Java platform or the Java Enterprise platform. Rather, the invention 100 can be realized on a variety of platforms. For example, on the Dotnet platform or in C ++. It is also conceivable that the invention 100 is implemented as a combination of different technologies.
  • the means used by security systems 110 or the invention 100 itself to make access decisions may be diverse.
  • Such means may be, for example, Access Control Lists (ACL), which are particularly common nowadays, such as by Security or an Apache web server.
  • ACL Access Control Lists
  • programs or tables in databases or web pages or all documents can be such means.
  • Another example of such means may also be annotations or security aspects of aspect oriented programming.
  • expressions can be given in the program source text, which roles or permissions, which have accesses to at least one resource 111. It may also be, e.g. by such expressions, directly or indirectly by system logic, further means, such as access control lists, are used which are used in the access decision.
  • Another example of such access decision means 112 may be client information.
  • Client information is information related to one or more users or to one or more clients 130, devices or methods. Client information is thus data about or from users or devices and procedures themselves. This can be, for example, passive data, for example, in the profile of the user, such. As hometown, group memberships, friends or even data that have been revealed, for example, by analysis. Other types of user data may be active data. Active can mean that these data only exist at runtime and change very frequently. For example, the current coordinates of the user, their IP, status message, connection speed, client type. Due to the properties of previously shown
  • Client information is often derivable from such information further information. For example, in the location perimeter due to an IP address. Such derivable information is itself also referred to as client information.
  • a combination of the various possibilities of the access decision means 112 can also be used for at least one access decision.
  • the invention 100 can also be able to support "location-based access control.”
  • the data can be combined with other means for access decision, whereby it is particularly advantageous for the client information itself to be incorporated into aggregates as access decision means 112 or can be evaluated together with aggregates
  • Access control lists may be further associated with a variety of resources 111. For example, with classes, objects, and any kind of documents. As a result, the rights at the level of the most diverse resources 111 can be assigned. For example, it is possible to use roles, object instances in a program in an object-oriented programming language, such Java or Visual Basic.
  • Resources 111 or ACLs may additionally, in a preferred embodiment, have relationships with one another, such as inheritance.
  • inheritance may mean, for example, that the rights of an access control list include the rights of one or more other access control lists or other means.
  • an image of a directory may inherit rights.
  • hierarchies of business objects such as master data or master data groups or documents and / or other objects in business systems, such as. in Erp systems or data warehouses, thereby inheriting rights.
  • These relationships can be defined, for example, by specifying the parent object, for example its type or / and identity. For example, about class and object ID of the parent objects or about the identity of the parent decision-making means 113. This can be found, for example, in the
  • access control lists helps to define denials and permissions for users or user groups for data and functions. For example, by denying users from groups can be excluded.
  • access control lists may contain rules or programs, or refer to rules or programs, as their evaluation is used in at least one access decision.
  • rules or programs can also include other resources 111, which should be taken into account in the access decision.
  • the invention 100 may have additionally specialized means for calculating aggregates for rules or programs. This can e.g. be used to increase the access control list evaluation speed, or systems that do not themselves support the ability to use rules in combination with access control lists, to allow interaction with other systems 110, or with rules or programs.
  • access control lists can also only be rules or programs as to how to use or transform another resource 111 as an access control list.
  • rules may also include checks on what rights a user may change during an access. Or complex checks can be made as to what different rights a user must possess. Also, such rules or programs may be used to comply with other information such as the pure access control lists in the access check.
  • access control lists also have different formats. For example, in an access control list, the rights for a client 130 are defined based on a bitmask. Elsewhere, only pure lists are defined. Or, instead of defining the client 130 or group directly in the access control list, a proxy identification is deposited. Others allow LDAP or OpenID references to be deposited. For this reason, for such or similar cases, the invention 100 may have specialized means for dealing with a variety of access control lists. In this case, other apparatus or methods can be used, which are then part of the invention 100. For example, to access OpenID Provider or aggregate the access control lists from the various formats and transform them into other formats.
  • the invention 100 also provides means for making it easy to manage the access control lists, for example, by at least one model of an access control list 500, uniformly around the heterogeneous access control lists from different systems 110 to edit.
  • an interface for easy editing or the unified access or the like is meant.
  • Fig. Lc can be used here.
  • different types of access control lists could be found in the various systems 110, which can be accessed homogenized by the invention 100.
  • An embodiment of the model 500 or access control lists that can be used together with the invention 100 also has rights that can be marked as not inheritable. Furthermore, an access control list of the model 500 is furthermore preferably structured in such a way that rights or roles are permitted and denied to a group or a client.
  • a particularly preferred further ability is not only to be able to specify rights in access control lists, but also to be able to define roles in them. This allows roles to be defined resource-specific or in a resource hierarchy. Thus, role-based access control is also possible at the object level and not just at the class level in programming, such as Spring Security.
  • Hierarchies of rights or roles in access control lists could also be defined. These can then be used for access decisions or aggregation.
  • the big advantage here is that it reduces the complexity of assigning rights.
  • the invention 100 also has the ability to store information in one or more embodiments of the invention 100.
  • information for example genetic information
  • the model 500 may have an access control list.
  • Such information can then be stored in the invention itself, or it has, for example, means to store the required information via detours in the relevant system. For example, an aggregate could be calculated, and the additional information could be stored in the comments of an access control list.
  • Fig. 1b shows the invention 100 in a larger environment. It can be seen that the invention 100 may itself include or may be directly connected to a security system 110. Furthermore, it can be seen that it can also be directly connected to a further instance or variant of the invention 100. For example, a higher scalability can be made possible by these possibilities.
  • invention 100 may be coupled to other systems 110 and instances or variants of the invention 100 via at least one computer network 50, such as the Internet.
  • a connection can be a stateless or stateful connection.
  • FIG. 1b shows that all communication of the invention 100 can take place over at least one computer network 50. But it is also possible that a variety of computer networks 50 is used.
  • a client 130 or other parts may also communicate with the invention 100 over a wireless network, such as WLAN or cellular networks.
  • the various systems 110 in FIG. 1 b further illustrate that a plurality of different methods and systems 110 having a plurality of instances of the invention 100 or a plurality number of components can play together. This allows a particularly good
  • the client who is also connected to the computer network 50, shows that this can access the systems 110, as well as the invention 100 directly via the network. However, this client can be seen as a representative for a large number of clients 130.
  • the invention 100 does not necessarily have to be used in a computer network 50. Rather, it can also be used in a variety of computer networks. For example, in peer-to-peer networks. Or it is possible that the client is connected to the Internet via a mobile network.
  • FIG. 1c shows how the invention 100 can be used as an intermediary for communication with a plurality of systems 110.
  • This has the advantage that, homogenized by the invention 100, the various systems 110 can be accessed. It is also possible for an instance of the invention 100 to be accessed, and to communicate this with other instances, e.g. Allowing clients 130 to make settings centrally and then distributing them. In this case, the client 130 can also access various systems 110 through the individual components of the invention 100 or these can be used in an access.
  • arbitration means 113 may be implemented by the invention, e.g. also be addressed and manipulated with the help of a model 500 or / and integrators.
  • inheritance information is deposited by the response of the individual systems 110 in the invention or inventions.
  • an access can specify which resources 111 inherit rights from which resources 111.
  • the inheritance structure is changed by accessing one or more inventions or systems 110.
  • a client 130 in Fig. Lc does not necessarily have to be a user. Rather, as described, such a client 130 may also be a system or invention 100, as indicated by the various identifiers 100/110/130.
  • FIG. 1 d illustrates this once again more clearly. The whole is represented in two stages.
  • a client 100/110/130 communicates with a system or invention 100/110, which in turn may communicate with an invention 100. In doing so, by such communication or direct communication with a client 130 e.g. an action 150, such as a procedure being triggered.
  • such action 150 may be a method of aggregate formation.
  • decision-making means 113 could be regularly checked for updates, thereby triggering the corresponding aggregate formation. This could be done, for example, in one or more integrators or in specially designed means. It could also be possible for a client 130, an invention 100 or the system of an invention 100 to communicate that decision-making means 113 be updated. For example, via special means designed for this case, such as an extension of the systems used together with the invention 100.
  • the invention 100 may include means for recognizing updates of arbitration means 113. This can be used to automate, for example, a process for aggregate formation, for objects that inherit rights.
  • FIG. 11 shows a further system structure with clients 130 and inventions 100 and systems 110.
  • clients 130 can also be systems 110 or inventions 100.
  • the client 130 can directly access a resource 111 which can be found in an invention 100 or a conventional security system 110/100. When accessing means for access decision are evaluated and to make at least one access decision.
  • the client can also access the resource 111 via the invention 100.
  • the client receives means for accessing the resource 111 of the invention 100 through which it can gain access to the resource 111.
  • these means may be for authenticating, by which it can authenticate itself to the system 100/110 managing the resource 111, or by which it can gain access.
  • the invention 100 may further include cryptographic means. These can be used, for example, in such scenarios.
  • the client 130 for example, a secret can be transmitted through which he can gain access.
  • the client 130 may authenticate or authorize one or more inventions, and then notify the individual systems 110 or inventions which client has access to the resource 111.
  • further time windows may be set as to how long a client has access to a resource 111. For example, by secrets get a period of validity and this example, the individual systems 110 or inventions is communicated.
  • resources 111 do not need to be accessed via a central security system, but resources can be directly accessed by resources 111 in further systems 110.
  • these capabilities allow file uploads to not be sent over a file stream through a security server / system 110. Rather, it is thus possible for clients 130 to gain direct access to resources 111 and thus directly transfer resources 111 from client 130 into a system.
  • This capability allows the invention 100 to be most conveniently deployed with cloud computing services, such as Amazon Web Services, Google App Engine, or the like and related other services.
  • cloud computing services such as Amazon Web Services, Google App Engine, or the like and related other services.
  • direct uploads can be offered for them.
  • all other capabilities of the invention 100 can be used in such a cloud or grid computing environment.
  • the security mechanisms that already exist there can thus be used and supplemented by the invention 100.
  • access control lists can thus be supplemented by inheritance.
  • identity providers 140 for example Ldap authentication (described in:
  • FIG. 1f shows an example of such a scenario.
  • an identity provider itself may be a system 110.
  • the invention may calculate 100 aggregates for the system 100/110 in which references to an identity provider 140 are set. This allows, for example, client 130 to authenticate directly through identity provider 140, and invention 100 is not needed even in the specific access.
  • Another capability that the invention 100 may have in one embodiment is also the integration of various identity providers 140 or similar authentication means. It may have the ability to associate clients 130 of one identity provider 140 with clients 130 in another identity provider 140. Such associations can be made, for example, by rules or simple or complex mappings, e.g. in a memory unit which the invention 100 can access or which is integrated into it.
  • aggregates and inheritances can not only be made possible across aggregates in aggregate formation, but additional framework factors can be taken into account and different systems 110 can often also designate clients 130 differently.
  • resources 111 in systems 110 having different systems 110 can also be used by the invention 100 relations such. Have inheritance.
  • a general system 110 has been represented by a social network 160 to better visualize the scenario.
  • a second system 110 has been deliberately added which is at least e.g. represents the image server 110 of the social network and thus symbolize that it can be accessed without the social network 160.
  • the invention 100 generates from the data in the social network 160
  • Decision-making means 113 and stores them in the image server 110. This can happen, for example, by accessing databases or the like of the social network 160 and creating access control lists therefrom. In this case, users / clients 130 who have access to different images can also be specified therein. In this case, for example, references of images to the user data / client information / user identities could be deposited.
  • the client 130 can now access the social network 160 and the image server 110.
  • the image server 110 can then perform the access control of the access decision using the decision means 113, which were generated or updated by the invention 100.
  • means previously or subsequently specified in this document can be used.
  • client 130 could be kept secret by social network 160.
  • the client 130 could authenticate itself to the social network 160, thus assuming the role of an identity provider 140.
  • identity providers 140 could be used.
  • similar methods or devices could be used, such as an Apache Web server, for which modules are available to authenticate against a variety of sources or to refer to a variety of sources.
  • Web platform 160 can be used
  • this embodiment of the invention 100 provides a way to benefit the systems that deliver resources 111, such as images or the like, in addition to the access decisions. This thus makes it possible to better secure these resources 111 and represents them better, wherein the invention 100 can be used in an application.
  • resources 111 such as images or the like
  • the invention 100 may also have the property of adding new functions at runtime. For example, by reloading source code or compiled programs. This makes it possible to adapt the invention 100 particularly flexibly.
  • FIG. 2 a shows an example of the inheritance of decision-making means 113 or of resources 111.
  • the quadrangles mark the individual different systems 110, designated 200, 210 and 220, in which the resource 111 or else the decision-making means 113 can occur.
  • the circles show arrangements of the inheritance between means used for access decision, for example, by virtue of a resource 111 referencing one or more parent resources 111 or placing it in the
  • FIG. 2b shows a further example of an inheritance. This is inherited from multiple parent objects. Multiple inheritance can have any number of ancestors from whom rights are inherited. This example of multiple interleaving is shown in Fig. 2c in a larger frame. It is shown that multiple inheritance can also happen over different systems 110 230, 240 and 250. As before, the arrowheads are to be seen as a parent-child assignment.
  • a variant of the invention 100 may further have capabilities that make it possible to rearrange elements in the inheritance tree and to change the inheritance structure or to turn off the inheritance for individual elements as well as off. Turning on and off means that, on the one hand, elements that have one or more ancestors will have no or fewer ancestors in the future and thus inherit no or fewer rights or, conversely, elements that have no ancestors, will be assigned one or more ancestors. Likewise, elements can be assigned to new ancestors or ancestors. For such cases, the invention 100 may also have other means, specialized for this purpose, which, for example, trigger new aggregate operations that respect the new inheritance structure and the associated access decision means 112.
  • the invention 100 may also have a cycle checker in the case of inheritance.
  • a cycle checker in the case of inheritance.
  • such can reveal cycles in inheritance hierarchies. This can be used for single as well as for multiple inheritance.
  • An example of a cycle is shown in Fig. 2c.
  • 242 inherits from 241 and 231 from 242.
  • link 260 could be added by 241 through which 241 of 231 would inherit.
  • Such and similar cases can be detected by a cycle checker.
  • Such a cycle checker could be realized, for example, by checking, when adding a new inheritance connection, whether the inheritance tree of element A is to inherit from element B in the future, already contains element B at some point in the previous tree, and if element A and B are in different objects.
  • aggregates can be associated by the invention 100 with the respective resources 111 in the systems 110, another advantage of the invention 100 becomes apparent. It is thus possible for requests to be made to the respective systems 110 which, even at the request itself, use the aggregates to determine elements belonging to the result set. This makes it possible, for example, to exclude inappropriate elements already in a query, since all access information through aggregates is directly available. For example, objects of a class could be queried for which the requester has a specific role. Without aggregates, the ancestors would have to be interviewed as well, and this would be slow, especially in foreign systems, if at all technically possible. With aggregates, these can now be used to determine only applicable objects.
  • the integration unit may be used. Because the invention 100 also has the aggregating means, it is possible to enable inheritance across systems. In doing so, the aggregation unit 102 uses e.g. the integration unit to access the various systems 110. Because this has the opportunity, the
  • Decider 113 from the various systems 110 can read from these aggregates. For example, it can read 201 and write 211 the absolute rights for 211 with the current content of 211, so that this in turn can be used in further accesses as decision-making means 113. Therefore, for example, 222 and 212 may be calculated thereafter. Likewise this is so similarly for the further rights and for the inheritance of several ancestors implementable.
  • aggregation may also include other steps, such as transforming the access decision means into the correct format.
  • the aggregation can also be used to obtain e.g. to simplify long access control lists by, for example, duplicating entries, e.g. when inheritance comes to filter.
  • Such transformations can be realized in the respective application by means of specially adapted transformation means.
  • Aggregation can also be accelerated using mechanisms from functional programming and / or the use of queuing theory.
  • the aggregation can be defined by declarative programming to achieve high parallelism. It is also possible that the aggregation techniques, such as Map Reduce, for example, US7650331, Amazon Elastic MapReduce
  • Fig. 3a shows the process by which aggregates are formed.
  • the required resources needed for aggregate formation are determined 301.
  • Such required means may be, for example, the elements of which an element for which an aggregate is to be formed, inherits.
  • the determination of the required means may also include the loading of the required funds.
  • the determination or loading of the necessary means can also be performed by the integration unit, as well as the writing. It is also possible that these are transmitted via at least one computer network 50. It is also possible that the aggregation unit (s) and the integration unit (s) are created as a common unit. Thus, an aggregation unit 102 can have all the features of the integration unit 101 and vice versa.
  • FIG. 3b shows that aggregate formations can also trigger new aggregate formations 303.
  • an inheritance hierarchy could exist. The fact that an aggregate of ol is formed or the associated means used for access control are generated or updated could be recognized by the invention 100 and aggregates for o2 and o3 could be calculated. Likewise for o4, o5 and 06. In Fig. 3d this is shown. In this case, aggregates which are at the same hierarchical level, e.g. can also be calculated in parallel.
  • the invention 100 for such cases may have specialized means, e.g. enable aggregates to be created in parallel. For example, with each new hierarchy level, new processes can be created for each element.
  • the actual forming of the aggregates can be specified by rules or computer programs.
  • rules or computer programs could be loaded dynamically at runtime.
  • Such rules or computer programs may be optimized especially for the various means used for access decision.
  • an aggregate scheduling may be part of the invention 100 and the aggregate creation process.
  • Such a flowchart may serve as how and / or in which order aggregates should be determined for different access decision means. In doing so, this generation of a schedule may be done on the basis of the resource for which an aggregate uses the access decision means. It is also possible that the means or several means themselves are used to determine how the aggregate is to be formed. In addition, it is also possible that further means of the invention 100 will be used to generate such a flowchart.
  • invention 100 may also have one or more inheritance trees, e.g. in several variants or instances, in which information is deposited, which inheritances exist between resources 111 or their means of access decision.
  • a data structure e.g. a specially adapted Patricia Trie, HAS Trie or House Trie or a similar data structure (see “HAT-trie: A Cache-aware Trie-based Data Structure for Strings", http://crpit.com/confpapers/CRPITV62Askitis.
  • HAT-trie A Cache-aware Trie-based Data Structure for Strings" http://crpit.com/confpapers/CRPITV62Askitis.
  • FIG. 4 shows an integration unit 101 of the present invention 100. It has an access executor 401 that performs access to various systems 110 via at least one integrator 402.
  • the integrators 402 contain means for accessing different systems 110.
  • Such integrators 402 can be created programmatically, for example, as a collection of functions or even classes.
  • the access executor eg the various operations described in this document, to perform the means used for access control.
  • the access executor 401 or in one or more integrators 402 or elsewhere in the integration unit 101 previously discussed means for transformation can be used.
  • a model 500 of access control means 112 previously discussed may also be available. This may serve, for example, as a transformation model 500 or for access by clients 130, as shown in FIG.
  • the access decision means following the model of system A 501 are first transformed into the model of invention 500 and from there into the model of system B 504 or also C 503 or D 502. This allows, for example, not all different types of transformations of different systems 110 to each other must be described.
  • the invention 100 may, as mentioned, also have a memory unit. These can also be accessed, for example, by the components of the invention, such as, for example, the integration unit 101 or the aggregation unit 102 or components thereof.
  • the data on inheritance relationships or other data can be stored.
  • a system might not support storing aggregate decider and original decider.
  • the original arbitrator could remain 100 prior to the aggregate process in the invention and only the aggregate arbitrator could be written to the system 110. If the original decision-making means were changed via the invention 100, this would produce a new aggregate decision-making means. Or it would be possible that if the aggregate decider in the system 110 were changed, as compared to the original decider, in the invention 100, the change would be detectable and the original decider would be adjusted accordingly.
  • the integration unit 101 may also have a cache / cache 404.
  • the cache 404 can be used at various points in the invention 100. It is also conceivable to use caches 404 in several places.
  • a cache 404 may be used by the integrators 402 and the access executor.
  • charged arbitrators 113 may be stored in the cache 404 by integrators 402 or by the access executor 401. This or the integrators 402 may first check the cache 404 for the contents of the resources needed before accesses to avoid lengthy network latency accesses.
  • the invention 100 may have a system directory 403. In this example, it can be deposited to which resources 111 which decision-making means 113 and / or systems 110 belong. It can be deposited in which systems 110 these means can be retrieved, or / and by which integrators 402 they are to be found.
  • This information can be stored, for example, via simple mappings or via rules.
  • rules may also specify how at least one or more associated integrators 402 may be determined based on at least one identification feature of a resource 111.
  • a request to the system directory 403 may be made via a resource 111, which may then be answered with at least one associated integrator 402 or a reference thereto.
  • system directory 403 provides means that enable it to be managed by the integrators 402 and other related information.
  • the access executor 401 can determine at least one associated integrator 402 and thus accessing their system and thus their means used for access decision 112.
  • a variant of the invention 100 which is particularly preferably used in the dynamic Internet environment, such as Web.2.0, has the capability of dynamically integrating or removing integration means.
  • Such integrating means may be, for example, integrators or groups of integrators 402.
  • integrators 402 can be added to the system directory 403, for example, during dynamic addition.
  • additional information such as the aforementioned rules, mappings or computer programs, be defined as the associated resources 111 can be seen.
  • This could then also be included in the system directory 403.
  • This makes it possible at runtime, also due to resources 111 or their identification features, to determine the new integrator 402 as belonging and thus weave it seamlessly into the previous functionality of a system. Similar to the addition, the removal could be realized.
  • the information of the recognition of the associated resources 111 from the system directory 403, together with the integrator 402, would be removed.
  • Another variation of the invention 100 may use means for dynamically adding components.
  • OSGI on the Java platform.
  • this could realize the dynamic addition / registration and removal of integrators 402.
  • the present invention 100, method, arrangement and apparatus can be particularly preferably used to be used for video platforms. Especially to connect with social networks.
  • a particularly preferred application of this security system is the combination with a video platform or a live streaming video platform, such.
  • a video platform or a live streaming video platform such.
  • DPMA Video Platform
  • This news reporter system by combining with the invention, may, for example, interact with other systems 110 and inherit rights, and security functions based on client information may be realized, for example location-dependent security functions.
  • Another, particularly preferred, application is the combination of the invention 100 with a hyper adapter (EP09180953).
  • the invention in particular the Yourweb variant, can be secured.
  • Another particularly preferred application is the combination of the invention 100 with a So-ad-tec system (EP10001967).
  • a So-ad-tec system EP10001967
  • This can be used to protect the Nexusnodes system, for example. It is also possible to protect a So-ad-tec system with it.
  • the illustrated invention 100 may also have or cooperate with a SCAPTCHA system or its functions described therein. This makes it possible, for example, to offer such a SCAPTCHA system as an infrastructure service, along with the other features described, in a cloud computing infrastructure.
  • Another use case is the hedging of business systems.
  • ERP systems For example, ERP systems, CRM systems, portals and the like.
  • this invention or group of inventions can be realized as computer-implemented systems or as computer programs. Due to the nature of this invention 100, all the facts presented can be implemented in different programming languages on different platforms. In addition, all procedures can be represented in declarative programs and thus in declarative situations and vice versa. Likewise, the processes can be converted as apparatuses or arrangements and vice versa. In addition, because of the flexible nature of the invention, many individually discussed parts of the invention can be combined or rearranged to provide better solutions, or better, solutions. Therefore, the description of the invention 100 is to be understood as an exemplary embodiment, features of which may also occur in other arrangements.

Landscapes

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

Abstract

The invention (100) relates to a system, method and/or arrangements for securing access to resources (111), especially access via a computer network (50), the system or an arrangement comprising the following: a. at least one means for integration which allows access to at least one or several means that are used to influence access decisions relating to the access to at least one resource (111); b. at least one means for aggregation which allows aggregated access rights to be calculated, at least one means for access decision being used for calculation.

Description

System, Verfahren und Anordnungen zum Absichern von Ressourcen  System, method and arrangements for securing resources
1. Technisches Gebiet  1. Technical area
Die vorliegende Erfindung betrifft Systeme, Verfahren und Anordnungen, die zum Absichern von Ressourcen, insbesondere in hochskalierbaren Szenarien, mit Computernetzwerken verwendet werden können. Dabei wurde die Erfindung, insbesondere unter Betrachtung des Internets und darin vorkommender Plattformen, gemacht.  The present invention relates to systems, methods, and arrangements that can be used to secure resources, particularly in highly scalable scenarios, with computer networks. In this case, the invention was made, in particular with consideration of the Internet and platforms occurring therein.
2. Stand der Technik  2. State of the art
Ein Beispiel für ein modernes Sicherheitssystem ist Spring Security. Diese verfügt über Mittel, die es ermöglichen, ein Java Programm über Annotationen abzusichern. Dabei können in Spring Secu- rity Zugriffskontrolllisten für einzelne Objekte, die von Klassen erzeugt wurden, hinterlegt werden. Das System verfügt dazu über eine zentrale ZugriffskontrolUistenablage (ACL Ablage), in der die Zugriffskontrolllisten in einer Datenbank abgelegt werden. Diese werden dann beim Zugriff auf Ressourcen genutzt, um den Zugriff auf Erlaubnis zu prüfen. Dabei können die einzelnen Zugriffskontrolllisten auf weitere Zugriffskontrolllisten in der zentralen Ablage verweisen, von denen sie die Inhalte erben. Aufgrund dessen werden dann bei einer Zugriffsüberprüfung die Zugriffskontrolllisten, von denen Rechte geerbt wurden, mit einbezogen. Ein Problem von Spring Security ist dabei, dass es nur eine interne Ablagestelle besitzt und keine weiteren Systeme oder Zugriffslistenarten benutzen kann. Da im Normalfall in einer Systemlandschaft verschiedene Technologien eingesetzt werden, ist somit Spring Security isoliert von den anderen Systemen zu betrachten, da diese nicht zusammen arbeiten. Ein weiteres Problem ist, dass bei Zugriffsentscheidungen, bei denen Zugriffskontrolllisten, die von anderen Zugriffskontrolllisten Rechte erben, auch immer die Zugriffskontrolllisten, von denen Rechte ererbt wurden, geladen und mit ausgewertet werden müssen. Diese und weitere Einschränkungen machen ein solches System unflexibel und schwer skalierbar.  An example of a modern security system is Spring Security. It has resources that make it possible to secure a Java program via annotations. In this case, access control lists for individual objects created by classes can be stored in Spring Security. The system has a central access control (ACL) filing system in which the access control lists are stored in a database. These are then used when accessing resources to check access to permission. The individual access control lists can refer to further access control lists in the central repository, from which they inherit the contents. Because of this, an access check will then include the access control lists inheriting rights. One problem with Spring Security is that it has only one internal depot and can not use any other systems or access list types. Since different technologies are normally used in a system landscape, Spring Security can be considered isolated from the other systems, since they do not work together. Another problem is that access decisions that inherit rights from other access control lists must always load and evaluate the access control lists from which rights were inherited. These and other limitations make such a system inflexible and difficult to scale.
Apache Shiro (http://cwiki.apache.org/confluence/display/SHIRO/Index) ist ein Sicherheitssystem für verschiedene Programmie lattformen, unterstützt aber keine Integration von weiteren Sicherheitssystemen und deren Zugriffskontrolllisten, die zum Beispiel Rechte voneinander erben.Apache Shiro (http://cwiki.apache.org/confluence/display/SHIRO/Index) is a security system for various programming platforms, but does not support the integration of other security systems and their access control lists, which, for example, inherit rights from one another.
Weitere Sicherheitssysteme sind dabei als ähnlich oder weniger mächtig zu Spring Security zu sehen. Other security systems are considered similar or less powerful than Spring Security.
Ein Beispiel einer Sprache für Zugriffskontrolllisten ist XACL. Diese löst aber auch nicht dasAn example of an access control list language is XACL. But this does not solve that either
Problem, heterogene Systeme mit verschiedenen Zugriffskontrolllisten durch ein System zu verwalten zu können. Problem to be able to manage heterogeneous systems with different access control lists through one system.
Dieser Erfindung liegt daher das technische Problem zu Grunde, es zu ermöglichen, Anordnungen, Verfahren und Systeme bereit zu stellen, die es ermöglichen Daten, die zur Zugriffskontrolle ge- nutzt werden können, aus verschiedenen Systemen nutzen, wie auch verteilen zu können. Dabei stellt sich die Herausforderung, dass die verschiedenen Systeme anderen Spezifikationen folgen können und eigentlich nicht kompatibel sind.  This invention is therefore based on the technical problem of making it possible to provide arrangements, methods and systems which make it possible to use as well as to distribute data that can be used for access control from different systems. The challenge is that the different systems can follow different specifications and are actually incompatible.
Weiterhin sollen zusätzlich zu dieser Funktionalität noch weitere Funktionen durch die Erfindung eine gute Skalierbarkeit ermöglichen. Ferner soll die Erfindung auch in akuten und zukünftigen Anwendungsszenarien, insbesondere im hochdynamischen Internetumfeld eingesetzt werden können. 3; Zusammenfassung der Erfindung Furthermore, in addition to this functionality, further functions by the invention allow a good scalability. Furthermore, the invention should also be able to be used in acute and future application scenarios, in particular in the highly dynamic Internet environment. 3 ; Summary of the invention
Die vorliegende Erfindung 100 löst die oben beschriebenen Probleme. In einer Ausführungsform nach Patentanspruch 1 weist die Erfindung 100 auf:  The present invention 100 solves the problems described above. In an embodiment according to claim 1, the invention 100 comprises:
a. Zumindest ein Mittel zur Integration, das es ermöglicht, auf zumindest ein oder mehrere Mittel zuzugreifen, die genutzt werden, um Zugriffsentscheidungen über den Zugriff auf zumindest eine Ressource 111 zu beeinflussen;  a. At least one means of integration that allows access to at least one or more resources used to influence access decisions about access to at least one resource 111;
b. Zumindest ein Mittel zur Aggregation, das es ermöglicht, aggregierte Zugriffsrechte zu berechnen, wobei bei der Berechnung, zumindest ein Mittel zur Zugriffsentscheidung verwendet wird.  b. At least one means of aggregation, which makes it possible to calculate aggregate access rights, wherein at least one means of access decision is used in the calculation.
Somit stellt die vorliegende Erfindung 100 ein System, Verfahren und eine Anordnung bereit, die es ermöglicht, verschiedenste Systeme 110, die auch Sicherheitsfunktionen enthalten können oder Verfahren zur Absicherung, miteinander zu integrieren und kombinieren, indem Aggregate von Rechten, über die Systemgrenzen eines Systems 110 hinweg, berechnet werden können. Unter Zugriffsrecht können dabei Erlaubnisse oder Verweigerungen zum Durchführen von Operationen verstanden werden. Beispielsweise können solche Rechte die Erlaubnisse zu lesen, schreiben, ändern, löschen oder auch administrieren sein. Dabei sind aber auch weitere komplexere Erlaubnisse oder Verweigerungen, wie autorisieren, genehmigen, ausführen, z.B. von Services oder Funktionen, ausführen mit Beschränkungen, ausführen mit beschränkter Ergebnismenge, abhängig von der Benutzerrolle und jeder weiteren Funktion denkbar, die in Programmen, insbesondere in betriebswirtschaftlichen, vorkommt. Thus, the present invention 100 provides a system, method, and arrangement that allows a variety of systems 110, which may also include security functions or methods of protection, to integrate and combine together, by aggregates of rights, beyond the system boundaries of a system 110 away, can be calculated. In this case, access rights can be understood as authorizations or refusals to carry out operations. For example, such rights may be the permissions to read, write, modify, delete or administer. However, other more complex permissions or denials, such as authorize, approve, execute, e.g. of services or functions, execute with constraints, execute with limited result set, depending on the user role and any other function that occurs in programs, especially in business management.
Die Mittel, die zu Zugriffsentscheidungen genutzt werden 112, können verschiedenste Ressourcen 111 darstellen. Beispielsweise können solche Mittel 112 Zugriffskontrolllisten oder Teile derer sein. Oder auch komplette Sicherheitssysteme, andere Systeme 110 oder einzelne Teile derer. Auch können die verschiedenen Ausführungen der Erfindung 100 oder Teile derer selbst wiede- rum solche Mittel darstellen, um diese beispielsweise zu skalieren.  The means used for access decisions 112 may represent a variety of resources 111. For example, such means 112 may be access control lists or portions thereof. Or even complete security systems, other systems 110 or individual parts of them. Again, the various embodiments of the invention 100 or portions thereof themselves may constitute such means as to scale them, for example.
Aggregieren bedeutet dabei das Zusammenfassen von Rechten für eine spezielle Ressource 111. Eine Ressource 111 kann dabei zum Beispiel eine Datei oder jede andere Form eines Dokumentes oder einer Datenbasis sein, z.B. auch ein Platzhalter, an dessen Stelle es dem Klienten 130 erlaubt ist, Informationen zu speichern.  Aggregating here means aggregating rights for a particular resource 111. A resource 111 may be, for example, a file or any other form of document or database, e.g. also a placeholder, in place of which the client 130 is allowed to store information.
Solche Dokumente können zum Beispiel in einer Dokumentenbasis, auch als Datenbasis bezeichnet, in der die Dokumente abgelegt werden, vorkommen. Ein Beispiel für eine Dokumentenbasis ist ein Dateisystem. Jedoch kann eine Dokumentenbasis auch aktiv sein, beispielsweise kann die Datenbasis/Dokumentenbasis ein Webserver sein oder auch mehrere Webserver, wie das Internet. Dabei bezieht sich der Begriff Datenbasis auch auf mehrere Systeme 110 oder auch über Compu- ternetzwerke gekoppelte Systeme. Der Begriff Dokument ist demnach ein Sammelbegriff für alle möglichen Ausgaben einer Datenbasis oder auch eine Zusammenstellung von durch einen Benutzer erzeugte Daten. Ein Dokument kann z.B. dynamisch von einer Datenbasis generiert werden, weshalb eine Datenbasis im Rahmen der vorliegenden Erfindung 100 als Quelle oder Kombination von Quellen oder Quellsystemen 110 anzusehen ist, von welchen Daten angefordert, geschrieben und/oder geändert werden können. Ein Dokument ist demnach eine logische Einheit, eine Partition, Komponente und/oder Unterteilung und trifft daher auch auf Teile von Dokumenten zu. Ausführungsformen der vorliegenden Erfindung 100 können dabei die Strukturinformationen der Datenbasis nutzen, um Zugriffe auf die Datenbasis oder darin vorkommende Dokumente zu verbessern und/oder zu beschleunigen. Als Datenbasis und somit als Dokumente können beispielsweise folgende Daten und zugehörige Systeme 110 oder Systeme 110 allein dienen: Hypertextdokumente, Word Dokumente, E-Mails, Webserver, Programmcode, wie Klassen oder Objekte oder auch andere Konstrukte, die bei der Programmierung oder daraus erzeugtem kompilierten Quelltext vorkommen, API-Aufrufe oder Rückgabewerte, Zugriffe auf Programmteile, Business Objekte, wie z.B. Belege, oder Stammdaten, Application Server, SAP Systeme, Data Warehouses, Textdokumente, Bilder, Audiodateien, Social Networks, Videos, Blogs, Twitter, Social Networks, mobile Geräte, wie beispielsweise Handys, Peer-to-Peer-Netzwerke, Eingabegeräte, Dateisysteme, Datenbanken, Suchmaschinen, Server, Router, Maschinen, Sensoren, Testsysteme, Debugger, Menschen und/oder Automobile. Sofern die vorliegende Erfindung 100 in einem Computernetzwerk 50 eingesetzt wird, kann dieses Netzwerk und dessen Teilnehmer die Rolle der Datenbasis einnehmen, im Internet z.B. das Internetnetzwerk selbst, Peer-to-Peer-Netzwerke, Webserver, Internetseiten, Klienten, mobile Klienten 130 (z.B. Mobiltelefone, Notebooks, PDAs, etc.) und weitere Akteure. Eine Internetseite kennzeichnet dabei ein Dokument, das über das Internet erreichbar ist, und kann verschiedene Inhalte umfassen, die dort auftreten, wie z.B. für Hypertextdokumente, Videos, Bilder und weitere Dokumente, die Hyperlinks beinhalten können. Der Begriff Internetseite kann auch für mehrere Dokumente stehen, z.B. alle oder ein Teil der Seiten unter einer bestimmten Domain. Somit ist der Begriff Internetseite auch ein Sammelbegriff für das, was allgemein Website oder Webseite genannt wird, d.h. ein Sammelbegriff für einen gesamten Internetauftritt, z.B. ein Auftritt eines Unternehmens, einer Organisation, einer Privatperson, eines Vereins, einer Interes- sensgruppe oder zu einem bestimmten Zweck, z.B. Verkauf, Handel, Information, Diskussion, Austausch, Vergnügen, Suche, Vermittlung etc. Eine solche Internetseite kann über verschiedene Protokolle übertragen werden, z.B. TCP/IP, HTTP, HTTPS, FTP, POP3, SMTP und andere Protokolle, die zur Kommunikation in Computernetzwerken 50 eingesetzt werden. Such documents may, for example, occur in a document base, also referred to as a database, in which the documents are stored. An example of a document base is a file system. However, a document base may also be active, for example, the database / document base may be a web server or even multiple web servers, such as the Internet. The term database also refers to several systems 110 or systems coupled via computer networks. The term document is therefore a collective term for all possible outputs of a database or even a collection of data generated by a user. For example, a document may be dynamically generated from a database, which is why a database within the scope of the present invention 100 is to be viewed as a source or combination of sources or source systems 110 from which data may be requested, written, and / or altered. A document is thus a logical unit, a partition, component and / or subdivision, and therefore also applies to parts of documents. Embodiments of the present invention 100 may use the structure information of the database in order to improve and / or accelerate access to the database or documents occurring therein. By way of example, the following data and associated systems 110 or systems 110 can serve as a database and thus as documents: hypertext documents, Word documents, e-mails, web servers, program code such as classes or objects, or also other constructs that were compiled during programming or from those generated Source code, API calls or return values, accesses to program parts, business objects, such as receipts, or master data, application servers, SAP systems, data warehouses, text documents, images, audio files, social networks, videos, blogs, Twitter, social networks, mobile devices such as mobile phones, peer-to-peer networks, input devices , File systems, databases, search engines, servers, routers, machines, sensors, test systems, debuggers, people and / or automobiles. If the present invention 100 is used in a computer network 50, this network and its participants can assume the role of the database, eg the Internet network itself, peer-to-peer networks, web servers, Internet sites, clients, mobile clients 130 (eg Mobile phones, notebooks, PDAs, etc.) and other actors. A web page identifies a document that is accessible via the Internet and may include various content that occurs there, such as hypertext documents, videos, pictures, and other documents that may include hyperlinks. The term website can also stand for several documents, eg all or part of the pages under a certain domain. Thus, the term website is also a collective term for what is generally called website or website, ie a collective term for an entire Internet presence, eg an appearance of a company, an organization, a private person, an association, an interest group or to a specific website Purpose, eg sale, trade, information, discussion, exchange, pleasure, search, mediation, etc. Such an Internet site can be transmitted via various protocols, eg TCP / IP, HTTP, HTTPS, FTP, POP3, SMTP and other protocols that are used for Communication in computer networks 50 are used.
Indem Ressourcen 111 Klassen oder auch Objekte aus Programmen sein können, ist es somit möglich, Zugriffsrechte mit diesen zu assoziieren. Rechte können dabei Rollen oder Zugriffsrechte sein, die spezifizieren, welche Operationen mit oder auf der Ressource 111 durchgeführt werden. Dies ist sehr vorteilhaft, da somit Rollen auch mit Objektinstanzen verknüpft werden und vererbt werden können. Somit ist es dadurch möglich, Role Based Access Control auf Objekt und nicht nur auf Klassenebene durchzuführen (Instance Role Based Access Control -IBAC). Thus, by allowing resources to be classes or even objects from programs, it is possible to associate access rights with them. Rights can be roles or access rights that specify which operations are performed with or on resource 111. This is very advantageous because roles can be linked to object instances and inherited. This makes it possible to perform Role Based Access Control on object and not just on the class level (Instance Role Based Access Control - IBC).
Dieses IBAC macht es möglich, Zugriffsentscheidungen auf bestimmte Ressourcen 111 aufgrund von Hierarchien von Rechten oder Rollen, die nur für eine spezielle Ressource 111 oder Ressourcenhierarchie gelten und in dieser mit zumindest einem Klienten 130 verknüpft sind, zu treffen. This IBAC makes it possible to make access decisions to particular resources 111 based on hierarchies of rights or roles that apply only to a particular resource 111 or resource hierarchy associated with at least one client 130.
Hierbei können die Rechte, die Aufgrund von Aggregationen bestimmt wurden, gespeichert wer- den. Dadurch ist es möglich, die aggregierten Rechte bei einer Zugriffsentscheidung zu nutzen.Here, the rights that were determined on the basis of aggregations can be stored. This makes it possible to use the aggregated rights in an access decision.
Die Aggregatbildung selbst kann über Regeln oder auch über Programme stattfinden. Dabei ist es auch möglich, dass zur weiteren Beschleunigung der Aggregatbildung Warteschlangen mit Nachrichten verwendet werden, um die Parallelverarbeitung noch weiter zu erhöhen. Aggregate formation itself can take place via rules or programs. It is also possible that queues with messages are used to further accelerate aggregate formation to further increase parallelism.
Dies ist gegenüber dem Stand der Technik ein großer Vorteil, da somit erstmals Beziehungen, wie zum Beispiel Vererbung, von Zugriffskontrolllisten über verschiedene Systeme 110 hinweg möglich sind. Dies wird realisierbar, weil verschiedenste Integrationseinheiten und Mittel zum Zugriff kombiniert werden können. Dabei können durch die Erfindung 100 die ererbten Rechte durch zumindest eine Aggregationseinheit 102 berechnet werden und durch die Integrationseinheit 101 gespeichert werden. So können beispielsweise schon vorhandene Systeme 110 oder Datenbasen, wie z.B. Image Server oder Video Streaming Server genutzt werden, und die einzelnen Ressourcen, wie Bilder, Videos, Verzeichnisse oder andere Dokumente können Rechte aus einem anderen System, wie zum Beispiel der Programmlogik erben.  This is a great advantage over the prior art since, for the first time, relationships, such as inheritance, of access control lists across different systems 110 are possible. This can be realized because a variety of integration units and access means can be combined. In this case, the inventive rights 100 allow the inherited rights to be calculated by at least one aggregation unit 102 and stored by the integration unit 101. For example, existing systems 110 or databases, e.g. Image Server or Video Streaming Server, and each resource, such as images, videos, directories, or other documents may inherit rights from another system, such as program logic.
Besonders vorteilhaft ist beim Bilden der Aggregate auch die Tatsache, dass nicht zwingend nur eine Aggregationseinheit 102 vorhanden ist, sondern es von diesen mehrere geben kann. Dies ermöglicht es, dass eine verteilbare Verarbeitung stattfinden kann und somit eine hohe Skalierbarkeit gewährleistet ist.  Particularly advantageous in forming the aggregates is the fact that not necessarily only one aggregation unit 102 is present, but there may be several of them. This enables distributable processing to take place, thus ensuring high scalability.
Zudem kann die Erfindung 100, wie in Fig. lb zu sehen, natürlich auch direkt mit einem oder mehreren Systemen 110 zusammen wirken. Beispielsweise kann diese Teil eines Systems 110 oder ein System 110 kann auch ein Teil dieser sein. Dies ermöglicht eine nahtlose Integration mit weiteren Systemen 110. Dadurch könnte die Erfindung 100 selbst wiederum z.B. als Sicherheitssystem dienen, das in Kombination mit weiteren Erfindungen 100 oder Systemen 110 eingesetzt wird. Dies ermöglicht, dass die Erfindung 100 nicht zwingend nur als ein System 110 umgesetzt werden kann. Vielmehr kann sie als eine Vielzahl von Systemen 110, die miteinander z.B. durch die Integrationseinheit lOlund Aggregationseinheit 102 kommunizieren, realisiert werden. Dadurch ergibt sich eine besonders vorteilhafte Verteilbarkeit, wie zum Beispiel in einem Computernetzwerk 50 über mehrere Server. In addition, as can be seen in FIG. 1b, the invention 100 can, of course, also interact directly with one or more systems 110. For example, this part of a system 110 or a system 110 may also be a part of it. This allows seamless integration with other systems 110. As a result, the invention 100 itself could, for example, serve as a security system that is used in combination with other inventions 100 or systems 110. This allows the invention 100 to not necessarily be implemented as a system 110 only. Rather, it can be realized as a multiplicity of systems 110, which communicate with one another, for example, through the integration unit 101 and aggregation unit 102. This results in a particularly advantageous distributability, such as in a computer network 50 via multiple servers.
In einem weiteren Aspekt der Erfindung 100 können die Systeme, die Mittel zur Zugriffsentschei- dung 112 beinhalten, von der Erfindung 100 über zumindest ein Computernetzwerk, wie zum In a further aspect of the invention 100, the systems including access decision making means 112 may be provided by the invention 100 via at least one computer network, such as the Internet
Beispiel das Internet, angesprochen werden. Dies ermöglicht es, dass die Erfindung 100 besonders bevorzugt in heterogenen verteilten Systemlandschaften eingesetzt werden kann. Example the internet, to be addressed. This allows the invention 100 to be more preferably used in heterogeneous distributed system landscapes.
Ferner kann die Erfindung über zumindest einen Erbschaftsbaum verfügen. Ein solcher macht es möglich, die Vererbungsstruktur bzw. Vererbungsstrukturen abzubilden. Dies kann zum Beispiel beim Berechnen der Aggregate genutzt werden, um zu bestimmen, welche„Zugriffsentscheidungsmittel 112" bei der Aggregatbildung berücksichtigt werden müssen. Besonders vorteilhaft ist ein solcher Erbschaftsbaum dabei, dass somit Vererbung auch über verschiedene Systeme 110 hinweg, die selbst keine Vererbung unterstützen, abgebildet werden kann. Beispielsweise kann somit durch Aggregate in fremde nicht erbschaftsfähige Systeme 110 auch eine Erbschaftsfunktion hinzugefügt werden. Ein weiterer Vorteil des Erbschaftbaumes ist die Möglichkeit, dass auch mehrere eingesetzt werden können wie in Fig. 2a gezeigt. Dort ist zu sehen wie verschiedene Systeme 110 - 200, 210, 220 verschiedene Erbschaftsbäume besitzen und von Knoten in einem Erbschaftsbaum auf Knoten in weiteren verwiesen wird. Dies ermöglicht es besonders die Aggregation in Kombination mit Erbschaftsbäumen zu skalieren. Ein weiterer Vorteil von solchen Bäumen ist, dass die in den Bäumen vorhandene Information bei der Berechnung von Aggregaten verwendet werden kann. Beispielsweise um Abhängigkeiten zu erkennen und Ablaufpläne für die Aggregatbildung zu erzeugen.  Furthermore, the invention may have at least one inheritance tree. This makes it possible to map the inheritance structure or inheritance structures. This can be used, for example, in calculating the aggregates to determine which "access decision means 112" must be taken into account in aggregate formation. <br/> <br/> Particularly advantageous is such an inheritance tree, thus also inheriting across different systems 110 which themselves do not support inheritance For example, an inheritance function can thus also be added by aggregates into foreign non-inheritable systems 110. Another advantage of the inheritance tree is the possibility that several can also be used, as shown in Fig. 2a Systems 110 - 200, 210, 220 have different inheritance trees and are referenced from nodes in an inheritance tree to nodes in others, which makes it possible to scale aggregation in combination with inheritance trees, and another advantage of such trees is that in the trees existing Information can be used in the calculation of aggregates. For example, to detect dependencies and generate aggregate schedules.
In einer weiteren Ausführung können in Programmen Mittel definiert werden, die bei der Zugriffsentscheidung berücksichtigt werden. Solche Mittel können zum Beispiel Annotationen oder auch Aspekte sein. Somit können beispielsweise Ausdrücke angegeben werden, welche Rollen oder Erlaubnisse welche Zugriffe auf zumindest eine Ressource 111 haben. Beispielsweise können somit Methoden einer Klasse oder die Klasse selbst über Annotationen zugriffsbeschränkt werden. Durch die Fähigkeit Aggregate zu bilden ist es zudem möglich,„virtuelle Ressourcen" im Programmquelltext zu definieren. Beispielsweise Bilder, die auf einem Image Server zu finden sind. Dabei können solche Bilder als„normale Objekte im Objektorientierten Sinne" im Programmquelltext vorkommen. Das physische Bild auf dem Image Server erbt die Rechte vom virtuellen Objekt. Dadurch ist es möglich, dass bei der Aggregatbildung die Rechte im Image Server somit vom„virtuellen Objekt" geerbt werden. Bei einer solchen Aggregatbildung ist es zudem möglich, zudem weitere Mittel, die im Programmquelltext definiert wurden, wie beispielsweise Inhalte von Annotationen oder Aspekten zu berücksichtigen.  In another embodiment, means may be defined in programs that are taken into account in the access decision. Such means may be, for example, annotations or aspects. Thus, for example, expressions may be given which have roles or permissions which accesses at least one resource 111. Thus, for example, methods of a class or the class itself can be restricted by means of annotations. The ability to form aggregates also makes it possible to define "virtual resources" in the program source text, such as images found on an Image Server, such images may appear as "normal object-oriented objects" in the source code. The physical image on the Image Server inherits the rights of the virtual object. As a result, it is possible that the image server inherits the rights in the image server from the "virtual object." With such an aggregate formation, it is also possible to allocate additional means defined in the program source text, such as the contents of annotations or aspects consider.
Eine, besonders bevorzugt im dynamischen Internetumfeld, wie Web.2.0, eingesetzte Variante der Erfindung 100, besitzt die Fähigkeit, dass dynamisch Integrationsmittel eingebunden oder entfernt werden können. Dies ermöglicht eine besonders flexible Anpassung ohne die Notwendigkeit die Erfindung 100 selbst anpassen zu müssen, sofern ein neues System 110 eingebunden werden soll, da somit erst zur Laufzeit die benötigten Integrationsmittel geladen werden können.  A variant of the invention 100 which is particularly preferably used in the dynamic Internet environment, such as Web.2.0, has the capability of dynamically integrating or removing integration means. This allows a particularly flexible adaptation without the need to adapt the invention itself 100, if a new system 110 is to be included, since thus only at runtime, the required integration means can be loaded.
Ferner kann die Erfindung 100 über Mittel verfügen, dass Aktualisierungen von„Mitteln zur Zugriffskontrolle" erkannt werden. Dies kann dazu genutzt werden, dass beispielsweise ein Prozess zur Aggregatbildung für Objekte, die vom betroffenen Objekt erben, durchgeführt oder aktualisiert wird. Diese Fähigkeit ermöglicht es somit besonders dynamisch und flexibel Mittel zur Zugriffs- entscheidung 112 zu aktualisieren, da somit auch Aktualisierungen in fremden Systemen 110 erkannt werden können. Further, the invention 100 may have means for detecting updates to "access control means", which may be used, for example, to perform or update an aggregate-building process for objects inheriting from the affected object thus particularly dynamic and flexible means for accessing decision 112, since updates in foreign systems 110 can thus also be detected.
Eine weitere Fähigkeit, die sich durch die Fähigkeiten der Erfindung 100 ergibt ist die Möglichkeit, dass auf Ressourcen 111 nicht über ein zentrales Sicherheitssystem zugegriffen werden muss, wie dies heutzutage zum Beispiel bei Spring Security der Fall ist. Vielmehr kann ein Klient 130 direkt auf Ressourcen 111 zugreifen, die in einem System 110 vorhanden sind, das die Mittel zur Zugriffsentscheidung 112 auswerten kann, wie es zum Beispiel in Fig. le-g gezeigt wird. Dabei können die Mittel zur Zugriffsentscheidung 112 zum Beispiel durch die Erfindung 100 aktualisiert werden. Dieser direkte Zugriff erspart einen Umweg der Datenpakete aus den eigentlichen Syste- men 110 über die Erfindung 100 oder ein anderes Sicherheitssystem.  Another capability that results from the capabilities of the invention 100 is the possibility that resources 111 do not need to be accessed via a central security system, as is the case nowadays with Spring Security, for example. Rather, a client 130 may directly access resources 111 present in a system 110 that may evaluate the access decision means 112, as shown, for example, in Figure le-g. In this case, the means for access decision 112 can be updated, for example, by the invention 100. This direct access avoids a detour of the data packets from the actual systems 110 via the invention 100 or another security system.
Eine bevorzugte Variante der Erfindung 100 kann zudem über kryptographische Mittel verfügen oder diese nutzen. Diese können zum Beispiel dazu genutzt werden, um dem Klienten 130 ein Geheimnis mitzuteilen, das dazu dient, verschiedene Zugriffe auf zumindest eine Ressource 111 auszuführen. Dabei könnte ein solcher Zugriff auch zeitlich begrenzt werden. Dies kann dazu genutzt werden, somit auch weitere Fremdsysteme 110 einzusetzen. Beispielsweise könnte sich der Klient 130 somit über OpenID bei der Erfindung 100 authentifizieren und von der Erfindung 100 ein Geheimnis, mit dem er auf die benötigten Ressourcen 111 zugreifen kann, erhalten. A preferred variant of the invention 100 may also have or use cryptographic means. These may be used, for example, to communicate to the client 130 a secret that serves to perform various accesses to at least one resource 111. This access could also be limited in time. This can be used to thus also use other third-party systems 110. For example, the client 130 could thus authenticate via OpenID in the invention 100 and obtain from the invention 100 a secret with which it can access the needed resources 111.
Somit könnte beispielsweise eine Anwendung erstellt werden, die zumindest eine bestehende Sicherheitsinfrastruktur, wie z.B. die der Amazon Webservices ACL Infrastruktur Thus, for example, an application could be created that includes at least one existing security infrastructure, such as a security infrastructure. the Amazon Web Services ACL infrastructure
(htt : // a s . am azon . c om/) ,der Google App Engine Infrastruktur htt : /code . goo le . com/intl/de -(htt: // a s. on azon. c om /), the Google App Engine Infrastructure htt: / code. goo le. com / intl / en -
DE/appengine/) oder ähnliches, nutzt. Durch diese oder eine Ähnliche könnte zumindest ein direkter Ressourcenzugriff durch den Klienten 130 ermöglicht werden, indem z.B. die kryptographi- schen Mittel der Plattform dazu verwendet werden, zumindest einem Klienten 130 ein Geheimnis mitzuteilen, durch das direkt auf zumindest eine Ressource 111 zugegriffen werden kann. Dabei könnte auch die Wirksamkeit des Geheimnisses temporär beschränkt oder/und an verschiedene Zugriffsoperationen gekoppelt werden. DE / appengine /) or similar uses. By means of this or a similar one, at least direct resource access by the client 130 could be enabled by e.g. the cryptographic means of the platform are used to communicate to at least one client 130 a secret through which at least one resource 111 can be accessed directly. The effectiveness of the secret could also be temporarily limited or / and coupled to various access operations.
Des Weiteren könnte durch die Erfindung 100 eine Vererbungsstruktur für die Ressourcen 111 und/oder die zugehörigen Mittel, die zur Zugriffskontrolle, wie ACLs heutzutage bei Amazon, realisiert werden. Dies würde es dann im Zusammenspiel mit Aggregaten ermöglichen, die Platt- form um eine Vererbungsmöglichkeit durch die Erfindung 100 zu erweitern. Um dies weiter zu verbessern, könnten einzelne Teile oder die komplette Erfindung 100 somit auch als Teil einer solchen Plattform realisiert werden, und andere Teile könnten beispielsweise als API oder auch als Bibliothek oder eine Kombination aus API und Bibliothek Entwicklern oder Benutzern der Plattform zur Verfügung gestellt werden. Dies würde es ermöglichen, dass Programme, die für eine solche Plattform entwickelt werden, schon ein fertiges hochskalierbares Sicherheitssystem, das es ermöglicht, Vererbung durchzuführen, benutzen könnten.  Furthermore, the invention 100 could provide an inheritance structure for the resources 111 and / or the associated means for access control, such as ACLs on Amazon today. In conjunction with aggregates, this would then make it possible to extend the platform by an inheritance option by the invention 100. Thus, to further enhance this, individual parts or the complete invention 100 could be implemented as part of such a platform, and other parts could be provided to developers or users of the platform, for example, as an API or as a library or combination of API and library become. This would allow programs developed for such a platform to use a ready-made highly scalable security system that allows inheritance to be performed.
In einem solchen Szenario, in dem die Erfindung 100 in einer solchen oder ähnlichen Cloud Computing Infrastruktur eingesetzt wird, ist es zudem möglich, dass zur Verbesserung weitere Services, die eine solche Plattform anbietet, genutzt werden können. Beispielsweise könnte die Agg- regation massiv durch viele Instanzen parallelisiert werden.  In such a scenario, in which the invention 100 is used in such or similar cloud computing infrastructure, it is also possible that for improvement, further services offering such a platform can be used. For example, the aggregate could be massively parallelized by many instances.
Ferner können Informationen über den Klienten, sogenannte Klienteninformationen, bei der Zu- griffsentscheidung genutzt werden. Klienteninformationen oder auch als Benutzerinformationen bezeichenbar sind dabei Informationen, die auf einen oder mehrere Benutzer/Klienten 130 oder auch auf eines oder mehrere Geräte, Anordnungen oder Verfahren bezogen sind.  Furthermore, information about the client, so-called client information, can be used in the access decision. Client information or even user information can be referred to here as information that is related to one or more users / clients 130 or also to one or more devices, arrangements or methods.
Klienteninformationen sind hierbei z.B. Daten über oder von Benutzern oder Apparaten, Anordnungen und Verfahren selbst. Dies können beispielsweise passive Daten, die zum Beispiel im Profil des Benutzers stehen, wie z. B. Heimatort, Gruppenmitgliedschaften, Freunde oder auch Daten, die zum Beispiel durch Analysen aufgedeckt wurden, sein. Andere Arten von Benutzerda- ten können aktive Daten sein. Aktiv kann bedeuten, dass diese Daten erst zur Laufzeit existieren und sich besonders häufig ändern. Beispielsweise die aktuellen Koordinaten des Benutzers, wie z.B. GPS Koordinaten oder Zugangspunkt, dessen IP, Statusmeldung, Verbindungsgeschwindigkeit, Clienttyp. Aufgrund der Eigenschaften von Klienteninformationen ist oftmals weitere Infor- mation aus einer solchen Information ableitbar. Zum Beispiel im Standortumkreis aufgrund des Zugangspunktes, der GPS Koordinaten oder/und einer IP-Adresse. Solche ableitbare Information wird wiederum selbst auch als Klienteninformation bezeichnet. In this case, client information is, for example, data about or from users or devices, arrangements and methods themselves. This can be, for example, passive data, which are for example in the profile of the user, such as eg. As hometown, group memberships, friends or even data that have been revealed, for example, by analysis. Other types of user can be active data. Active can mean that these data only exist at runtime and change very frequently. For example, the current coordinates of the user, such as GPS coordinates or access point, its IP, status message, connection speed, client type. Due to the characteristics of client information, further information can often be derived from such information. For example, in the location perimeter based on the access point, the GPS coordinates or / and an IP address. Such derivable information is itself also referred to as client information.
Beispielsweise kann somit ein Klient 130 aufgrund seiner derzeitigen Position andere Geheimnisse mitgeteilt bekommen, wie wenn er sich an einer anderen Position befindet. Des Weiteren können somit die Klienteninformationen, auch zusammen mit weiteren Klienteninformationen oder anderen Daten zusammen, beachtet werden. Diese Fähigkeit, Klienteninformationen bei der Zugriffsentscheidung zu beachten, macht somit vielfältige neuartige Anwendungsfälle für Absicherungen möglich, und es können somit neuartige Zugriffsentscheidungen getroffen werden. Beispielsweise ist es somit möglich, den Zugriff von Klienten 130 auf Informationen von anderen Klienten 130, die sich in deren Nähe aufhalten zu beschränken.  Thus, for example, a client 130, because of its current location, may be told other secrets, such as when it is at a different location. Furthermore, thus the client information, together with other client information or other data together, can be considered. This ability to pay attention to client information in the access decision thus allows for a variety of novel use cases for backups, and thus new access decisions can be made. For example, it is thus possible to restrict access by clients 130 to information from other clients 130 that are in their vicinity.
Eine weitere Variante der Erfindung 100 unterstützt eine oder mehrere Rollen oder eine oder mehrere Hierarchien von Zugriffsrechten. Solche können zum Beispiel ausdrücken, welche Rechte oder Rollen andere Rechte oder Rollen beinhalten. Somit können zum Beispiel auch Rollen und Rechte einfacher vergeben und konfiguriert werden, da es nicht mehr nötig ist, alle Rechte und Rollen zu spezifizieren. Besonders vorteilhaft ist diese Variante im Zusammenspiel mit dem Assoziieren von Rechten auf bestimmte Ressourcen 111. Hierbei ist es Zugriffsentscheidungen auf bestimmte Ressourcen 111 aufgrund von Hierarchien und Rechten oder Rollen, die nur für eine spezielle Ressource 111 oder Ressourcenhierarchie, mit einem Klienten 130 verknüpft sind zu treffen. Dies unterscheidet die Beispielsweise stark von Spring Security wo solche Hierarchien nicht direkt für Ressourcen 111 definierbar sind.  Another variant of the invention 100 supports one or more roles or one or more hierarchies of access rights. For example, they may express which rights or roles contain other rights or roles. Thus, for example, roles and rights can be assigned and configured more easily, since it is no longer necessary to specify all rights and roles. This variant is particularly advantageous in conjunction with associating rights to particular resources 111. In this case, access decisions to specific resources 111 are based on hierarchies and rights or roles associated with a client 130 only for a particular resource 111 or resource hierarchy to meet. This differs from the example of Spring Security where such hierarchies are not directly definable for resources 111.
Die vorliegende Erfindung 100 betrifft ferner ein Verfahren zum Absichern von Ressourcen, wobei das Verfahren die folgenden Schritte aufweist: a. Zugriff auf ein oder mehrere Mittel, die genutzt werden, um Zugriffsentscheidungen über den Zugriff auf zumindest eine Ressource 111 zu beeinflussen; und b. Berechnung zumindest eines Aggregates, wobei bei der Berechnung zumin- dest ein Mittel zur Zugriffsentscheidung verwendet wird. Weitere vorteilhafte Ausführungsformen des erfindungsgemäßen Verfahrens finden sich in den weiteren abhängigen Ansprüchen.  The present invention 100 further relates to a method of securing resources, the method comprising the steps of: a. Accessing one or more means used to influence access decisions about access to at least one resource 111; and b. Calculation of at least one aggregate, wherein at least one means of access decision is used in the calculation. Further advantageous embodiments of the method according to the invention can be found in the further dependent claims.
Zuletzt stellt die vorliegende Erfindung 100 ein Computerprogramm bereit, das Instruktionen aufweist, um jedes hierin beschriebene Verfahren auszuführen.  Finally, the present invention 100 provides a computer program having instructions to execute each method described herein.
4. Kurze Beschreibung der Zeichnungen  4. Brief description of the drawings
Fig. la-e: Anordnungen, Systeme und Interaktionen nach Ausführungsformen der vorliegenden Erfindung;  Figures la-e: arrangements, systems and interactions according to embodiments of the present invention;
Fig. 2a-c: Erbschaftsmöglichkeiten nach Ausführungsformen der vorliegenden Erfindung; Fig. 2a-c: Erbschaftsmöglichkeiten according to embodiments of the present invention;
Fig. 3a-d: Verfahren und Visualisierungen zur Aggregatbildung nach Ausführungsformen der vorliegenden Erfindung; FIGS. 3a-d illustrate methods and visualizations for aggregate formation according to embodiments of the present invention;
Fig. 4: Eine Integrationseinheit und Anordnung nach einer Ausführungsform der vorliegenden Erfindung;  4 shows an integration unit and arrangement according to an embodiment of the present invention;
Fig. 5: Verfahren und exemplarische Darstellung der Transformation zwischen verschiedenen Mitteln, die zur Zugriffsentscheidung genutzt werden, nach einer Ausführungsform der vorliegenden Erfindung;  5 shows a method and an exemplary representation of the transformation between different means used for access decision according to an embodiment of the present invention;
5. Detaillierte Beschreibung von bevorzugten Ausführungsformen Sicherheitssysteme/System Bestandteile: 5. Detailed description of preferred embodiments Security Systems / System components:
Grundlegend ist es bei Systemen 110 so, dass Mittel zur Zugriffsentscheidung 112 die Entscheidung über die Erlaubnis oder auch die teilweise Erlaubnis eines Zugriffs treffen und diesen somit Autorisieren. Diese könnten auch Mittel Zugriffskontrolle genannt werden. Dabei werden Mittel genutzt oder/und auch ausgewertet, die von den Mitteln zur Zugriffsentscheidung 112 zu den Fällen der Entscheidung in Betracht gezogen werden. Zur Vereinfachung werden in diesem Dokument diese zwei Arten von Mitteln, als Zugriffsentscheider 114 und Entscheidermittel 113, bezeichnet. Wobei Entscheidermittel 113, wie auch Zugriffsentscheider 114, jeweils auch für eine Mehrzahl von Zugriffsentscheidern 114, wie auch von Entscheidermitteln 113 stehen können. Dabei ist der Zugriffsentscheider 114 das Mittel, das zumindest eine Zugriffsentscheidung fällt. Dieser kann auch als„Mittel zur Zugriffsentscheidung 112" bezeichnet werden. Die  Basically, in systems 110, access decision means 112 make the decision about permission or even partial access permission and thus authorize it. These could also be called means access control. In this case, means are used or / and also evaluated, which are considered by the means of access decision 112 to the cases of the decision. For the sake of simplicity, this document refers to these two types of means, access decision-makers 114 and decision-making means 113. Decision-making means 113, as well as access decision-makers 114, can also stand for a plurality of access decision-makers 114 as well as decision-making means 113. In this case, access decision-maker 114 is the means that makes at least one access decision. This can also be referred to as "access decision means 112." Die
Entscheidermittel 113 sind die Mittel, aufgrund derer die Entscheidung getroffen wird, wie zum Beispiel Ressourcen, wie Dokumente. Diese können auch als„Mittel", die zu Zugriffsentscheidungen genutzt werden" bezeichnet werden. Zugriffsentscheidungen können dabei auch eine Mehrzahl von Zugriffsentscheidungen bedeuten, zum Beispiel, indem mehrere kleinere Zugriffsentscheidungen zu einer großen Zugriffsentscheidung führen können. Da oftmals die Grenze zwischen diesen verschiedenen Mitteln nicht deutlich gezogen werden kann und in Sicherheitssystemen 110 eine Vermischung zwischen Entscheidermitteln 113, Zugriffsentscheider 114 und Zugriffsentscheidungen besteht, können diese generalisiert als Mittel zur Zugriffsentscheidung 112 bezeichnet und sämtliches Vorkommen der zuvor erwähnten Begriffe in diesem Dokument könnte durch„Mittel zur Zugriffsentscheidung 112" ersetzt werden. Der Grund, warum jedoch trotzdem die Worte Entscheidermittel 113, Zugriffsentscheidung und Zugriffsentscheider 114 teilweise genutzt werden ist dabei, dass diese Unterteilung eine einfachere Verständlichkeit der Erfindung 100 fördert. Deshalb werden im weiteren Verlauf, wenn es die Verständlichkeit fördert, die Be- griffe Zugriffsentscheider 114 und Entscheidermittel 113 anstatt Mittel zur Zugriffsentscheidung 112 verwendet. Decision-making means 113 are the means by which the decision is made, such as resources such as documents. These can also be referred to as "resources" used for access decisions. Access decisions can also mean a plurality of access decisions, for example, in that multiple smaller access decisions can result in a large access decision. Since often the boundary between these different means can not be clearly drawn and security systems 110 consist of mixing between decision-making means 113, access decision-makers 114 and access decisions, they can be generalized as access decision means 112 and all occurrences of the aforementioned terms in this document could be explained by The reason why, nevertheless, the words decider 113, access decision and access decider 114 are still partially used is that this subdivision promotes easier understanding of the invention 100. Therefore, in the further course, if it is the Comprehensibility is promoted, the terms access decision-makers 114 and decision-making means 113 used instead of means for access decision 112.
Fig. la  Fig. La
Fig.la zeigt eine Ausführungsform der vorliegenden Erfindung 100. Dabei ist zu sehen, dass die Erfindung 100 über Mittel verfügt, wie zum Beispiel eine oder mehrere Integrationseinheiten 101, die es ermöglichten, dass die Erfindung 100 zusammen mit weiteren Sicherheitssystemen 110 oder Erfindungen 100 eingesetzt wird. Zusätzlich ist zu sehen, dass die Erfindung 100 auch über eines oder mehrere Mittel, die zum Bilden von zumindest einem Aggregat, auch im Zusammenspiel mit weiteren Bestandteilen der Erfindung, genutzt werden können, wie z.B. eine Aggregationseinheit 102, verfügen kann. Eine oder mehrere solcher Mittel zur Aggregation, wie zum Beispiel Aggre- gationseinheiten 102, können mit Mitteln zur Integration, wie zum Beispiel zumindest einer Integrationseinheit 101 zusammen wirken. Dieses Zusammenwirken kann zum Beispiel beim Erzeugen von Aggregaten von Entscheidermitteln 113 stattfinden. Beispielsweise können durch Integrationseinheiten 101 Aggregationseinheiten 102 Informationen über Aktualisierungen mitgeteilt werden oder Aggregationseinheiten 102 können Integrationseinheiten 101 nutzen, um auf Entscheidermittel 113 zuzugreifen. Ein solcher Zugriff kann zum Beispiel das Lesen, Schreiben, Aktualisieren oder auch die Analyse von Mitteln, die zur Zugriffskontrolle verwendet werden, sein.  FIG. 1a shows an embodiment of the present invention 100. It can be seen that the invention 100 has means, such as one or more integration units 101, that enable the invention 100 to be used with other security systems 110 or inventions 100 becomes. In addition, it will be appreciated that the invention 100 may also be utilized by one or more means for forming at least one aggregate, also in cooperation with other constituents of the invention, such as e.g. an aggregation unit 102 may have. One or more such aggregation means, such as aggregation units 102, may cooperate with integration means, such as at least one integration unit 101. This cooperation can take place, for example, when generating aggregates of decision-making means 113. For example, aggregation units 102 can be communicated information about updates by means of integration units 101, or aggregation units 102 can use integration units 101 in order to access decision-making means 113. Such access may be, for example, reading, writing, updating or even analyzing means used for access control.
In der Fig. la ist ferner zu sehen, dass ein oder mehrere Klienten 130 direkt auf die einzelnen Teile der Erfindung 100 zugreifen können, und somit sämtliche Funktionen, die durch diese Erfindung 100 offenbart wurden, direkt durch einen Klienten 130 nutzbar sind.  It will further be seen in FIG. 1a that one or more clients 130 may directly access the individual parts of the invention 100, and thus all functions disclosed by this invention 100 may be directly utilized by a client 130.
Klienten:  clients:
Klienten 130 sind dabei z.B. Menschen oder Menschengruppen, die technische Geräte nutzen, um mit Maschinen, Verfahren, anderen Klienten, Anordnungen oder auch über Computernetzwerken zu kommunizieren. Klienten 130 müssen nicht zwangsläufig Menschen sein. Vielmehr können Klienten 130 zum Beispiel Maschinen, Apparate und Verfahren, also auch Benutzergruppen sein. Oftmals sind mit Klienten 130 auch Informationen, auch mit den technischen Geräten, die sie nutzen, assoziierbar. Weil ein Klient 130 einen Benutzer oder Benutzergruppen darstellen kann, der oder die zumindest ein technisches Gerät nutzen oder die Klienten 130 selbst eine oder mehrere Maschinen sind, wird daher im weiteren Verlauf nicht zwischen Benutzer (Menschen) und Kli- ent unterschieden und das Wort Klient 130 auch zusätzlich als Äquivalent für Benutzer gebraucht und umgekehrt. Clients 130 are, for example, people or groups of people who use technical devices to communicate with machines, processes, other clients, arrangements or even via computer networks. Clients 130 do not necessarily have to be humans. Rather, clients 130 may be, for example, machines, apparatus and methods, including user groups. Often, clients 130 also associate information with the technical devices they use. Because a client 130 can represent a user or user groups who are using at least one technical device or the clients 130 themselves are one or more machines, therefore, in the further course, no distinction is made between user (human) and client and the word client 130 also needed as an equivalent for users and vice versa.
Aggregate:  Aggregate:
Aggregate sind dabei Entscheidermittel 113, die aus bereits vorhandenen Entscheidermitteln 113 oder auch Ressourcen, wie z.B. weiteren Dokumenten berechnet wurden. Zum Beispiel können Aggregate von Mitteln zur Zugriffsentscheidung als die Summe von erlaubten Rechten für Klienten 130 abzüglich der Verweigerungen für Klienten 130 gesehen werden. Dabei können als weitere Ressourcen 111 z.B. Rahmenbedingungen, wie zum Beispiel hierarchische Berechtigungen oder auch hierarchische Rollen oder weitere Mittel, die zur Zugriffsentscheidung bei deren Erzeugung oder Aktualisierung beachtet werden. Dabei können z.B. sämtliche, in diesem Dokument bespro- chene, Merkmale die bei der Aggregatbildung oder Schritte dieser darstellen, berücksichtigt werden, dazu dienen, Aggregate von„normalen" Entscheidermitteln 113 abzugrenzen. Zum Beispiel kann ein Aggregat gegebenenfalls für zumindest ein Zielsystem in ein passendes Format transformiert sein, wobei beim Erzeugen des Aggregates und der gegebenenfalls anfallenden Transformation in passendes Format für das Zielsystem auch weitere Rahmenbedingen, wie zum Beispiel Regeln, Computerprogramme, Systeme 110 oder Informationen über Klienten 130 in verschiedenen Systemen 110, verwendet werden können. Besonders bevorzugt können solche Aggregate Optimierungen für verschiedenste Anwendungsfälle im Vergleich zu den Entscheidermitteln 113 oder Ressourcen, aus denen sie erzeugt wurden, beinhalten. Im Gegensatz zu einem normalen Mittel, das zu Zugriffsentscheidungen genutzt wird, kann ein Aggregat auch zusätzlich oder alter- nativ durch weitere Merkmale gekennzeichnet sein. Zum Beispiel kann damit eine schnellere Zugriffsentscheidung bei zumindest einem Zugriff, im Gegensatz zu zumindest einer Zugriffsentscheidung aufgrund zumindest eines zuvor vorhandenen Entscheidermittels 113, das zur Erzeugung des Aggregates berücksichtigt wurde, möglich sein. Oder/und es werden weniger oder keine Ressourcen 111 von zumindest einem Zugriffsentscheider 114, im Gegensatz zu zumindest einer Zugriffsentscheidung, aufgrund zumindest eines zuvor vorhandenen Entscheidermittels 113, das zur Erzeugung des Aggregates berücksichtigt wurde, benötigt. Wobei solche Ressourcen, beispielsweise Speicher oder Prozessorlast sein können, aber auch Dokumente oder Regeln, die bei der Zugriffsentscheidung zur Entscheidung der Zugriffsfrage genutzt werden. Oder/und es ist kein Auswerten von weniger Regeln oder Computerprogrammen, im Gegensatz zu zumindest einer Zugriffsentscheidung, aufgrund zumindest eines zuvor vorhandenen Entscheidermittels 113, das zur Erzeugung des Aggregates berücksichtigt wurde, möglich. Des weiteren können Aggregate auch, z.B. zumindest eine optimierte Form dahingehend welche Zugriffe besonders oft durchgeführt werden, beispielsweise bei der Nutzung von Klientinformationen, im Vergleich mit zumindest einer Zugriffsentscheidung, aufgrund zumindest eines zuvor vorhandenen Entscheidermittels 113, das zur Erzeugung des Aggregates berücksichtigt wurde, darstellen. Eine weitere Möglichkeit ist, dass Aggregate es ermöglichen, an oder in Ressourcen, wie zum Beispiel Webservern, Zu- griffsentscheidungen zu treffen, an denen diese bisher nicht möglich waren. In Kombination oder auch als Alternative können Aggregate auch Transformationen und somit zum Beispiel eine Repräsentation von Entscheidermitteln 113, die sich zumindest in einem Ausdruck von zumindest einem zuvor vorhandenen Entscheidermittel 113, das zur Erzeugung des Aggregates berücksichtigt wurde, unterschieden. Ein solcher Ausdruck kann zum Beispiel sein, dass anstatt eines Benutzernamens eine BenutzerlD im Aggregat angegeben ist.  Aggregates are decision-making means 113, which consist of already existing decision-making means 113 or also resources, such as e.g. additional documents were calculated. For example, aggregates of access decision means may be seen as the sum of allowed privileges for clients 130 minus the denials for clients 130. Thereby, as further resources 111, e.g. Framework conditions, such as hierarchical permissions or hierarchical roles or other means that are considered for access decision in their generation or updating. Thereby, e.g. all of the features discussed in this document that are in aggregate formation or steps thereof are to be considered, serve to demarcate aggregates from "normal" arbitration means 113. For example, an aggregate may be transformed into at least one target system into a suitable format In the case of generation of the aggregate and the possible transformation into suitable format for the target system, further framework conditions such as rules, computer programs, systems 110 or information about clients 130 in various systems 110 can be used for a variety of use cases, as compared to the decision making means 113 or resources from which they were generated In contrast to a normal means, which is used for access decisions, an aggregate can also be additionally or alternatively gekked by other features be. For example, a faster access decision may be possible with at least one access, in contrast to at least one access decision based on at least one previously existing decision-making means 113, which was considered for generating the aggregate. Or / and less or no resources 111 are required by at least one access decision-maker 114, in contrast to at least one access decision, due to at least one previously existing decision-making means 113, which was considered for generating the aggregate. Where such resources, such as memory or processor load can be, but also documents or rules that are used in the access decision to decide the access question. Or / and it is not possible to evaluate fewer rules or computer programs, in contrast to at least one access decision, based on at least one previously existing decision-making means 113, which was taken into account for generating the aggregate. Furthermore, aggregates may also be used, e.g. at least one optimized form in which accesses are carried out particularly often, for example when using client information, in comparison with at least one access decision, based on at least one previously existing decision-making means 113, which was taken into account for generating the aggregate. Another possibility is that aggregates make it possible to make access decisions on or in resources, such as web servers, where they were previously not possible. In combination or as an alternative, aggregates can also be transformations and thus, for example, a representation of decision-making means 113, which is distinguished at least in an expression from at least one previously existing decision-making means 113, which was considered for generating the aggregate. Such an expression may be, for example, that instead of a user name, a user ID is specified in the aggregate.
Sicherheitssysteme/ Systeme  Security systems / systems
Als die zuvor beschriebenen Sicherheitssysteme 110 oder auch oftmals Systeme 110 genannt, sind hierbei alle Apparate, Verfahren und Anordnungen zu verstehen die irgendwelche Mittel nutzen, um Zugriffsentscheidungen über den Zugriff auf zumindest eine Ressource 111 zu fällen oder selbst das Mittel oder einen Teil des Mittels darstellen, das bei einem Zugriff ausgewertet wird. Weil oftmals viele Systeme 110 Zugriffskontrolllisten bei Zugriffen auswerten können diese auch als Sicherheitssysteme 110 im Sinne der Erfindung 100 gesehen werden. Somit ist als Sicherheits- system jedes System 110 zu sehen, das Sicherheitsfunktionen unterstützt. Dabei sind somit beispielsweise auch Programme, die Sicherheitsfunktionen oder auch die Erfindung 100 selbst als Sicherheitssystem zu sehen. Die Bezeichnung Sicherheitssystem ist somit vielmehr als logische Bezeichnung für zugriffskontrollfähige Systeme 110 oder Einheiten, die für die Sicherheit zuständig sind, wie zum Beispiel Zugriffskontrolllisten zu verstehen. Beispielswiese Webserver, wie Apache oder IIS, Windows Server, ERP- Systeme , Business Intelligence Systeme und viele andere. As the security systems 110 described above or also often called systems 110, all devices, methods and arrangements are to be understood that use any means, to make access decisions about the access to at least one resource 111 or even represent the means or part of the means that is evaluated in an access. Because many systems 110 can often evaluate access control lists for accesses, they can also be seen as security systems 110 in the sense of the invention 100. Thus, the security system is any system 110 that supports security features. Thus, for example, programs, the security functions or even the invention 100 itself can be seen as a security system. The term security system is thus rather to be understood as a logical name for access-controllable systems 110 or units that are responsible for security, such as access control lists. Examples include Web servers such as Apache or IIS, Windows Server, ERP systems, Business Intelligence systems and many others.
Es ist nicht zwingend vorgegeben, so dass rein die Integrationseinheiten auf die Sicherheitssysteme 110 zugreifen können. Beispielsweise ist es denkbar, dass auch die Aggregationseinheiten selbst auf die Sicherheitssysteme 110 zugreifen können. Der Grund dafür ist, dass beispielsweise durch die Integrationseinheiten 101 Aktualisierungen aufgedeckt werden könnten und aufgrund deshalb Aggregationsverfahren in Aggregationseinheiten 102 begonnen werden, und diese keinen direkten Zugriff auf die Integratoren besitzen und direkt die Resultate der Aggregationsverfahren schreiben.  It is not mandatory, so that purely the integration units can access the security systems 110. For example, it is conceivable that the aggregation units themselves can access the security systems 110. The reason for this is that, for example, the integration units 101 could detect updates and therefore start aggregation units 102 due to aggregation methods, and these have no direct access to the integrators and directly write the results of the aggregation methods.
Eine weitere Fähigkeit über die die Erfindung 100 verfügen kann sind Mittel zur Zugriffsentschei- dung 112. Also Zugriffsentscheider 114 und Entscheidungsmittel. Diese können alle in dieser Another capability that the invention 100 may have is access decision making means 112. Thus access decision makers 114 and decision making means. These can all be in this one
Erfindung 100 beschriebenen Entscheidungsmittel auswerten und über Zugriffe entscheiden. Beispielsweise könnten solche Mittel nach dem Vorbild von Spring Security oder Apache Shiro erstellt, oder dortige bereits bestehende Mittel könnten dahingehend modifiziert werden um die erweiterten neuartigen Funktionen dieser Erfindung 100 mit derzeit existierenden zu kombinieren. Eine weitere Möglichkeit ist es, dieses andere bereits bestehende Sicherheitssystem dahingehend weiterzuentwickeln, dass sie die Funktionen dieser Erfindung 100 in einem oder mehreren Apparaten, Verfahren oder Anordnungen unterstützen. Somit ist diese Erfindung, wie auch die Weiterentwicklung für jedes Sicherheitssystem zu sehen und kann dabei über, für besonders solche Fälle spezialisierte, Mittel verfügen, um eine optimale Integration zu erreichen. Evaluate invention 100 decision means described and decide on accesses. For example, such means could be modeled on Spring Security or Apache Shiro, or existing resources could be modified to combine the advanced novel features of this invention 100 with existing ones. Another possibility is to further develop this other existing security system to support the functions of this invention 100 in one or more apparatus, methods or arrangements. Thus, this invention as well as the advancement is to be seen for each security system and may have means specialized for such cases to achieve optimal integration.
Es gilt aber zu beachten, dass diese Erfindung 100 sich nicht nur für die Java Plattform oder die Java Enterprise Plattform umsetzen lässt. Vielmehr kann die Erfindung 100 auf den verschiedensten Plattformen realisiert werden. Beispielsweise auf der Dotnet Plattform oder auch in C++. Auch ist es denkbar, dass die Erfindung 100 als eine Kombination von verschiedenen Technologien umgesetzt wird. However, it should be noted that this invention 100 can not be implemented only for the Java platform or the Java Enterprise platform. Rather, the invention 100 can be realized on a variety of platforms. For example, on the Dotnet platform or in C ++. It is also conceivable that the invention 100 is implemented as a combination of different technologies.
Beispiele, Mittel zur Zugriffsentscheidung 112: Examples, means for access decision 112:
Die Mittel die von Sicherheitssystemen 110 oder der Erfindung 100 selbst genutzt werden, um Zugriffsentscheidungen zu treffen, können dabei vielfältig sein. Solche Mittel können zum Beispiel Zugriffskontrolllisten (engl. ACL, Access Control List), die heutzutage besonders häufig, wie zum Beispiel von Security oder auch einem Apache Webserver eingesetzt werden, sein. Aber auch Programme oder Tabellen in Datenbanken oder Internetseiten oder sämtliche Dokumente können solche Mittel sein. Ein weiteres Beispiel für solche Mittel können auch Annotationen sein oder Sicherheitsaspekte der Aspekt orientierten Programmierung. Somit können beispielsweise im Programmquelltext Ausdrücke angegeben werden, welche Rollen oder Erlaubnisse, welche Zugriffe auf zumindest eine Ressource 111 haben. Es können auch, z.B. durch solche Ausdrücke, direkt oder indirekt durch Systemlogik weitere Mittel, wie zum Beispiel Zugriffskontrolllisten spezifiziert werden, die bei der Zugriffsentscheidung genutzt werden. Ein weiteres Beispiel für solche Mittel zur Zugriffsentscheidung 112 können Klientinformationen sein.  The means used by security systems 110 or the invention 100 itself to make access decisions may be diverse. Such means may be, for example, Access Control Lists (ACL), which are particularly common nowadays, such as by Security or an Apache web server. But also programs or tables in databases or web pages or all documents can be such means. Another example of such means may also be annotations or security aspects of aspect oriented programming. Thus, for example, expressions can be given in the program source text, which roles or permissions, which have accesses to at least one resource 111. It may also be, e.g. by such expressions, directly or indirectly by system logic, further means, such as access control lists, are used which are used in the access decision. Another example of such access decision means 112 may be client information.
Klientinformationen:  Client information:
Aufgrund der vielfältigen Möglichkeiten, was oder wer ein Klient 130 sein kann, sind auch Klienteninformationen als Informationen über Benutzer zu verstehen, wie auch die Information über technische Geräte. Klienteninformationen sind dabei Informationen, die auf einen oder mehrere Benutzer oder auch auf einen oder mehrere Klienten 130, Geräte oder Verfahren bezogen sind. Klienteninformationen sind also hierbei Daten über oder von Benutzern oder Apparaten und Verfahren selbst. Dies können beispielsweise passive Daten, die zum Beispiel im Profil des Benutzers stehen, wie z. B. Heimatort, Gruppenmitgliedschaften, Freunde oder auch Daten, die zum Beispiel durch Analysen aufgedeckt wurden, sein. Andere Arten von Benutzerdaten können aktive Daten sein. Aktiv kann bedeuten, dass diese Daten erst zur Laufzeit existieren und sich besonders häufig ändern. Beispielsweise die aktuellen Koordinaten des Benutzers, dessen IP, Statusmeldung, Verbindungsgeschwindigkeit, Clienttyp. Aufgrund der Eigenschaften von bisher gezeigterBecause of the many possibilities of what or who a client can be, so are To understand client information as information about users, as well as information about technical devices. Client information is information related to one or more users or to one or more clients 130, devices or methods. Client information is thus data about or from users or devices and procedures themselves. This can be, for example, passive data, for example, in the profile of the user, such. As hometown, group memberships, friends or even data that have been revealed, for example, by analysis. Other types of user data may be active data. Active can mean that these data only exist at runtime and change very frequently. For example, the current coordinates of the user, their IP, status message, connection speed, client type. Due to the properties of previously shown
Klienteninformation ist oftmals weitere Information aus einer solchen Information ableitbar. Zum Beispiel im Standortumkreis aufgrund einer IP-Adresse. Solche ableitbare Information wird wiederum selbst auch als Klienteninformation bezeichnet. Client information is often derivable from such information further information. For example, in the location perimeter due to an IP address. Such derivable information is itself also referred to as client information.
Dabei kann z.B. auch eine Kombination der verschiedenen Möglichkeiten der Mittel zur Zugriffs- entscheidung 112 zu zumindest einer Zugriffsentscheidung verwendet werden. Beispielsweise eine Kombination aus Zugriffskontrolllisten und Annotationen und Aspekten, wie bei Spring Security. Diese Erfindung 100 ermöglicht es nun, diesen Umstand bei der Aggregatbildung bzw. Aggregation zu beachten.  In this case, e.g. A combination of the various possibilities of the access decision means 112 can also be used for at least one access decision. For example, a combination of access control lists and annotations and aspects, as in Spring Security. This invention 100 now makes it possible to take this circumstance into account when aggregating.
Somit ist es möglich, dass Informationen über Klienten, wie zum Beispiel dessen Standort in der Form von GPS Daten oder auch andere weiteren Daten aus dessen Profil, bei der Zugriffsentscheidung genutzt werden. Dies ermöglicht es z.B., dass die Erfindung 100 somit auch„Location based Access Control" unterstützen kann. Dabei können diese Daten mit weiteren Mitteln zur Zugriffsentscheidung kombiniert werden. Besonders vorteilhat hierbei ist, dass die Klienteninformationen als Mittel zur Zugriffsentscheidung 112 hierbei selbst in Aggregate einfließen können oder zu- sammen mit Aggregaten ausgewertet werden können. Für solche Szenarien kann die Erfindung Thus, it is possible that information about clients, such as its location in the form of GPS data or other other data from its profile, are used in the access decision. This makes it possible, for example, for the invention 100 to also be able to support "location-based access control." In this case, the data can be combined with other means for access decision, whereby it is particularly advantageous for the client information itself to be incorporated into aggregates as access decision means 112 or can be evaluated together with aggregates For such scenarios, the invention
100 über weitere besonders hierfür spezialisierte Mittel verfügen. Beispielsweise können Aggregate dahingehend optimiert und gebildet werden, dass Zugriffsentscheidungen durch diese, besonders im Bezug auf Performanz, bei der Einbeziehung von Klienteninformationen, zum Beispiel zu den Aggregaten selbst, bei der eigentlichen Zugriffsentscheidung, getroffen werden können. Zugriffskontrolllisten können des Weiteren mit den verschiedensten Ressourcen 111 assoziiert werden. Beispielsweise mit Klassen, Objekten und jeder Art von Dokumenten. Dadurch können die Rechte auf Ebene der verschiedensten Ressourcen 111 zugeordnet werden. Beispielsweise ist es damit möglich Rollen, Objektinstanzen bei einem Programm in einer objektorientierten Programmiersprache, wie z.B. Java oder Visual Basic, zuzuweisen. 100 have more specially specialized resources. For example, aggregates can be optimized and formed such that access decisions can be made by them, particularly in terms of performance, in the incorporation of client information, for example to the aggregates themselves, in the actual access decision. Access control lists may be further associated with a variety of resources 111. For example, with classes, objects, and any kind of documents. As a result, the rights at the level of the most diverse resources 111 can be assigned. For example, it is possible to use roles, object instances in a program in an object-oriented programming language, such Java or Visual Basic.
Ressourcen 111 oder Zugriffskontrolllisten können zusätzlich in einer bevorzugten Ausführung Beziehungen zueinander haben, wie zum Beispiel Erbschaft. Eine solche Erbschaft kann zum Beispiel bedeuten, dass die Rechte einer Zugriffskontrollliste die Rechte einer oder mehrerer anderer Zugriffskontrolllisten oder anderer Mittel einschließt. Beispielsweise kann ein Bild eines Verzeichnisses Rechte erben. Auch ist es denkbar, dass Hierarchien von Business Objekten, wie zum Beispiel Stammdaten oder Stammdatengruppen oder Belege oder/und andere Objekte in betriebswirtschaftlichen Systemen, wie z.B. in Erp Systemen oder Data Warehouses vorkommen und dadurch Rechte vererbt werden. Resources 111 or ACLs may additionally, in a preferred embodiment, have relationships with one another, such as inheritance. Such inheritance may mean, for example, that the rights of an access control list include the rights of one or more other access control lists or other means. For example, an image of a directory may inherit rights. It is also conceivable that hierarchies of business objects, such as master data or master data groups or documents and / or other objects in business systems, such as. in Erp systems or data warehouses, thereby inheriting rights.
Diese Beziehungen können zum Beispiel über die Angabe des Elternobjektes, zum Beispiel über deren Typ oder/und Identität definiert werden. Zum Beispiel über Klasse und ObjektlD der Eltern- objekte oder über die Identität der Eltern Entscheidermittel 113. Dies kann zum Beispiel in den These relationships can be defined, for example, by specifying the parent object, for example its type or / and identity. For example, about class and object ID of the parent objects or about the identity of the parent decision-making means 113. This can be found, for example, in the
Ressourcen 111 selbst oder auch in Entscheidermitteln 113 geschehen. Auch eine Kombination der Möglichkeit könnte in einer Variante der Erfindung 100 unterstützt werden. Aufgrund dessen, dass Entscheidermittel 113 mit Ressourcen 111 verknüpft sind, wird in dieser Offenbarung oftmals nur von der Erbschaft der Ressourcen 111 geschrieben, was jedoch auch immer die Erbschaft von Entscheidermitteln 113 einschließt und umgekehrt. Resources 111 themselves or in decision-making 113 done. A combination of the possibilities could also be supported in a variant of the invention 100. Due to the fact that decision-making means 113 are linked to resources 111, in this disclosure often only written by the inheritance of resources 111, which however always includes the inheritance of decision-making means 113 and vice versa.
Man beachte hierbei, dass diese Erbschafts- und andere Beziehungen auch zwischen Objektinstanzen bei der Programmierung sein können und nicht nur zwischen Klassen selbst oder Klassen und Objektinstanzen. Vielmehr ist es möglich, das jede Ressource 111 von jeder anderen Ressource 111 Rechte erbt, was die Erfindung 100 sehr flexibel und anpassungsfähig sein lässt.  Note that these inheritance and other relationships can also be between object instances in programming, not just between classes themselves or classes and object instances. Rather, it is possible that each resource 111 inherits rights from each other resource 111, which makes the invention 100 very flexible and adaptive.
Eine besonders bevorzugte Variante von Zugriffskontrolllisten unterstützt es, Verweigerungen und Erlaubnisse für Benutzer oder Benutzergruppen auf Daten und Funktionen zu definieren. Dabei können beispielsweise durch Verweigerungen Benutzer aus Gruppen ausgeschlossen werden. Ferner können solche Zugriffskontrolllisten Regeln oder Programme enthalten, oder auf Regeln oder Programme verweisen, wie deren Auswertung bei zumindest einer Zugriffsentscheidung genutzt wird. Dabei können solche Regeln oder Programme auch weitere Ressourcen 111 mit einbeziehen, die bei der Zugriffsentscheidung beachtet werden sollen. Die Erfindung 100 kann dabei über zusätzlich spezialisierte Mittel verfügen, die es ermöglichen, Aggregate für Regeln oder Programme zu berechnen. Dies kann z.B. dazu genutzt werden, die Auswertungsgeschwindigkeit für Zugriffskontrolllisten zu erhöhen, oder Systemen, die selbst nicht die Möglichkeit unterstützen, Regeln in Kombination mit Zugriffskontrolllisten zu nutzen, das Zusammenspiel mit anderen Systemen 110 oder mit Regeln oder Programmen zu ermöglichen.  A particularly preferred variant of access control lists helps to define denials and permissions for users or user groups for data and functions. For example, by denying users from groups can be excluded. Furthermore, such access control lists may contain rules or programs, or refer to rules or programs, as their evaluation is used in at least one access decision. In this case, such rules or programs can also include other resources 111, which should be taken into account in the access decision. The invention 100 may have additionally specialized means for calculating aggregates for rules or programs. This can e.g. be used to increase the access control list evaluation speed, or systems that do not themselves support the ability to use rules in combination with access control lists, to allow interaction with other systems 110, or with rules or programs.
Zugriffskontrolllisten können des Weiteren auch nur Regeln oder Programme sein, wie eine andere Ressource 111 als Zugriffskontrolliste zu nutzen oder zu transformieren ist.  Furthermore, access control lists can also only be rules or programs as to how to use or transform another resource 111 as an access control list.
Dadurch ist es möglich, dass zum Beispiel Freundeslisten in Social Networks zur Auswertung einer Erlaubnis eines Zugriffs genutzt werden können. Im Gegensatz zu heute eingesetzten manuellen Abfragen, die solche Fälle abprüfen, ist es somit möglich, diese Fälle über ein Sicherheitssystem abzuhandeln und somit sozusagen„virtuelle" Zugriffskontrolllisten nutzen. Dies ermöglicht es, die Sicherheitsfunktion für solche Fälle aus dem eigentlichen Quelltext zu entfernen und dadurch übersichtlicheren Quelltext schreiben, bzw. erzeugen zu können. Dadurch sind zusätzlich weitere Probleme, die sich aus der Limitation zuvor ergaben, gelöst. Beispielsweise kann somit von einer„Freundesliste als Zugriffskontrollliste" in anderen Zugriffskontrolllisten problemlos geerbt werden.  This makes it possible that, for example, friend lists in social networks can be used to evaluate a permission of an access. In contrast to manual queries used today to check such cases, it is thus possible to deal with these cases via a security system and thus use "virtual" access control lists as it were, which enables the security function to be removed from the actual source code for such cases As a result, additional problems arising from the limitation are solved, for example, it is thus easy to inherit from a "friends list as an access control list" in other access control lists.
Beispiele für solche Regeln können auch Überprüfungen sein, welche Rechte ein Benutzer bei einem Zugriff verändern darf. Oder es können komplexe Überprüfungen vorgenommen werden, welche verschiedenen Rechte ein Benutzer besitzen muss. Auch können solche Regeln oder Programme dazu dienen, weitere Informationen wie die reinen Zugriffskontrolllisten bei der Zugriffsprüfung zu beachten. Examples of such rules may also include checks on what rights a user may change during an access. Or complex checks can be made as to what different rights a user must possess. Also, such rules or programs may be used to comply with other information such as the pure access control lists in the access check.
Oftmals besitzen Zugriffskontrolllisten auch verschiedene Formate. Beispielsweise werden in einer Zugriffskontrollliste die Rechte für einen Klienten 130 aufgrund einer Bitmaske definiert. An anderer Stelle werden nur reine Listen definiert. Oder, anstatt den Klienten 130 oder die Gruppe direkt in der Zugriffskontrollliste zu definieren, wird eine Stellvertreteridentifikation hinterlegt. Andere erlauben es LDAP oder OpenID Verweise zu hinterlegen. Aus diesem Grund kann die Erfindung 100 für solche oder ähnliche Fälle über hierfür spezialisierte Mittel verfügen, um mit den verschiedensten Zugriffskontrolllisten arbeiten zu können. Dabei können auch weitere Apparate oder Verfahren eingesetzt werden, die dann Teil der Erfindung 100 sind. Beispielsweise um auf OpenID Provider zugreifen oder auch um die Zugriffskontrolllisten aus den verschiedenen Formaten zusammen aggregieren und in andere Formate transformieren zu können. Often access control lists also have different formats. For example, in an access control list, the rights for a client 130 are defined based on a bitmask. Elsewhere, only pure lists are defined. Or, instead of defining the client 130 or group directly in the access control list, a proxy identification is deposited. Others allow LDAP or OpenID references to be deposited. For this reason, for such or similar cases, the invention 100 may have specialized means for dealing with a variety of access control lists. In this case, other apparatus or methods can be used, which are then part of the invention 100. For example, to access OpenID Provider or aggregate the access control lists from the various formats and transform them into other formats.
Besonders bevorzugt bietet die Erfindung 100 auch Mittel, denen es möglich ist, die Zugriffskontrolllisten einfach zu verwalten, zum Beispiel durch zumindest ein Modell einer Zugriffskontrollliste 500, um die heterogenen Zugriffskontrolllisten aus verschiedenen Systemen 110 einheitlich bearbeiten zu können. Wobei mit verwalten hierbei beispielsweise eine Schnittstelle zur einfachen Bearbeitung oder den einheitlichen Zugriff oder ähnliches gemeint ist. Als Beispiel kann hierbei Fig. lc herangezogen werden. Dabei könnten in den verschiedenen Systemen 110 verschiedene Arten von Zugriffskontrolllisten zu finden sein, auf diese homogenisiert durch die Erfindung 100 zugegriffen wird. More preferably, the invention 100 also provides means for making it easy to manage the access control lists, for example, by at least one model of an access control list 500, uniformly around the heterogeneous access control lists from different systems 110 to edit. By managing this, for example, an interface for easy editing or the unified access or the like is meant. As an example, Fig. Lc can be used here. In this case, different types of access control lists could be found in the various systems 110, which can be accessed homogenized by the invention 100.
Eine Ausführung des Modells 500 oder auch von Zugriffskontrolllisten, die zusammen mit der Erfindung 100 eingesetzt werden können verfügt dabei auch über Rechte, die als nicht vererbbar markiert werden können. Bevorzugt ist des Weiteren auch eine Zugriffskontrollliste des Modells 500 danach aufgebaut, dass zu einer Gruppe oder einem Klienten 130 Rechte oder Rollen erlaubt und verweigert werden.  An embodiment of the model 500 or access control lists that can be used together with the invention 100 also has rights that can be marked as not inheritable. Furthermore, an access control list of the model 500 is furthermore preferably structured in such a way that rights or roles are permitted and denied to a group or a client.
Eine besonders bevorzugte weitere Fähigkeit ist es, nicht nur Rechte in Zugriffskontrolllisten spezifizieren zu können, sondern darin auch Rollen definieren zu können. Dadurch lassen sich Rollen ressourcenspezifisch oder auch in einer Ressourcenhierarchie definieren. Somit wird„Role based Access Control" auch auf Objektebene und nicht nur auf Klassenebene bei der Programmierung möglich, wie zum Beispiel bei Spring Security.  A particularly preferred further ability is not only to be able to specify rights in access control lists, but also to be able to define roles in them. This allows roles to be defined resource-specific or in a resource hierarchy. Thus, role-based access control is also possible at the object level and not just at the class level in programming, such as Spring Security.
Ferner könnten auch Hierarchien von Rechten oder Rollen in Zugriffskontrolllisten definiert werden. Diese können dann bei Zugriffsentscheidungen oder der Aggregation genutzt werden. Der große Vorteil ist dabei, dass somit die Komplexität bei der Vergabe von Rechten abnimmt.  Furthermore, hierarchies of rights or roles in access control lists could also be defined. These can then be used for access decisions or aggregation. The big advantage here is that it reduces the complexity of assigning rights.
Bevorzugt verfügt die Erfindung 100 auch über die Fähigkeit, dass Informationen in einem oder mehreren Ausführungen der Erfindung 100 gespeichert werden können. Beispielsweise, wenn sich Informationen, zum Beispiel Erbinformationen, nicht in Sicherheitssystemen 110 speichern lassen. Zum Beispiel die Information, welche Ressource 111 von welchen Ressourcen 111 erbt. Aber es sind auch andere Fähigkeiten denkbar, über die z.B. das Modell 500 einer Zugriffskontrollliste verfügen kann. Solche Informationen können dann in der Erfindung 100 selbst gespeichert wer- den, oder diese verfügt zum Beispiel über Mittel die benötigten Informationen über Umwege im betreffenden System zu speichern. Beispielsweise könnte ein Aggregat berechnet werden, und die Zusatzinformationen könnten in den Kommentaren einer Zugriffskontrollliste gespeichert werden. Preferably, the invention 100 also has the ability to store information in one or more embodiments of the invention 100. For example, if information, for example genetic information, can not be stored in security systems 110. For example, the information which resource 111 inherits from which resources 111. But other abilities are conceivable, over which e.g. the model 500 may have an access control list. Such information can then be stored in the invention itself, or it has, for example, means to store the required information via detours in the relevant system. For example, an aggregate could be calculated, and the additional information could be stored in the comments of an access control list.
Fig. lb zeigt die Erfindung 100 in einem größeren Umfeld. Hierbei ist zu sehen, dass die Erfindung 100 selbst ein Sicherheitssystem 110 beinhalten oder mit diesem direkt verbunden sein kann. Des Weiteren ist zu sehen, dass sie auch mit einer weiteren Instanz oder Variante der Erfindung 100 direkt verbunden sein kann. Beispielsweise kann durch diese Möglichkeiten eine höhere Skalierbarkeit ermöglicht werden. Fig. 1b shows the invention 100 in a larger environment. It can be seen that the invention 100 may itself include or may be directly connected to a security system 110. Furthermore, it can be seen that it can also be directly connected to a further instance or variant of the invention 100. For example, a higher scalability can be made possible by these possibilities.
Im Weiteren ist zu sehen, dass die Erfindung 100 mit weiteren Systemen 110 und Instanzen oder Varianten der Erfindung 100 über zumindest ein Computernetzwerk 50, wie zum Beispiel das Internet, verbunden sein kann. Dabei kann eine solche Verbindung eine statuslose oder auch statusbehaftete Verbindung sein.  It will be further understood that the invention 100 may be coupled to other systems 110 and instances or variants of the invention 100 via at least one computer network 50, such as the Internet. In this case, such a connection can be a stateless or stateful connection.
Auch zeigt Fig. lb, dass sämtliche Kommunikation der Erfindung 100 über zumindest ein Computernetzwerk 50 stattfinden kann. Es ist dabei aber auch möglich, dass eine Vielzahl vom Computernetzwerken 50 benutzt wird. Beispielsweise kann ein Klient 130 oder andere Teile auch über ein Drahtlosnetzwerk, wie Wlan oder Mobilfunknetzte mit der Erfindung 100 kommunizieren.  Also, FIG. 1b shows that all communication of the invention 100 can take place over at least one computer network 50. But it is also possible that a variety of computer networks 50 is used. For example, a client 130 or other parts may also communicate with the invention 100 over a wireless network, such as WLAN or cellular networks.
Durch die Verteilung über ein Computernetzwerk 50 ist es auch möglich, dass die Erfindung 100 selbst oder Teile von ihr über ein Computernetzwerk 50 verbunden und verteilt sind. Beispielsweise müssen Aggregation und Integrationseinheiten nicht zwangsläufig in einem System realisiert werden.  Through distribution over a computer network 50, it is also possible for the invention 100 itself or portions thereof to be connected and distributed over a computer network 50. For example, aggregation and integration units do not necessarily have to be implemented in one system.
Die verschiedenen Systeme 110 in Fig. lb zeigen weiterhin, dass eine Vielzahl von verschiedenen Verfahren und Systemen 110 mit einer Vielzahl von Instanzen der Erfindung 100 oder einer Viel- zahl derer Komponenten zusammenspielen kann. Dies ermöglicht eine besonders gute The various systems 110 in FIG. 1 b further illustrate that a plurality of different methods and systems 110 having a plurality of instances of the invention 100 or a plurality number of components can play together. This allows a particularly good
Verteilbarkeit der Erfindung, z.B. in großen Clusterumgebungen. Spreadability of the invention, e.g. in large cluster environments.
Der Klient, der auch an das Computernetzwerk 50 angeschlossen ist, zeigt dabei, dass dieser direkt über das Netzwerk auf die Systeme 110, wie auch auf die Erfindung 100 zugreifen kann. Dabei ist dieser Klient aber als Stellvertreter für eine Vielzahl von Klienten 130 zu sehen.  The client, who is also connected to the computer network 50, shows that this can access the systems 110, as well as the invention 100 directly via the network. However, this client can be seen as a representative for a large number of clients 130.
Man beachte, dass die Erfindung 100 nicht zwangsläufig in einem Computernetzwerk 50 eingesetzt werden muss. Vielmehr kann diese auch in einer Vielzahl von Computernetzwerken eingesetzt werden. Beispielsweise auch in Peer-to-Peer-Netzwerken. Oder es ist möglich, dass der Klient über ein Mobilfunknetz mit dem Internet verbunden ist.  It should be noted that the invention 100 does not necessarily have to be used in a computer network 50. Rather, it can also be used in a variety of computer networks. For example, in peer-to-peer networks. Or it is possible that the client is connected to the Internet via a mobile network.
Fig. lc zeigt dabei, wie die Erfindung 100 als Vermittler zur Kommunikation mit einer Vielzahl von Systemen 110 eingesetzt werden kann. Dies hat den Vorteil, dass durch die Erfindung 100 homogenisiert auf die verschiedenen Systeme 110 zugegriffen werden kann. Dabei ist es auch möglich, dass auf eine Instanz der Erfindung 100 zugegriffen wird, und diese mit weiteren Instanzen kommuniziert, um es z.B. Klienten 130 zu ermöglichen, Einstellungen zentral vornehmen zu können, und diese dann verteilt werden. Dabei kann der Klient 130 auch durch die einzelnen Bestandteile der Erfindung 100 auf verschiedene Systeme 110 zugreifen oder diese können bei einem Zugriff genutzt werden. Beispielsweise können Entscheidermittel 113 durch die Erfindung, z.B. auch unter Zuhilfenahme eines Modells 500 oder/und Integratoren angesprochen und manipuliert werden. FIG. 1c shows how the invention 100 can be used as an intermediary for communication with a plurality of systems 110. This has the advantage that, homogenized by the invention 100, the various systems 110 can be accessed. It is also possible for an instance of the invention 100 to be accessed, and to communicate this with other instances, e.g. Allowing clients 130 to make settings centrally and then distributing them. In this case, the client 130 can also access various systems 110 through the individual components of the invention 100 or these can be used in an access. For example, arbitration means 113 may be implemented by the invention, e.g. also be addressed and manipulated with the help of a model 500 or / and integrators.
Auch ist es möglich, dass durch das Ansprechen der einzelnen Systeme 110 in der oder den Erfindungen, Erbschaftsinformationen hinterlegt werden. Beispielsweise kann durch einen Zugriff spezifiziert werden, welche Ressourcen 111 Rechte von welchen Ressourcen 111 erben. Dabei ist es auch möglich, dass die Erbschaftsstruktur, über Zugriffe auf eine oder mehrere Erfindungen oder Systeme 110 geändert wird. It is also possible that inheritance information is deposited by the response of the individual systems 110 in the invention or inventions. For example, an access can specify which resources 111 inherit rights from which resources 111. It is also possible that the inheritance structure is changed by accessing one or more inventions or systems 110.
Man beachte dabei, das ein Klient 130 in Fig. lc nicht zwingend ein Benutzer sein muss. Vielmehr kann ein solcher Klient 130, wie beschrieben, auch ein System oder eine Erfindung 100 sein, wie dies durch die verschiedenen Bezeichner 100/110/130 angedeutet ist. Fig. ld stellt dies noch einmal deutlicher dar. Dabei wird das Ganze zweistufig dargestellt. Ein Klient 100/110/130 kommuniziert dabei mit einem System oder einer Erfindung 100/110, das oder die wiederum mit einer Erfindung 100 kommunizieren kann. Dabei kann durch eine solche Kommunikation oder eine direkte Kommunikation mit einem Klienten 130 z.B. eine Aktion 150, wie zum Beispiel ein Verfahren ausgelöst werden. It should be noted that a client 130 in Fig. Lc does not necessarily have to be a user. Rather, as described, such a client 130 may also be a system or invention 100, as indicated by the various identifiers 100/110/130. FIG. 1 d illustrates this once again more clearly. The whole is represented in two stages. A client 100/110/130 communicates with a system or invention 100/110, which in turn may communicate with an invention 100. In doing so, by such communication or direct communication with a client 130 e.g. an action 150, such as a procedure being triggered.
Beispielsweise kann eine solche Aktion 150 ein Verfahren der Aggregatbildung sein. Für das Auslösen von Aktionen 150 können dabei hierfür besonders spezialisierte Mittel eingesetzt werden. Beispielsweise könnten regelmäßig Entscheidermittel 113 auf Aktualisierungen überprüft werden und dadurch die entsprechende Aggregatbildung ausgelöst werden. Dies könnte zum Beispiel in einem oder mehreren Integratoren oder in hierfür speziell ausgebildeten Mittel geschehen. Es könnte auch möglich sein, dass ein Klient 130, einer Erfindung 100 oder dem System einer Erfindung 100 mitteilt, dass Entscheidermittel 113 aktualisiert werden. Beispielsweise über spezielle dafür ausgebildete Mittel für diesen Fall, wie eine Erweiterung der mit der Erfindung 100 zusammen eingesetzten Systeme.  For example, such action 150 may be a method of aggregate formation. For the triggering of actions 150 particularly specialized means can be used for this purpose. For example, decision-making means 113 could be regularly checked for updates, thereby triggering the corresponding aggregate formation. This could be done, for example, in one or more integrators or in specially designed means. It could also be possible for a client 130, an invention 100 or the system of an invention 100 to communicate that decision-making means 113 be updated. For example, via special means designed for this case, such as an extension of the systems used together with the invention 100.
Durch diese Fähigkeiten können somit zusammenfassend gesagt, z.B. mehrere Erfindungen hintereinander geschaltet werden. Des Weiteren wurde erläutert wie passiv, wie z.B. durch Mitteilungen und aktiv, z.B. durch regelmäßiges Prüfen von Entscheidermitteln 113, Aktualisierungen von Entscheidermitteln 113 erkannt werden können, und dies zu Aktionen 150, wie z.B. Aggregatbildungen führen kann. Somit kann die Erfindung 100 über Mittel verfügen, dass Aktualisierungen von Entscheidermitteln 113 erkannt werden. Dies kann dazu genutzt werden, dass beispielsweise ein Prozess zur Aggregatbildung, für Objekte die Rechte erben, automatisiert durchgeführt wird. Thus, in summary, these abilities can be used, for example, to connect several inventions in succession. Furthermore, it was explained how passive, such as by notifications and actively, eg by regularly checking decision-making means 113, updates of decision-making means 113 can be detected, and this can lead to actions 150, such as aggregate formations. Thus, the invention 100 may include means for recognizing updates of arbitration means 113. This can be used to automate, for example, a process for aggregate formation, for objects that inherit rights.
Fig. le zeigt einen weiteren Systemaufbau mit Klienten 130 und Erfindungen 100 und Systemen 110. Dabei können Klienten 130 wie zuvor auch Systeme 110 oder auch Erfindungen 100 sein. Der Klient 130 kann dabei direkt auf eine Ressource 111 zugreifen, die in einer Erfindung 100 oder einem herkömmlichen Sicherheitssystem zu finden ist 110/100. Beim Zugriff werden dabei Mittel zur Zugriffsentscheidung ausgewertet und zumindest eine Zugriffsentscheidung zu fällen. Der Klient kann dabei auch über die Erfindung 100 auf die Ressource 111 zugreifen. Eine weitere Möglichkeit ist, dass der Klient Mittel zum Zugriff auf die Ressource 111 der Erfindung 100 übermittelt bekommt, durch die er Zugriff auf die Ressource 111 erlangen kann. Beispielsweise können diese Mittel zum authentifizieren sein, durch die er sich beim System 100/110, das die Ressource 111 verwaltet, authentifizieren kann, oder durch die er Zugriff erlangen kann.  FIG. 11 shows a further system structure with clients 130 and inventions 100 and systems 110. In this case, clients 130, as before, can also be systems 110 or inventions 100. The client 130 can directly access a resource 111 which can be found in an invention 100 or a conventional security system 110/100. When accessing means for access decision are evaluated and to make at least one access decision. The client can also access the resource 111 via the invention 100. Another possibility is that the client receives means for accessing the resource 111 of the invention 100 through which it can gain access to the resource 111. For example, these means may be for authenticating, by which it can authenticate itself to the system 100/110 managing the resource 111, or by which it can gain access.
Die Erfindung 100 kann des Weiteren über kryptographische Mittel verfügen. Diese können bei- spielsweise in solchen Szenarien eingesetzt werden. Dabei kann dem Klienten 130 beispielsweise ein Geheimnis übermittelt werden, durch das er Zugriff erlangen kann.  The invention 100 may further include cryptographic means. These can be used, for example, in such scenarios. In this case, the client 130, for example, a secret can be transmitted through which he can gain access.
Auch ist es möglich, dass sich der Klient 130 bei einer oder mehreren Erfindungen authentifiziert oder autorisiert, und diese dann den einzelnen Systemen 110 oder Erfindungen mitteilen, welcher Klient aufweiche Ressource 111 Zugriff hat.  Also, it is possible for the client 130 to authenticate or authorize one or more inventions, and then notify the individual systems 110 or inventions which client has access to the resource 111.
Bei solchen Szenarien können des weiteren Zeitfenster gesetzt werden, wie lange ein Klient Zugriff auf eine Ressource 111 hat. Beispielsweise, indem Geheimnisse eine Gültigkeitsdauer erhalten und diese beispielsweise den einzelnen Systemen 110 oder Erfindungen mitgeteilt wird.In such scenarios, further time windows may be set as to how long a client has access to a resource 111. For example, by secrets get a period of validity and this example, the individual systems 110 or inventions is communicated.
Somit ist es möglich, dass auf Ressourcen 111 nicht über ein zentrales Sicherheitssystem zugegriffen werden muss, sondern direkt auf Ressourcen 111 in weiteren Systemen 110 durch verschie- denste Mittel zugegriffen werden kann. Thus, it is possible that resources 111 do not need to be accessed via a central security system, but resources can be directly accessed by resources 111 in further systems 110.
Diese Fähigkeiten ermöglichen es zum Beispiel, dass Dateiuploads nicht über einen Dateistream über einen Server/System 110 zur Sicherheitskontrolle gesendet werden müssen. Vielmehr ist es somit möglich, dass Klienten 130 direkt Zugriff auf Ressourcen 111 erlangen und somit direkt Ressourcen 111 vom Klienten 130 in ein System übertragen werden können.  For example, these capabilities allow file uploads to not be sent over a file stream through a security server / system 110. Rather, it is thus possible for clients 130 to gain direct access to resources 111 and thus directly transfer resources 111 from client 130 into a system.
Diese Fähigkeit ermöglicht es, die Erfindung 100 besonders komfortabel mit Cloud Computing Diensten, wie zum Beispiel den Amazon Webservices, der Google App Engine oder Ähnlichen und zugehörigen weiteren Diensten einzusetzen. Beispielsweise können somit durch die Mittel, Geheimnisse für Klienten 130 zeitbegrenzt für den Zugriff zu berechnen, für sie direkte Uploads angeboten werden. Desweiteren können alle weiteren Fähigkeiten der Erfindung 100 in einem solchen Cloud oder Grid Computing Umfeld genutzt werden. Dadurch können somit die Sicherheitsmechanismen, die dort schon existieren, verwendet und durch die Erfindung 100 ergänzt werden. Beispielsweise können somit Zugriffskontrolllisten durch Vererbung ergänzt werden.This capability allows the invention 100 to be most conveniently deployed with cloud computing services, such as Amazon Web Services, Google App Engine, or the like and related other services. Thus, for example, by the means of calculating secrets for clients 130 for access in a time-limited manner, direct uploads can be offered for them. Furthermore, all other capabilities of the invention 100 can be used in such a cloud or grid computing environment. As a result, the security mechanisms that already exist there can thus be used and supplemented by the invention 100. For example, access control lists can thus be supplemented by inheritance.
Besonders vorteilhaft ist auch die Fähigkeit der Erfindung, mit Identitätsprovidern 140, zum Beispiel Ldap- Authentifizierung (beschrieben in: Also particularly advantageous is the ability of the invention to communicate with identity providers 140, for example Ldap authentication (described in:
http://www.microsoft.con germany/technet/itsolutions/network/grundlagen/tec_comp_2_2_3.msp x) oder ähnlichen Apparaten, Techniken, Verfahren, Protokollen oder einer Kombination derer, zusammenarbeiten zu können, wie beispielsweise OpenID (http://openid.net/), Kerberos (http://de.wikipedia.org/wiki/Kerberos_(Informatik), http://www.hznet.de/security/kerbeinf.pdf ) oder andere Authentifizierungsmittel. Identitätsprovider sind somit Mittel, die zumindest einen Benutzer authentifizieren können. Insbesondere in großen verteilten Szenarien ist diese Fähigkeit vorteilhaft. Fig. lf zeigt hierzu exemplarisch ein solches Szenario. Dabei ist zu sehen, wie ein Klient 130 mit dem Identitätsprovider 140 kommuniziert, beispielsweise zur Authentifizierung, wobei diese auch über die Erfindung 100 oder in Kombination mit dieser und dem System 100/110 mit der Ressource 111 geschehen kann. Diese und ähnliche Vorgänge sind dabei aus dem Stand der Technik bekannt. Wesentlich für dieses Szenario ist dabei, dass die Erfindung 100 und das System 100/110 mit der Ressource 111, einen Identitätsprovider 140 nutzen kann. http: //www.microsoft.con germany / technet / itsolutions / network / fundamentals / tec_comp_2_2_3.msp x) or similar devices, techniques, procedures, protocols, or a combination of those that work together, such as OpenID (http: // openid.net/), Kerberos (http://en.wikipedia.org/wiki/Kerberos_(Computer science), http://www.hznet.de/security/kerbeinf.pdf) or other authentication means. Identity providers are thus means that can authenticate at least one user. Especially in large distributed scenarios, this capability is beneficial. FIG. 1f shows an example of such a scenario. It can be seen how a client 130 communicates with the identity provider 140, for example for authentication, this can also be done via the invention 100 or in combination with this and the system 100/110 with the resource 111. These and similar processes are known from the prior art. Essential for this scenario is that the invention 100 and the system 100/110 with the resource 111, an identity provider 140 can use.
Man beachte zudem, dass ein Identitätsprovider selbst wiederum ein System 110 sein kann. Note also that an identity provider itself may be a system 110.
Beispielsweise kann die Erfindung 100 Aggregate für das System 100/110 berechnen, in denen Verweise auf einen Identitätsprovider 140 gesetzt werden. Dies ermöglicht es zum Beispiel, dass der Klient 130 sich direkt durch den Identitätsprovider 140 authentifizieren kann, und die Erfindung 100 selbst bei dem konkreten Zugriff nicht gebraucht wird.  For example, the invention may calculate 100 aggregates for the system 100/110 in which references to an identity provider 140 are set. This allows, for example, client 130 to authenticate directly through identity provider 140, and invention 100 is not needed even in the specific access.
Eine weitere Fähigkeit über die die Erfindung 100 in einer Ausführung verfügen kann ist zudem das Integrieren von verschiedenen Identitätsprovidern 140 oder ähnlichen Authentifizierungsmit- teln. Dabei kann diese über die Fähigkeit verfügen, Klienten 130 eines Identitätsproviders 140 Klienten 130 in einem anderen Identitätsprovider 140 zuzuordnen. Solche Zuordnungen können zum Beispiel durch Regeln oder einfache oder komplexe Mappings, die z.B. in einer Speicherein- heit, auf die die Erfindung 100 zugreifen kann oder die in diese integriert ist, definiert werden.Another capability that the invention 100 may have in one embodiment is also the integration of various identity providers 140 or similar authentication means. It may have the ability to associate clients 130 of one identity provider 140 with clients 130 in another identity provider 140. Such associations can be made, for example, by rules or simple or complex mappings, e.g. in a memory unit which the invention 100 can access or which is integrated into it.
Dadurch können beispielsweise bei der Aggregatbildung nicht nur systemübergreifend Aggregate und Vererbungen ermöglicht werden, sondern es können dabei weitere Rahmenfaktoren beachtet werden und dass verschiedene Systeme 110 auch oftmals Klienten 130 verschieden bezeichnen können. Somit können letztendlich auch Ressourcen 111 in Systemen 110 mit verschiedenen Sys- temen 110 durch die Erfindung 100 Beziehungen wie z.B. Erbschaft haben. As a result, aggregates and inheritances, for example, can not only be made possible across aggregates in aggregate formation, but additional framework factors can be taken into account and different systems 110 can often also designate clients 130 differently. Thus, in the end, resources 111 in systems 110 having different systems 110 can also be used by the invention 100 relations such. Have inheritance.
Diese Fähigkeiten, durch die Erfindung 100 eine höhere Skalierbarkeit erreichen zu können, kann besonders bevorzugt im Bezug auf moderne Internetplattformen wie z.B. Social Networks eingesetzt werden. Beispielsweise hat http://www.studivz.net/ das http://www.wer-kennt-wen.de/ und http://www.facebook.com/ das Problem, sofern die Adresse eines Bildes im Netzwerk bekannt ist, dass jeder durch die direkte URL das Bild abrufen kann und keine Sicherheitsfunktionen mehr das Bild schützen, da nur der Zugriff durch die Plattform die Sicherheitsüberprüfung durchführt und nicht die Bild-ausliefernde Komponente. Dies wird von vielen Benutzern als Sicherheitslücke gesehen. Durch die Erfindung 100 wäre ein solches Problem lösbar. Dabei könnten direkt Entscheidermittel 113 zum Bild hinzu gespeichert werden. Zum Beispiel als Zugriffskontrolliste für den Webserver der das Bilder ausliefert.  These capabilities of being able to achieve greater scalability by the invention 100 may be particularly preferred in relation to modern Internet platforms, such as e.g. Social networks are used. For example, http://www.studivz.net/ http://www.wer-kennt-wen.de/ and http://www.facebook.com/ has the problem, as long as the address of an image in the network is known that anyone can retrieve the image through the direct URL and no security features protect the image, since only platform access performs the security check, not the image delivery component. This is seen by many users as a security hole. The invention 100 would solve such a problem. Decision maker 113 could be added to the image directly. For example, as an access control list for the web server that delivers the images.
Beispielhaft ist dies in Fig. lg aufgezeigt. Dabei wurde ein allgemeines System 110 durch ein Social Network 160 dargestellt, um das Szenario besser zu visualisieren. Dabei wurde bewusst ein zweites System 110 hinzugefügt, das zumindest z.B. den Bildserver 110 des Social Networks darstellt und somit symbolisieren soll, dass auf diesen auch ohne das Social Network 160 zugegrif- fen werden kann. Die Erfindung 100 erzeugt dabei aus den Daten im Social Network 160 This is shown by way of example in FIG. A general system 110 has been represented by a social network 160 to better visualize the scenario. A second system 110 has been deliberately added which is at least e.g. represents the image server 110 of the social network and thus symbolize that it can be accessed without the social network 160. The invention 100 generates from the data in the social network 160
Entscheidermittel 113 und speichert diese in dem Bilderserver 110. Dies kann beispielsweise dadurch passieren, dass auf Datenbanken oder ähnliches des Social Networks 160 zugegriffen wird und daraus Zugriffskontrolllisten erstellt werden. Dabei können in diesen auch Benutzer/Klienten 130 spezifiziert werden, die auf verschiedene Bilder Zugriff haben. Dabei könnten zum Beispiel Verweise von Bildern zu den Benutzerdaten/Klienteninformationen/Benutzeridentitäten hinterlegt werden. Decision-making means 113 and stores them in the image server 110. This can happen, for example, by accessing databases or the like of the social network 160 and creating access control lists therefrom. In this case, users / clients 130 who have access to different images can also be specified therein. In this case, for example, references of images to the user data / client information / user identities could be deposited.
Der Klient 130 kann nun auf das Social Network 160 und den Bilderserver 110 zugreifen. Dabei kann dann der Bilderserver 110 die Zugriffskontrolle des Zugriffsentscheiders unter Nutzung der Entscheidermittel 113, die durch die Erfindung 100 erzeugt oder aktualisiert wurden, durchführen. Dabei können zuvor oder im Weiteren in diesem Dokument spezifizierte Mittel genutzt werden. Beispielsweise könnte der Klient 130 vom Social Network 160 ein Geheimnis erhalten. Oder der Klient 130 könnte sich gegenüber dem Social Network 160 authentifizieren, womit dieses die Rolle eines Identitätsproviders 140 einnimmt. Auch ist es denkbar, andere Identitätsprovider 140 zu nutzen. Zum Beispiel könnten ähnliche Verfahren oder Apparate, wie ein Apache Websever eingesetzt werden, für den Module verfügbar sind, um gegen verschiedenste Quellen Authentifizierungen durchzuführen oder auch auf verschiedenste Quellen zu verweisen. The client 130 can now access the social network 160 and the image server 110. In this case, the image server 110 can then perform the access control of the access decision using the decision means 113, which were generated or updated by the invention 100. In this case, means previously or subsequently specified in this document can be used. For example, client 130 could be kept secret by social network 160. Or the client 130 could authenticate itself to the social network 160, thus assuming the role of an identity provider 140. It is also conceivable that other identity providers 140 to use. For example, similar methods or devices could be used, such as an Apache Web server, for which modules are available to authenticate against a variety of sources or to refer to a variety of sources.
Generell sind hierbei durch die Aggregate viele Möglichkeiten denkbar, wie dieser direkte Zugriff durchgeführt werden könnte. Im Wesentlichen besitzt die Idee, und ein somit zugehöriges Verfahren oder Apparate durch die Erfindung 100 zu nutzen und Bilder oder ähnliches von modernen Web Plattformen, insbesondere Social Networks 160 abzusichern, die folgenden Schritte. Diese oder Teile derer können natürlich mit allen weiteren Merkmalen der Erfindung kombiniert werden. a. Zugriff auf die Daten zumindest einer Webplattform 160 und bestimmen der Daten, die für zumindest eine Zugriffsentscheidung auf zumindest eine Ressource 111 innerhalb der In general, many possibilities are conceivable here through the aggregates, how this direct access could be carried out. Essentially, the idea of using an associated method or devices by the invention 100 and securing images or the like of modern web platforms, particularly social networks 160, has the following steps. Of course, these or parts thereof may be combined with all other features of the invention. a. Access the data of at least one web platform 160 and determine the data that is required for at least one access decision to at least one resource 111 within the
Webplattform 160 genutzt werden; Web platform 160 can be used;
b. berechnen und Speichern von Mitteln 113, die zu zumindest einer Zugriffsentscheidung genutzt werden, wobei diese Zugriffsentscheidung unter der Nutzung von Mitteln 114 des ressourcenausliefernden Systems 110 stattfindet.  b. calculating and storing means 113 used for at least one access decision, this access decision taking place using resources 114 of the resource-providing system 110.
Somit stellt diese Ausführung der Erfindung 100 eine Möglichkeit dar die Systeme, die Ressourcen 111 wie Bilder oder ähnliches ausliefern, zusätzlich zu der Zugriffsentscheidungen zu Nutzen. Dies ermöglicht es somit, diese Ressourcen 111 besser abzusichern und stellt dabei besser dar, wobei die Erfindung 100 in einem Anwendungsfall eingesetzt werden kann. Thus, this embodiment of the invention 100 provides a way to benefit the systems that deliver resources 111, such as images or the like, in addition to the access decisions. This thus makes it possible to better secure these resources 111 and represents them better, wherein the invention 100 can be used in an application.
Die Erfindung 100 kann zudem über die Eigenschaft verfügen, dass ihr zur Laufzeit neue Funktio- nen hinzugefügt werden. Beispielsweise durch das Nachladen von Quelltext oder kompilierten Programmen. Dies ermöglicht es, die Erfindung 100 besonders flexibel anzupassen.  The invention 100 may also have the property of adding new functions at runtime. For example, by reloading source code or compiled programs. This makes it possible to adapt the invention 100 particularly flexibly.
In Fig. 2a ist ein Beispiel für die Erbschaft von Entscheidermitteln 113 oder auch von Ressourcen 111 aufgezeigt. Dabei kennzeichnen die Vierecke die einzelnen verschiedenen Systeme 110, benannt mit 200, 210 und 220, in denen die Ressource 111 oder auch die Entscheidermittel 113 vor- kommen können. Die Kreise zeigen Anordnungen der Erbschaft zwischen Mitteln, die zur Zu- griffsentscheidung genutzt werden, die zum Beispiel dadurch zu Stande kommen, dass auf eine Ressource 111 eine oder mehrere ElternRessourcen 111 verweisen oder es in den  FIG. 2 a shows an example of the inheritance of decision-making means 113 or of resources 111. In this case, the quadrangles mark the individual different systems 110, designated 200, 210 and 220, in which the resource 111 or else the decision-making means 113 can occur. The circles show arrangements of the inheritance between means used for access decision, for example, by virtue of a resource 111 referencing one or more parent resources 111 or placing it in the
Entscheidermitteln 113 selbst definiert ist, wovon geerbt wird. Es ist dabei zu sehen, dass 211 von 201 erbt und 212 und 222 von 211. Dabei ist die Erbschaft zwischen 211 und 201 systemübergrei- fend zwischen 210 und 200 und die Erbschaft zwischen 222 und 211 zwischen den Systemen 110 220 und 210. Ähnlich ist der Sachverhalt zwischen 202 und 221, 223 und 224. Is itself defined, what is inherited from it. It can be seen that 211 inherit from 201 and 212 and 222 from 211. The inheritance between 211 and 201 is system-wide between 210 and 200 and the inheritance between 222 and 211 between the systems 110 220 and 210. Similarly the facts between 202 and 221, 223 and 224.
Fig. 2b zeigt dabei ein weiteres Beispiel für eine Erbschaft. Hierbei wird von mehreren Elternobjekten geerbt. Dabei kann eine Mehrfachvererbung beliebig viele Vorfahren besitzen, von denen Rechte ererbt werden. Dieses Beispiel der Mehrfachverberung wird in Fig. 2c in einem größeren Rahmen dargestellt. Dabei wird gezeigt, dass Mehrfachvererbung dabei auch über verschiedene Systeme 110 230, 240 und 250 hinweg geschehen kann. Dabei sind wie zuvor die Pfeilspitzen als Eltern-Kind-Zuordnung zu sehen.  FIG. 2b shows a further example of an inheritance. This is inherited from multiple parent objects. Multiple inheritance can have any number of ancestors from whom rights are inherited. This example of multiple interleaving is shown in Fig. 2c in a larger frame. It is shown that multiple inheritance can also happen over different systems 110 230, 240 and 250. As before, the arrowheads are to be seen as a parent-child assignment.
Eine Variante der Erfindung 100 kann des Weiteren über Fähigkeiten verfügen, die es ermöglichen, Elemente im Erbschaftsbaum anders anzuordnen und die Vererbungsstruktur zu verändern oder auch die Vererbung für einzelne Elemente an als auch abzuschalten. An als auch abzuschalten bedeutet dabei, dass zum einen Elemente, die einen oder mehrere Vorfahren besitzen, zukünftig keine oder weniger Vorfahren besitzen und somit keine oder weniger Rechte erben oder zum anderen umgekehrt Elemente, die keine Vorfahren besitzen, einen oder mehrere Vorfahren zugeteilt bekommen. Ebenso können Elemente neue Vorfahren oder weitere Vorfahren zugeteilt bekom- men. Für solche Fälle kann die Erfindung 100 zudem über weitere, besonders hierfür spezialisierte, Mittel verfügen, die zum Beispiel neue Aggregatvorgänge auslösen, die die neue Erbschaftsstruktur und die zugehörigen Mittel zur Zugriffsentscheidung 112 beachten. Besonders bevorzugt kann die Erfindung 100 auch über einen Zykluschecker bei der Vererbung verfügen. Ein solcher kann beispielsweise Zyklen in Vererbungshierarchien aufdecken. Dieser kann bei Einfach- als auch bei Mehrfachvererbung eingesetzt werden. Ein Beispiel für einen Zyklus ist in Fig. 2c zu sehen. Dabei erbt 242 von 241 und 231 von 242. Nun könnte die Verbindung 260 durch die 241 hinzugefügt werden durch die 241 von 231 erben würde. Solche und ähnliche Fälle können von einem Zykluschecker erkannt werden. A variant of the invention 100 may further have capabilities that make it possible to rearrange elements in the inheritance tree and to change the inheritance structure or to turn off the inheritance for individual elements as well as off. Turning on and off means that, on the one hand, elements that have one or more ancestors will have no or fewer ancestors in the future and thus inherit no or fewer rights or, conversely, elements that have no ancestors, will be assigned one or more ancestors. Likewise, elements can be assigned to new ancestors or ancestors. For such cases, the invention 100 may also have other means, specialized for this purpose, which, for example, trigger new aggregate operations that respect the new inheritance structure and the associated access decision means 112. Particularly preferably, the invention 100 may also have a cycle checker in the case of inheritance. For example, such can reveal cycles in inheritance hierarchies. This can be used for single as well as for multiple inheritance. An example of a cycle is shown in Fig. 2c. In this case, 242 inherits from 241 and 231 from 242. Now, link 260 could be added by 241 through which 241 of 231 would inherit. Such and similar cases can be detected by a cycle checker.
Ein solcher Zykluschecker könnte beispielsweise dadurch realisiert werden, dass beim Hinzufügen einer neuen Erbschaftverbindung geprüft wird, ob der Erbschaftsbaum des Elementes A von dem Element B zukünftig erben soll, schon Element B an irgend einer Stelle im bisherigen Baum ent- hält und ob Element A und B in verschiedenen Objekten sind.  Such a cycle checker could be realized, for example, by checking, when adding a new inheritance connection, whether the inheritance tree of element A is to inherit from element B in the future, already contains element B at some point in the previous tree, and if element A and B are in different objects.
Weil in den beispielhaften Erbschaftsbäumen Aggregate durch die Erfindung 100 mit den jeweiligen Ressourcen 111 in den Systemen 110 assoziiert werden können, wird ein weiterer Vorteil der Erfindung 100 sichtbar. Es ist es somit möglich, dass an die jeweiligen Systeme 110 Anfragen gestellt werden, die schon bei der Anfrage selbst die Aggregate nutzen, um zu der Ergebnismenge gehörende Elemente zu bestimmen. Dies ermöglicht es zum Beispiel, unpassende Elemente schon in einer Abfrage auszuschließen, da alle Zugriffsinformationen durch Aggregate direkt verfügbar sind. Beispielsweise könnten Objekte einer Klasse erfragt werden, für die der Anfragende eine bestimmte Rolle besitzt. Ohne Aggregate müssten die Vorfahren ebenso befragt werden und dies wäre langsam, insbesondere bei fremden Systemen, sofern überhaupt technisch möglich. Mit Ag- gregaten können diese nun verwendet werden, um nur zutreffende Objekte zu bestimmen.  Because in the exemplary inheritance trees aggregates can be associated by the invention 100 with the respective resources 111 in the systems 110, another advantage of the invention 100 becomes apparent. It is thus possible for requests to be made to the respective systems 110 which, even at the request itself, use the aggregates to determine elements belonging to the result set. This makes it possible, for example, to exclude inappropriate elements already in a query, since all access information through aggregates is directly available. For example, objects of a class could be queried for which the requester has a specific role. Without aggregates, the ancestors would have to be interviewed as well, and this would be slow, especially in foreign systems, if at all technically possible. With aggregates, these can now be used to determine only applicable objects.
Um auf die verschiedenen Systeme 110 200, 210 und 220 und deren Entscheidermittel 113 zuzugreifen, kann z.B. die Integrationseinheit lOlverwendet werden. Dadurch, dass die Erfindung 100 auch über die Aggregationsmittel verfügt, ist es möglich, die Erbschaft systemübergreifend zu ermöglichen. Dabei nutzt die Aggregationseinheit 102 z.B. die Integrationseinheit, um auf die verschiedenen Systeme 110 zuzugreifen. Weil diese somit die Möglichkeit hat, die  In order to access the various systems 110, 200, 210 and 220 and their decision-making means 113, e.g. the integration unit may be used. Because the invention 100 also has the aggregating means, it is possible to enable inheritance across systems. In doing so, the aggregation unit 102 uses e.g. the integration unit to access the various systems 110. Because this has the opportunity, the
Entscheidermittel 113 aus den verschiedenen Systemen 110 zu lesen, kann sie aus diesen Aggregate berechnen. Beispielsweise kann sie 201 lesen und mit dem derzeitigen Inhalt von 211 die absoluten Rechte für 211 schreiben, sodass dies wiederum bei weiteren Zugriffen als Entscheidermittel 113 verwendet werden kann. Deshalb kann danach beispielsweise 222 und 212 berechnet werden. Ebenso ist dies so ähnlich für die weiteren Rechte und für das Erben von mehreren Vorfahren umsetzbar.  Decider 113 from the various systems 110 can read from these aggregates. For example, it can read 201 and write 211 the absolute rights for 211 with the current content of 211, so that this in turn can be used in further accesses as decision-making means 113. Therefore, for example, 222 and 212 may be calculated thereafter. Likewise this is so similarly for the further rights and for the inheritance of several ancestors implementable.
Man beachte jedoch, dass die Aggregation, wie zuvor beschrieben, auch weitere Schritte, wie beispielsweise die Transformation der Mittel zur Zugriffsentscheidung in das richtige Format, enthalten kann. Dabei kann die Aggregation auch genutzt werden, um z.B. lange Zugriffskontroll- listen zu vereinfachen, indem zum Beispiel doppelte Einträge, die z.B. bei Erbschaft zustande kommen zu filtern. Solche Transformationen können in der jeweiligen Anwendung, durch speziell dafür angepasste Transformationsmittel, realisiert werden.  Note, however, that aggregation, as described above, may also include other steps, such as transforming the access decision means into the correct format. The aggregation can also be used to obtain e.g. to simplify long access control lists by, for example, duplicating entries, e.g. when inheritance comes to filter. Such transformations can be realized in the respective application by means of specially adapted transformation means.
Die Aggregation kann des Weiteren unter der Nutzung von Mechanismen aus der funktionalen Programmierung oder/und der Nutzung der Warteschlangentheorie beschleunigt werden. Bei- spielsweise kann die Aggregation durch deklarative Programmierung definiert werden, um eine hohe Parallelität zu erreichen. Dabei ist es auch möglich, dass die Aggregation Techniken, wie zum Beispiel Map Reduce, zum Beispiel US7650331, Amazon Elastic MapReduce  Aggregation can also be accelerated using mechanisms from functional programming and / or the use of queuing theory. For example, the aggregation can be defined by declarative programming to achieve high parallelism. It is also possible that the aggregation techniques, such as Map Reduce, for example, US7650331, Amazon Elastic MapReduce
(http://aws.amazon.com/elasticmapreduce/) oder Ähnliche, die z.B. unter (http://aws.amazon.com/elasticmapreduce/) or the like, e.g. under
http://de.wikipedia.org/wiki/MapReduce zu finden sind, nutzt. Des Weiteren können Erkenntnisse aus der Warteschlangentheorie genutzt werden, um einen hohen Datendurchsatz zu erreichen.http://en.wikipedia.org/wiki/MapReduce to find uses. Furthermore, findings from the queuing theory can be used to achieve a high data throughput.
Fig. 3 a zeigt das Verfahren, nach dem Aggregate gebildet werden. Dabei werden zuerst die benötigten Mittel, die zur Aggregatbildung benötigt werden, bestimmt 301. Darauf werden dann eines oder mehrere Aggregate gebildet 302. Solche benötigten Mittel können dabei beispielsweise die Elemente sein, von denen ein Element, für das ein Aggregat gebildet werden soll, erbt. Fig. 3a shows the process by which aggregates are formed. First, the required resources needed for aggregate formation are determined 301. Then one becomes or several aggregates formed 302. Such required means may be, for example, the elements of which an element for which an aggregate is to be formed, inherits.
Dabei kann das Bestimmen der benötigten Mittel auch das Laden der benötigten Mittel einschließen. Nach der Bildung der Aggregate kann zudem noch ein Schreibvorgang erfolgen, der neue Entscheidermittel 113 erzeugt, löscht oder aktualisiert. Das Bestimmen oder Laden der nötigen Mittel kann auch durch die Integrationseinheit, ebenso wie das Schreiben durchgeführt werden. Auch ist es möglich, dass diese dabei über zumindest ein Computernetzwerk 50 übertragen werden. Zudem ist es möglich, dass die Aggregationseinheit(en) und die Integrationseinheit(en) als gemeinsame Einheit erstellt werden. Somit kann eine Aggregationseinheit 102 über sämtliche Merkmale der Integrationseinheit 101 verfügen und umgekehrt.  In this case, the determination of the required means may also include the loading of the required funds. After the aggregates have been formed, it is also possible to carry out a writing process which generates, deletes or updates new decision-making means 113. The determination or loading of the necessary means can also be performed by the integration unit, as well as the writing. It is also possible that these are transmitted via at least one computer network 50. It is also possible that the aggregation unit (s) and the integration unit (s) are created as a common unit. Thus, an aggregation unit 102 can have all the features of the integration unit 101 and vice versa.
Fig. 3b zeigt, dass Aggregatbildungen auch wieder neue Aggregatbildungen auslösen können 303. Beispielsweise könnte wie in Fig. 3 c eine Vererbungshierarchie existieren. Dadurch, dass ein Aggregat von ol gebildet wird oder die zugehörigen Mittel, die zur Zugriffskontrolle genutzt werden, erzeugt oder aktualisiert werden, könnte dies durch die Erfindung 100 erkannt werden und Aggre- gate für o2 und o3 könnten berechnet werden. Ebenso für o4,o5 und 06. In Fig. 3d ist dies dargestellt. Dabei können Aggregate, die auf der gleichen Hierarchie stufe sind, z.B. auch parallel berechnet werden.  FIG. 3b shows that aggregate formations can also trigger new aggregate formations 303. For example, as in FIG. 3c, an inheritance hierarchy could exist. The fact that an aggregate of ol is formed or the associated means used for access control are generated or updated could be recognized by the invention 100 and aggregates for o2 and o3 could be calculated. Likewise for o4, o5 and 06. In Fig. 3d this is shown. In this case, aggregates which are at the same hierarchical level, e.g. can also be calculated in parallel.
Die Erfindung 100 kann für solche Fälle über spezialisierte Mittel verfügen, die es z.B. ermöglichen, Aggregate parallel zu erzeugen. Beispielsweise können bei jeder neuen Hierarchie stufe neue Prozesse für jedes Element erzeugt werden.  The invention 100 for such cases may have specialized means, e.g. enable aggregates to be created in parallel. For example, with each new hierarchy level, new processes can be created for each element.
Das eigentliche Bilden der Aggregate kann über Regeln oder Computerprogramme spezifiziert sein. Dabei könnten auch Regeln oder Computerprogramme dynamisch zur Laufzeit geladen werden. Solche Regeln oder Computerprogramme können dabei speziell für die verschiedenen Mittel, die zur Zugriffsentscheidung genutzt werden, optimiert sein.  The actual forming of the aggregates can be specified by rules or computer programs. At the same time, rules or computer programs could be loaded dynamically at runtime. Such rules or computer programs may be optimized especially for the various means used for access decision.
Optimaler weise kann des Weiteren das Erzeugen eines Ablaufplans zur Aggregatbildung Teil der Erfindung 100 und des Aggregaterstellungsverfahrens sein. Ein solcher Ablaufplan kann dazu dienen, wie und/oder in welcher Reihenfolge Aggregate für verschiedene Mittel zur Zugriffsentscheidung bestimmt werden sollen. Dabei kann dieses Erzeugen eines Ablaufplans, aufgrund der Ressource, für die ein Aggregat die Mittel zur Zugriffsentscheidung nutzt, geschehen. Es ist auch möglich, dass dabei die Mittel oder mehrere Mittel selbst genutzt werden, um zu bestimmen, wie das Aggregat gebildet werden soll. Zudem ist es auch möglich, dass weitere Mittel der Erfindung 100 benutzt werden, um einen solchen Ablaufplan zu erzeugen. Optimally, further, generating an aggregate scheduling may be part of the invention 100 and the aggregate creation process. Such a flowchart may serve as how and / or in which order aggregates should be determined for different access decision means. In doing so, this generation of a schedule may be done on the basis of the resource for which an aggregate uses the access decision means. It is also possible that the means or several means themselves are used to determine how the aggregate is to be formed. In addition, it is also possible that further means of the invention 100 will be used to generate such a flowchart.
Beispielsweise kann die Erfindung 100 auch über einen oder mehrere Erbschaftsbäume verfügen, z.B. in mehreren Varianten oder Instanzen, in denen Informationen hinterlegt sind, welche Vererbungen zwischen Ressourcen 111 oder deren Mittel zur Zugriffsentscheidung existieren. Dabei könnte als Datenstruktur z.B. ein speziell angepasster Patricia Trie, HAT Trie oder Brust Trie oder eine ähnliche Datenstruktur (vgl.„HAT-trie: A Cache-conscious Trie-based Data Struc- ture for Strings", http://crpit.com/confpapers/CRPITV62Askitis.pdf) dienen. Diese könnten dann bei der Aggregatbildung genutzt werden und einen Ablaufplan dafür bilden, damit z.B. Aggregate in der Hierarchie von oben nach unten berechnet werden.  For example, invention 100 may also have one or more inheritance trees, e.g. in several variants or instances, in which information is deposited, which inheritances exist between resources 111 or their means of access decision. As a data structure, e.g. a specially adapted Patricia Trie, HAS Trie or Brust Trie or a similar data structure (see "HAT-trie: A Cache-aware Trie-based Data Structure for Strings", http://crpit.com/confpapers/CRPITV62Askitis. These could then be used in aggregate formation and form a flowchart for calculating, for example, aggregates in the hierarchy from top to bottom.
Fig. 4 zeigt eine Integrationseinheit 101 der vorliegenden Erfindung 100. Diese verfügt über einen Zugriffsausführer 401, der den Zugriff auf verschiedene Systeme 110, über zumindest einen Integrator 402, durchführt. Die Integratoren 402 enthalten dabei Mittel, um auf verschiedene Systeme 110 zugreifen zu können. Solche Integratoren 402 können dabei zum Beispiel programmatisch als eine Sammlung von Funktionen oder auch Klassen erstellt werden. Durch diese Integratoren 402 ist es der Integrationseinheit 101 durch den Zugriffsausführer möglich, z.B. die verschiedenen in diesem Dokument beschriebenen Operationen, auf die Mittel, die zur Zugriffskontrolle genutzt werden, durchzuführen. Im Zugriffsausführer 401 oder auch in einem oder mehreren Integratoren 402 oder an anderer Stelle in der Integrationseinheit 101, können dabei zuvor besprochene Mittel zur Transformation eingesetzt werden. 4 shows an integration unit 101 of the present invention 100. It has an access executor 401 that performs access to various systems 110 via at least one integrator 402. The integrators 402 contain means for accessing different systems 110. Such integrators 402 can be created programmatically, for example, as a collection of functions or even classes. By means of these integrators 402, it is possible for the integration unit 101 by the access executor, eg the various operations described in this document, to perform the means used for access control. In the access executor 401 or in one or more integrators 402 or elsewhere in the integration unit 101, previously discussed means for transformation can be used.
In den Integratoren 402 im Zugriffsausführer 401 oder an anderer Stelle der Erfindung 100 kann zudem ein Modell 500 von Mitteln zur Zugriffskontrolle 112, das zuvor besprochen wurde, ver- fügbar sein. Dieses kann zum Beispiel als Transformationsmodell 500 oder zum Zugriff von Klienten 130 dienen, wie in Fig. 5 dargestellt. Dabei werden die Mittel, die zur Zugriffsentscheidung, die dem Modell von System A 501 folgen, zuerst in das Modell der Erfindung 500 transformiert und von diesem in das Modell des Systems B 504 oder auch C 503 oder D 502. Dies ermöglicht beispielsweise, dass nicht alle verschiedenen Transformationsarten von verschiedenen Systemen 110 zueinander beschrieben werden müssen.  In the integrators 402 in the access executor 401 or elsewhere of the invention 100, a model 500 of access control means 112 previously discussed may also be available. This may serve, for example, as a transformation model 500 or for access by clients 130, as shown in FIG. Here, the access decision means following the model of system A 501 are first transformed into the model of invention 500 and from there into the model of system B 504 or also C 503 or D 502. This allows, for example, not all different types of transformations of different systems 110 to each other must be described.
Die Erfindung 100 kann, wie erwähnt, auch über eine Speichereinheit verfügen. Auf diese kann zum Beispiel auch von den Bestandteilen der Erfindung, wie zum Beispiel der Integrationseinheit 101 oder Aggregationseinheit 102 oder deren Bestandteile zugegriffen werden. In dieser können zum Beispiel die Daten über Erbschaftsbeziehungen oder andere Daten gespeichert werden. Zum Beispiel könnte ein System es nicht unterstützen, Aggregat- Entscheidermittel und Original- Entscheidermittel zu speichern. Somit könnte das Original-Entscheidermittel vor dem Aggregatsvorgang in der Erfindung 100 verbleiben und nur das Aggregat-Entscheidermittel in das System 110 geschrieben werden. Sofern das Original-Entscheidermittel über die Erfindung 100 geändert würde, würde dies ein neues Aggregat-Entscheidermittel erzeugen. Oder es wäre möglich, dass falls das Aggregat-Entscheidermittel im System 110 geändert wurde, im Vergleich mit dem Original-Entscheidermittel, in der Erfindung 100 die Veränderung zu erkennen und das Original- Entscheidermittel dementsprechend anzupassen.  The invention 100 may, as mentioned, also have a memory unit. These can also be accessed, for example, by the components of the invention, such as, for example, the integration unit 101 or the aggregation unit 102 or components thereof. In this example, the data on inheritance relationships or other data can be stored. For example, a system might not support storing aggregate decider and original decider. Thus, the original arbitrator could remain 100 prior to the aggregate process in the invention and only the aggregate arbitrator could be written to the system 110. If the original decision-making means were changed via the invention 100, this would produce a new aggregate decision-making means. Or it would be possible that if the aggregate decider in the system 110 were changed, as compared to the original decider, in the invention 100, the change would be detectable and the original decider would be adjusted accordingly.
Wie zu sehen ist, kann die Integrationseinheit 101 auch über einen Zwischenspeicher/Cache 404 verfügen. Dies soll vor allem der Beschleunigung dienen. Dies kann die Geschwindigkeit von Verarbeitungen erhöhen, wie zum Beispiel bei Aggregatbildungen oder auch beim Nutzen der Erfindung 100 zur Zugriffskontrolle. Dabei kann der Cache 404 an verschiedenen Stellen in der Erfindung 100 eingesetzt werden. Es ist dabei auch denkbar, Caches 404 an mehreren Stellen einzusetzen.  As can be seen, the integration unit 101 may also have a cache / cache 404. This should serve above all the acceleration. This can increase the speed of processing, such as in aggregate formations or in the use of access control invention 100. In this case, the cache 404 can be used at various points in the invention 100. It is also conceivable to use caches 404 in several places.
In Fig. 4 ist aufgezeigt, dass ein Cache 404 von den Integratoren 402 und vom Zugriffsausführer benutzt werden kann. Beispielsweise können geladene Entscheidermittel 113 im Cache 404 von Integratoren 402 oder vom Zugriffsausführer 401 abgelegt werden. Dieser oder die Integratoren 402 könnten vor Zugriffen zuerst den Cache 404 auf den Inhalt der benötigten Mittel prüfen, um langwierige, erneute Zugriffe durch Netzwerklatenz zu vermeiden.  Referring to Figure 4, a cache 404 may be used by the integrators 402 and the access executor. For example, charged arbitrators 113 may be stored in the cache 404 by integrators 402 or by the access executor 401. This or the integrators 402 may first check the cache 404 for the contents of the resources needed before accesses to avoid lengthy network latency accesses.
Ferner kann die Erfindung 100 über ein Systemverzeichnis 403 verfügen. In diesem kann bei- spielsweise hinterlegt werden, zu welchen Ressourcen 111 welche Entscheidermittel 113 und/oder Systeme 110 gehören. Dabei kann hinterlegt sein, in welchen Systemen 110 diese Mittel abgerufen werden können, oder/und durch welche Integratoren 402 diese aufzufinden sind.  Furthermore, the invention 100 may have a system directory 403. In this example, it can be deposited to which resources 111 which decision-making means 113 and / or systems 110 belong. It can be deposited in which systems 110 these means can be retrieved, or / and by which integrators 402 they are to be found.
Diese Informationen können beispielsweise über einfache Mappings oder auch über Regeln hinterlegt sein. Solche Regeln können zum Beispiel auch spezifizieren, wie aufgrund zumindest eines Identifikationsmerkmals einer Ressource 111, zumindest ein oder auch mehrere zugehörige Integratoren 402 bestimmt werden können. Dabei kann z.B. eine Anfrage an das Systemverzeichnis 403 über eine Ressource 111 gestellt werden, die dann mit zumindest einem zugehörigen Integrator 402 oder einem Verweis aus diesem beantwortet werden kann.  This information can be stored, for example, via simple mappings or via rules. For example, such rules may also specify how at least one or more associated integrators 402 may be determined based on at least one identification feature of a resource 111. In this case, e.g. a request to the system directory 403 may be made via a resource 111, which may then be answered with at least one associated integrator 402 or a reference thereto.
Somit stellt das Systemverzeichnis 403 Mittel bereit, die es ermöglichen, durch die Integratoren 402 und weitere zugehörige Informationen, verwaltet werden zu können.  Thus, the system directory 403 provides means that enable it to be managed by the integrators 402 and other related information.
Dabei kann der Zugriffsausführer 401 bei einem Zugriff, z.B. aufgrund einer Ressource 111 oder eines ihrer Identifikationsmerkmale, zumindest einen zugehörigen Integrator 402 bestimmen und somit auf deren System und somit auf deren Mittel, die zur Zugriffsentscheidung 112 genutzt werden zugreifen. In the case of an access, eg due to a resource 111 or one of its identification features, the access executor 401 can determine at least one associated integrator 402 and thus accessing their system and thus their means used for access decision 112.
Eine, besonders bevorzugt im dynamischen Internetumfeld, wie Web.2.0, eingesetzte Variante der Erfindung 100 besitzt die Fähigkeit, dass dynamisch Integrationsmittel eingebunden oder entfernt werden können. Solche Integrationsmittel können zum Beispiel Integratoren oder Gruppen von Integratoren 402 sein. Dabei können solche Integratoren 402 zum Beispiel beim dynamischen Hinzufügen dem Systemverzeichnis 403 hinzugefügt werden. Dabei könnte z.B. im Integrator 402 selbst oder durch Zusatzinformation, wie zum Beispiel die zuvor erwähnten Regeln, Mappings oder Computerprogramme, definiert sein, wie die zugehörigen Ressourcen 111 zu erkennen sind. Dies könnte dann ebenfalls in das Systemverzeichnis 403 aufgenommen werden. Dadurch ist es zur Laufzeit möglich, auch aufgrund von Ressourcen 111 oder derer Identifikationsmerkmale, den neuen Integrator 402 als zugehörig zu bestimmen und diesen somit nahtlos in die bisherige Funktionalität eines Systems einzuweben. Ebenfalls ähnlich wie das Hinzufügen könnte das Entfernen realisiert werden. Dabei würde die Information des Erkennens der zugehörigen Ressourcen 111 aus dem Systemverzeichnis 403, mitsamt dem Integrator 402, entfernt werden.  A variant of the invention 100 which is particularly preferably used in the dynamic Internet environment, such as Web.2.0, has the capability of dynamically integrating or removing integration means. Such integrating means may be, for example, integrators or groups of integrators 402. In this case, such integrators 402 can be added to the system directory 403, for example, during dynamic addition. Thereby, e.g. in the integrator 402 itself or by additional information, such as the aforementioned rules, mappings or computer programs, be defined as the associated resources 111 can be seen. This could then also be included in the system directory 403. This makes it possible at runtime, also due to resources 111 or their identification features, to determine the new integrator 402 as belonging and thus weave it seamlessly into the previous functionality of a system. Similar to the addition, the removal could be realized. In this case, the information of the recognition of the associated resources 111 from the system directory 403, together with the integrator 402, would be removed.
Eine weitere Variante der Erfindung 100 kann Mittel zum dynamischen Hinzufügen von Komponenten benutzen. Zum Beispiel OSGI auf der Java Plattform. Beispielsweise könnte damit das dynamische Hinzufügen/Registrieren und Entfernen von Integratoren 402 realisiert werden.  Another variation of the invention 100 may use means for dynamically adding components. For example OSGI on the Java platform. For example, this could realize the dynamic addition / registration and removal of integrators 402.
Die hier Vorgestellte Erfindung 100, Verfahren, Anordnung und Apparat kann besonders bevor- zugt auch dazu eingesetzt werden, um für Videoplattformen genutzt zu werden. Insbesondere, um diese mit Social Networks zu verbinden.  The present invention 100, method, arrangement and apparatus can be particularly preferably used to be used for video platforms. Especially to connect with social networks.
Ein besonders bevorzugter Anwendungsfall dieses Sicherheitssystems ist die Kombination mit einer Videoplattform oder einer Livestreaming-Videoplattform, wie z. B. das„Newreporter System, Anordnungen und Verfahren für Videoplattformen" das vom Erfinder am 4.4.2010 zur An- meidung beim DPMA eingereicht wurde und somit dem Stand der Technik entspricht (DPMA A particularly preferred application of this security system is the combination with a video platform or a live streaming video platform, such. For example, the "Newreporter System, Arrangements and Procedures for Video Platforms" submitted by the inventor to the DPMA on April 4, 2010 and thus corresponds to the state of the art (DPMA
Amtliches Aktenzeichen: 10 2010 016 323.6). Dieses Newreporter System kann durch die Kombination mit der Erfindung beispielsweise mit weiteren Systemen 110 interagieren und Rechte erben, und es können Sicherheitsfunktionen, aufgrund von Klienteninformation, realisiert werden, zum Beispiel ortsabhängige Sicherheitsfunktionen. Official file number: 10 2010 016 323.6). This news reporter system, by combining with the invention, may, for example, interact with other systems 110 and inherit rights, and security functions based on client information may be realized, for example location-dependent security functions.
Ein weiterer, besonders bevorzugter, Anwendungsfall ist die Kombination der Erfindung 100 mit einem Hyperadapter (EP09180953) . Hierbei kann die Erfindung, insbesondere die Yourweb Variante, absichern. Another, particularly preferred, application is the combination of the invention 100 with a hyper adapter (EP09180953). Hereby, the invention, in particular the Yourweb variant, can be secured.
Ein weiterer, besonders bevorzugter, Anwendungsfall ist die Kombination der Erfindung 100 mit einem So-ad-tec System (EP10001967). Hierbei kann zum Beispiel das Nexusnodes System da- mit abgesichert werden. Dabei ist es auch möglich, ein So-ad-tec System selbst damit abzusichern. Des Weiteren kann die dargestellte Erfindung 100 auch über ein dort beschriebenes SCAPTCHA System oder dessen Funktionen verfügen oder mit einem solchen zusammenarbeiten. Dies macht es zum Beispiel möglich, ein solches SCAPTCHA System als Infrastrukturdienst, zusammen mit den anderen beschrieben Funktionen, in einer Cloud Computing Infrastruktur anzubieten.  Another particularly preferred application is the combination of the invention 100 with a So-ad-tec system (EP10001967). This can be used to protect the Nexusnodes system, for example. It is also possible to protect a So-ad-tec system with it. Furthermore, the illustrated invention 100 may also have or cooperate with a SCAPTCHA system or its functions described therein. This makes it possible, for example, to offer such a SCAPTCHA system as an infrastructure service, along with the other features described, in a cloud computing infrastructure.
Ein weiterer Anwendungsfall ist das Absichern von betriebswirtschaftlichen Systemen. Z. B. ERP- Systemen, CRM-Systemen, Portale u.v.A. Another use case is the hedging of business systems. For example, ERP systems, CRM systems, portals and the like.
Man beachte, dass diese Erfindung, bzw. Gruppe von Erfindungen als computerimplementierte Systeme, beziehungsweise als Computerprogramme realisierbar sind. Aufgrund der Natur dieser Erfindung 100 lassen sich sämtliche dargestellten Sachverhalte in verschiedenen Programmier- sprachen auf verschiedenen Plattformen realisieren. Zudem lassen sich sämtliche Verfahren in deklarativen Programmen und somit in deklarativen Sachverhalten darstellen und umgekehrt. Ebenso lassen sich die Verfahren als Apparate oder Anordnungen umwandeln und umgekehrt. Zudem lassen sich, aufgrund der flexiblen Natur der Erfindung, viele einzelne besprochene Teile der Erfindung 100 kombinieren oder anders anordnen, um Lösungen mit höherer Geschwindigkeit oder in anderer Form bessere Lösungen zu ermöglichen. Daher ist die Beschreibung der Erfindung 100 eher als exemplarische Ausführung zu verstehen, derer Merkmale auch in anderen Anordnun- gen vorkommen können. It should be noted that this invention or group of inventions can be realized as computer-implemented systems or as computer programs. Due to the nature of this invention 100, all the facts presented can be implemented in different programming languages on different platforms. In addition, all procedures can be represented in declarative programs and thus in declarative situations and vice versa. Likewise, the processes can be converted as apparatuses or arrangements and vice versa. In addition, because of the flexible nature of the invention, many individually discussed parts of the invention can be combined or rearranged to provide better solutions, or better, solutions. Therefore, the description of the invention 100 is to be understood as an exemplary embodiment, features of which may also occur in other arrangements.

Claims

Ansprüche claims
Eine Erfindung (100) als System oder Anordnungen, für das Absichern von Zugriffen auf Ressourcen (111), insbesondere für Zugriffe über ein Computernetzwerk (50), wobei das System oder eine Anordnung folgendes aufweisen:  An invention (100) as a system or arrangements for securing accesses to resources (111), in particular for accesses over a computer network (50), the system or arrangement comprising:
a. Zumindest ein Mittel zur Integration, das es ermöglicht, auf zumindest ein oder mehrere Mittel zuzugreifen, die genutzt werden, um Zugriffsentscheidungen über den Zugriff auf zumindest eine Ressource (111) zu beeinflussen;  a. At least one means of integration that allows access to at least one or more resources used to influence access decisions about access to at least one resource (111);
b. Zumindest ein Mittel zur Aggregation, das es ermöglicht, aggregierte Zugriffsrechte zu berechnen, wobei bei der Berechnung, zumindest ein Mittel zur Zugriffsentscheidung (112) verwendet wird.  b. At least one means of aggregation, which makes it possible to calculate aggregate access rights, using at least one access decision means (112) in the calculation.
Ein System oder eine Anordnung nach Anspruch 1, wobei die Erfindung (100), zumindest ein berechnetes Recht, zumindest eines Aggregates, als Mittel, das zu zumindest einer weiteren Zugriffsentscheidung genutzt wird, gespeichert wird.  A system or arrangement according to claim 1, wherein the invention (100), at least one calculated right, of at least one aggregate, is stored as means used for at least one further access decision.
Ein System oder eine Anordnung nach Anspruch 1 oder 2, wobei die Erfindung (100) über zumindest ein Mittel verfügt, dass es ermöglicht, dass zumindest ein Recht über zumindest zwei verschiedene Systeme (110) vererbt werden kann.  A system or arrangement according to claim 1 or 2, wherein the invention (100) has at least one means for allowing at least one right to be inherited via at least two different systems (110).
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei auf zumindest ein Mittel zur Zugriffsentscheidung (112) beim Berechnen zumindest eines Aggregates über zumindest ein Computernetzwerk (50) zugegriffen wird.  A system or arrangements as claimed in any one of the preceding claims, wherein at least one access decision means (112) is accessed when computing at least one aggregate via at least one computer network (50).
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei die Erfindung (100) über zumindest einen Erbschaftsbaum verfügt, der zumindest eine Erbschaftsbeziehung aufzeigt, die das Erben von Rechten zwischen zumindest zwei oder mehr Ressourcen (111) definiert.  A system or arrangement as claimed in any one of the preceding claims, wherein the invention (100) has at least one inheritance tree indicating at least one inheritance relationship that defines the inheritance of rights between at least two or more resources (111).
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei bei zumindest einer Zugriffsentscheidung im Quelltext eines Programmes spezifizierte Mittel berücksichtigt werden.  A system or arrangements according to one of the preceding claims, wherein at least one access decision in the source code of a program specified means are taken into account.
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei das Einbinden oder Entfernen von Mitteln zur Integration zur Laufzeit geschehen kann.  A system or assemblies according to any one of the preceding claims, wherein incorporation or removal of integration means at runtime can occur.
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei der Zugriff von zumindest einem Klienten (130), auf zumindest eine Ressource (111), direkt durch das Auswerten von zumindest einem von der Erfindung (100) erstellten oder aktualisierten Mittel zur Zugriffsentscheidung (112), geschieht.  A system or arrangements as claimed in any one of the preceding claims, wherein access by at least one client (130) to at least one resource (111) is made directly by evaluating at least one access decision (112) device created or updated by the invention (100) ) happens.
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei die Erfindung (100) über kryptographische Mittel verfügt oder/und mit solchen Mitteln eines weiteren Systems oder Plattform zusammenwirken kann.  A system or arrangements according to any one of the preceding claims, wherein the invention (100) has cryptographic means and / or can cooperate with such means of another system or platform.
10. Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei die Erfindung (100) mit einer Cloud Computing Plattform zusammen genutzt oder als Infrastrukturdienst eingesetzt wird. A system or assemblies according to any one of the preceding claims, wherein the invention (100) is shared with a cloud computing platform or deployed as an infrastructure service.
11. Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei zumindest eine Klienteninformation bei zumindest einer Zugriffsentscheidung, direkt oder indirekt durch Aggregate, beachtet wird. 11. A system or arrangements according to one of the preceding claims, wherein at least one client information in at least one access decision, directly or indirectly by aggregates, is observed.
Ein System oder Anordnungen nach einem der vorhergehenden Ansprüche, wobei bei zumindest einer Zugriffsentscheidung, direkt oder indirekt durch Aggregate, zumindest eine Hierarchie, aus Rollen und/oder Rechten, die mit zumindest einer Ressource (111) assoziiert ist, beachtet wird.  A system or arrangements according to any one of the preceding claims, wherein in at least one access decision, directly or indirectly through aggregates, at least one hierarchy, of roles and / or rights associated with at least one resource (111) is considered.
Ein Verfahren zum Absichern von Zugriffen auf Ressourcen (111), insbesondere für Zugriffe über ein Computernetzwerk (50), wobei das Verfahren die folgenden Schritte aufweist:  A method for securing accesses to resources (111), in particular for access via a computer network (50), the method comprising the following steps:
a. Zugriff auf ein oder mehrere Mittel ( 112), die genutzt werden, um Zugriffsentscheidungen über den Zugriff auf zumindest eine Ressource (111) zu beeinflussen;  a. Accessing one or more resources (112) used to influence access decisions about access to at least one resource (111);
b. Berechnung zumindest eines Aggregates, wobei bei der Berechnung zumindest ein Mittel zur Zugriffsentscheidung (112) verwendet wird  b. Calculation of at least one aggregate, wherein at least one means for access decision (112) is used in the calculation
Das Verfahren nach Anspruch 13, ferner aufweisend den Schritt der Zugriffsentscheidung, wobei diese Zugriffsentscheidung unter der Nutzung von Mitteln (112) des ressourcenausliefernden Systems (110) stattfindet und dabei zumindest ein Mittel, das bei der Berechnung des Aggregates genutzt wurde, zu einer Webplattform (160) zugehörig ist.  The method of claim 13, further comprising the step of access decision, wherein said access decision takes place using resources (112) of the resource delivering system (110) and thereby at least one means used in the calculation of the aggregate to a web platform ( 160) is associated.
15. Ein Computerprogramm, das Instruktionen aufweist, um ein Verfahren nach einem der vorhergehenden Ansprüche 13 - 14 auszuführen.  A computer program having instructions for carrying out a method according to any one of the preceding claims 13-14.
PCT/DE2011/075063 2010-04-05 2011-04-03 System, method and arrangements for securing resources WO2011124221A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102010016324A DE102010016324A1 (en) 2010-04-05 2010-04-05 System, method and arrangements for securing resources
DE102010016324.4 2010-04-05

Publications (2)

Publication Number Publication Date
WO2011124221A2 true WO2011124221A2 (en) 2011-10-13
WO2011124221A3 WO2011124221A3 (en) 2012-01-05

Family

ID=44515178

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2011/075063 WO2011124221A2 (en) 2010-04-05 2011-04-03 System, method and arrangements for securing resources

Country Status (2)

Country Link
DE (1) DE102010016324A1 (en)
WO (1) WO2011124221A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0918095A1 (en) 1997-11-20 1999-05-26 Alusuisse Technology &amp; Management AG Structural element made of a die-cast aluminium alloy
EP1000196A1 (en) 1997-07-30 2000-05-17 SCA Hygiene Products GmbH Multi-layer screen for the wet area of a paper machine and product manufactured using the same
US7650331B1 (en) 2004-06-18 2010-01-19 Google Inc. System and method for efficient large-scale data processing

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7461395B2 (en) * 2003-05-06 2008-12-02 Oracle International Corporation Distributed capability-based authorization architecture using roles
US20080034438A1 (en) * 2006-08-07 2008-02-07 International Business Machines Corporation Multiple hierarchy access control method
US7890531B2 (en) * 2007-06-29 2011-02-15 Oracle International Corporation Method for resolving permission for role activation operators

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1000196A1 (en) 1997-07-30 2000-05-17 SCA Hygiene Products GmbH Multi-layer screen for the wet area of a paper machine and product manufactured using the same
EP0918095A1 (en) 1997-11-20 1999-05-26 Alusuisse Technology &amp; Management AG Structural element made of a die-cast aluminium alloy
US7650331B1 (en) 2004-06-18 2010-01-19 Google Inc. System and method for efficient large-scale data processing

Also Published As

Publication number Publication date
WO2011124221A3 (en) 2012-01-05
DE102010016324A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
EP3652656B1 (en) Devices to provide a quantity of cryptographically protected and filtered as well as sorted transaction datasets of a link of a block chain
DE112011102073B4 (en) Service implementation from a service directory
DE102021123128A1 (en) DATA MIGRATION REVIEW PROTOCOL REALIZED VIA BLOCKCHAINS
DE112013000865B4 (en) Consolidation of different cloud service data and behaviors based on trust relationships between cloud services
DE202018006346U1 (en) Share or share data in a multi-tenant database system
DE202020005715U1 (en) Dynamic masking of shared data objects
DE112016004896T5 (en) Providing finely tuned remote command execution for instances of virtual machines in a distributed computing environment
DE102016104478A1 (en) Cryptographic methods that realize work records in systems of interconnected nodes
DE202012013609U1 (en) System for distributing processing of computer security tasks
DE112013002544T5 (en) Cloud-based sharing of data points and collaboration among user groups
DE202010018488U1 (en) Virtual object referencing in a hosted computing environment
DE112011102129T5 (en) Security model for operations that merge secure third-party services
DE112021002797T5 (en) PRIVACY PRESERVING ARCHITECTURE FOR AUTHORIZED BLOCKCHAINS
DE202011110377U1 (en) System of hierarchical metadata management and application
DE102011077218B4 (en) Access to data stored in a cloud
DE112010003144T5 (en) Extensible basic structure to support various deployment architectures
DE102014114005A1 (en) Risk assessment of mobile application interactions based on reputation
DE112011101357T5 (en) Dynamic token for temporary data access
DE202020005693U1 (en) External credential-free tiers for database integrations
DE112011100620T5 (en) METHOD AND SYSTEM FOR MANAGING THE LIFE OF SEMANTICALLY MARKED DATA
DE102010023691A1 (en) Share dynamic content presets and behavior of computing devices
DE202014011541U1 (en) System for establishing a bond of trust
DE112011101293T5 (en) Dynamic real-time reports based on social networks
DE202017105834U1 (en) Manage application updates
DE202012013453U1 (en) Hosted memory lock

Legal Events

Date Code Title Description
122 Ep: pct app. not ent. europ. phase

Ref document number: 11727909

Country of ref document: EP

Kind code of ref document: A2