Patent Publication Number: US-2020296109-A1

Title: Method for validating ownership of a resource within a network, coordinating agent and validation agent

Description:
FIELD 
     Examples relate to methods for validating ownership of a resource within a network and to validation agents and a coordinating agent to perform the method. 
     BACKGROUND 
     There often is demand to evaluate ownership of a resource within a network. For example, Certification Authorities (CAs) often require to evaluate whether a user requesting a certificate (e.g. by submitting a Certificate Signing Request, CSR) is the rightful owner of the domain the certificate is to be issued for. Such evaluation is often performed by means of Domain Validation (DV), which assumes that only the rightful owner of the domain is able to create specific records within the Domain Name Services (DNS) of the domain or only the rightful owner has the ability to create files within the file system or directory accessible via the domain. While different DV methods may exist, such as, for example, E-Mail Based DV, WHOIS-Based DV, DNS-Based DV or HTTP/S-Based DV, all of those rely on DNS to validate the domain. To the extent DNS is vulnerable to malicious attackers, also DV is vulnerable and there may be a possibility to obscure domain validation such that attackers other than the rightful owners of the domain may receive a certificate for the domain. For example, the responses of the Domain Name Servers of the domain may be attacked to make the DNS resolvers of the CA receive a wrong I.P. address so as to perform the validation using an I.P. address under the control of an attacker instead of using an I.P. address of the rightful owner of the domain. Similarly, a Man in the Middle attack, where an attacker controls a node on the network route between the CA and the entities of the Domain (or even the whole network the CA or the Domain is hosted in), may result in a compromised validation of the domain or resource. 
     Hence, there may be a demand to increase the security of the methods to validate ownership of a resource within a network. Said object is achieved by the methods and apparatuses of the independent claims. 
     SUMMARY 
     An example of a method to validate ownership of a resource within a network comprises selecting a group of at least two validation agents such that network routes between a validation agent of the group and entities of a group of one or more entities associated to the resource do not intersect. A property of the resource to be validated and an address indicator for the resource are transmitted from a coordinating agent to the group of validation agents. The method further comprises querying the property of the resource from an entity using the validation agents of the group to determine queried properties; and evaluating the queried properties to validate ownership of the resource. Selecting the validation agents such that network routes between the validation agents of the group and the entities from which the property of the resource is queried do not intersect may assure that even if a hop or node along a single network route is compromised, the remaining validation agents will receive valid results from their queries. Depending on the resource and the property to be queried, the entity from which the property is queried may be the resource itself, for example if the resource is a server within the network and the property to be queried is the existence of a particular file in the servers file system. In other implementations, the entity may not be the resource itself but associated to the resource such that only the rightful owner of the resource can alter or provide certain properties related to the resource on the entity. For example, if the resource is a domain, a particular property to be queried may be a CNAME entry in the domain name system which may typically be queried from multiple domain name servers which may be different than servers hosting, for example, the file system of an internet access of the domain. While the physical resources of a domain may be distributed, only the rightful owner of the domain is assumed to have the capability to alter the CNAME entry (the property) of the domain on the entities to be queried, e.g. the nameservers. 
     According to further examples, the group of validation agents is further selected such that the at least two validation agents are located in different operator networks. Such a selection of the validation agents may assure that even a large-scale attacker who may have control over entire operator networks may not be able to obscure the queries of all validation agents. 
     An example of a coordinating agent comprises a first communication interface for a validation service, the first communication interface being configured to receive information on a resource within a network and a property of the resource. By means of the first interface, the coordinating agent receives the resource for which ownership is to validate and, by means of the property, the information to query from the resource. During evaluation of the queries, it is assumed that only the rightful owner of the resource can give the resource the property to be queried. The coordinating agent also comprises a second communication interface for validation agents, the second communication interface being configured to transmit an address indicator for the resource to a group of available agents and to receive network routes between the available agents and entities of a group of one or more entities associated to the resource. The address indicator allows the available agents to identify and access the resource and to establish a network route to the resource. An example for an address indicator is a domain name which can be resolved into an I.P. address. Alternatively, an I.P. address may directly be transmitted as an address indicator. Networks using other protocols than the Internet Protocol may likewise use other address indicators which allow an available agent to access a resource. Having the capability to receive the network routes from the available agents may allow to determine whether the corresponding available agent is suited for querying the resource, which so becomes a member of a smaller group of validation agents. 
     An example of a method to validate ownership of a resource within a network, which may be performed at a coordinating agent, may, therefore, comprise selecting a group of at least two validation agents such that network routes between a validation agent of the group and entities of a group of one or more entities associated with the resource do not intersect. Non-intersecting network routes are routes through the network that do not have a single hop (visiting node) in common. The method further comprises transmitting a property of the resource to be queried to the validation agents and receiving queried properties from the validation agents. The ownership of the resource is validated based on the queried properties. By selecting the group of two or more validation agents according to the previously discussed criteria, one may assure that validation is reliable even in the event that attackers are present within the network which gained control of one or more hops on one ore more network routes between validation agents and entities of the group. 
     An example of a validation agent comprises a first communication interface for a coordinating agent, the first communication interface being configured to receive an address indicator for a resource in a network and a property of the resource. A second communication interface is configured to establish network routes to entities of a group of one or more entities associated to the resource. The first communication interface is further configured to transmit the network routes to the coordinating agent. Having the capability to transmit the network routes to the coordinating agent may allow the agent to become a validation agent in a group of validation agents that jointly query properties of a resource with a low probability that the queries of a major part of the validation agents are compromised by an attacker. 
    
    
     
       BRIEF DESCRIPTION OF THE FIGURES 
       Some examples of apparatuses and/or methods will be described in the following by way of example only, and with reference to the accompanying figures, in which 
         FIG. 1  illustrates a flowchart of an example of a method to validate ownership of a resource in a network; 
         FIG. 2  illustrates an example of a network comprising multiple operator networks and validation agents; 
         FIG. 3  illustrates an example of the system for validating ownership of a resource within a network, the system comprising a coordinating agent and at least two validation agents; and 
         FIG. 4  illustrates a further example of a method for validating ownership of a resource within the network. 
     
    
    
     DETAILED DESCRIPTION 
     Various examples will now be described more fully with reference to the accompanying drawings in which some examples are illustrated. In the figures, the thicknesses of lines, layers and/or regions may be exaggerated for clarity. 
     Accordingly, while further examples are capable of various modifications and alternative forms, some particular examples thereof are shown in the figures and will subsequently be described in detail. However, this detailed description does not limit further examples to the particular forms described. Further examples may cover all modifications, equivalents, and alternatives falling within the scope of the disclosure. Same or like numbers refer to like or similar elements throughout the description of the figures, which may be implemented identically or in modified form when compared to one another while providing for the same or a similar functionality. 
     It will be understood that when an element is referred to as being “connected” or “coupled” to another element, the elements may be directly connected or coupled or via one or more intervening elements. If two elements A and B are combined using an “or”, this is to be understood to disclose all possible combinations, i.e. only A, only B as well as A and B, if not explicitly or implicitly defined otherwise. An alternative wording for the same combinations is “at least one of A and B” or “A and/or B”. The same applies, mutatis mutandis, for combinations of more than two Elements. 
     The terminology used herein for the purpose of describing particular examples is not intended to be limiting for further examples. Whenever a singular form such as “a,” “an” and “the” is used and using only a single element is neither explicitly or implicitly defined as being mandatory, further examples may also use plural elements to implement the same functionality. Likewise, when a functionality is subsequently described as being implemented using multiple elements, further examples may implement the same functionality using a single element or processing entity. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used, specify the presence of the stated features, integers, steps, operations, processes, acts, elements and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, processes, acts, elements, components and/or any group thereof. 
     Unless otherwise defined, all terms (including technical and scientific terms) are used herein in their ordinary meaning of the art to which the examples belong. 
     The subsequent examples will mainly describe the validation of ownership for a Domain in the Internet as a particular example for a resource within a network. However, further implementations may likewise serve to validate ownership of other resources within a network, such as for example within the Internet. The Internet is just one example for a network comprising individual resources, e.g. single network nodes, which can be accessed by different data communication protocols, such as for example by the Internet Protocol. Routing within the Internet may be performed based on the Internet Protocol Address of an individual resource. As an alias to the Internet protocol address, names may be used, which are, typically, translated into IP addresses (resolved) by name services accessible within the network. A network may, like the Internet, be divided into multiple different operator networks that are operated by different legal entities. The operator networks have interfaces to one another. Network routes may connect one operator network to one or more further operator networks. An operator network may, for example, be a network comprising a block of IP addresses assigned to one legal entity (or governments or similar entities) which has the right to use the block of IP addresses and to establish a physical network using the IP addresses. In other words, the global Internet may be constituted of multiple different operator networks which interface to other operator networks to allow to establish network routes from one device in a first operator&#39;s network to another device in a second operator&#39;s network. 
       FIG. 1  illustrates a flowchart of an example of a method to validate ownership of a resource in a network. Since the method operates within a network of distributed entities, the example of the method illustrated in  FIG. 1  is described together with  FIG. 2 , which illustrates an example for a network. 
     The method comprises selecting  102  a group of at least two validation agents such that network routes between a validation agent of the group and entities of a group of one or more entities associated to the resource do not intersect. As illustrated in  FIG. 2 , the network  200  may comprise multiple different operator networks  202   a  to  202   m . Multiple validation agents may be distributed arbitrarily amongst the operator networks. In the particular example illustrated in  FIG. 2 , it is assumed that available agents  204   a  to  204   e  are present within operator networks  202   a  to  202   e , respectively. An available agent may be implemented as a software component running on a computer or on a processing entity within an operator network. Likewise, an available agent may also be implemented as a hardware entity designed to perform the functions of a validation agent as described below. A validation agent is an available agent that has been selected using the criterion that network routes between a validation agent of the group of validation agents and entities of a group of one or more entities associated to the resource do not intersect. The validation agent has the capability to establish a network route to an entity to be queried about a property of a resource within the network and to query the property once the network route has been established.  FIG. 2  illustrates an application where ownership of a domain is to be validated, for example by querying a CNAME record from the name servers within the domain. In the example of  FIG. 2 , a certification authority (CA)  206  having that domain CA.com is to verify ownership of the domain vict.im of a customer  208 . To this end, selected validation agents are to query name servers within domain vict.im for the CNAME record. 
     Within the network of the CA, a coordinating agent  210  is used to coordinate the use of the group  214  of validation agents  204   a ,  204   b , and  204   c  selected from the group of available agents  204   a  to  204   e  such that network routes between a validation agent  204   a ,  204   b , and  204   c  of the group  214  and entities of a group of one or more entities associated to the resource do not intersect. Assuming, for simplification reasons, that a single domain name server is present within domain  200   a  network routes  212   a ,  212   b , and  212   c  fulfill this criterion, leading to the selection of the validation agents  204   a ,  204   b , and  204   c  of the group  214 . 
     To enable the validation agents  204   a ,  204   b , and  204   c  of the group  214  to query the property of the resource and to establish network routes to entities associated with the resource, the method of  FIG. 1  further comprises transmitting  104  a property of the resource to be validated and an address indicator for the resource from a coordinating agent to the group of validation agents. 
     The method further comprises querying  106  the property of the resource  208  from at least one entity using the validation agents  204   a ,  204   b , and  204   c  of the group  214  to determine queried properties. 
     Further, the method comprises evaluating  108  the queried properties to validate ownership of the resource. Selecting the validation agents such that network routes between the validation agents of the group and the entities from which the property of the resource is queried do not intersect may assure that even if a hop or node along a single network route is compromised, the remaining validation agents will receive valid results from their queries. For example,  FIG. 2  assumes that operator network  202   k  is under control of a malicious attacker which may corrupt the query, for example, by directing the query to another network than the one of the rightful owner of the domain  208 . While network route  212   a  is compromised, network routes  212   b  and  212   c  are not compromised so that validation agents  204   b  and  204   d  receive uncorrupted results of the query, leading to a reliable validation of ownership for domain  208 . 
     While a minimum number of at least two validation agents may be required to be sensitive to a malicious attacker, the number of validation agents within the group may be chosen arbitrarily and, for example, coordinated by the coordinating agent  210 . Depending on the network topology, already a number of three appropriately selected validation agents may be sufficient to arrive at the reliability of a validation beyond 90%. Further implementations, however, may also use higher numbers, such as for example four, five, six, seven, or eight validation agents. 
     According to further examples of the method, the group of validation agents is further selected such that the at least two validation agents are located in different operator networks. An example for such implementation is already illustrated in  FIG. 2 . Such a selection of the validation agents may assure that even a large-scale attacker who may have control over entire operator networks hosting a chosen validation agent (for example operator network  202   e  of  FIG. 2 ) may not be able to obscure the queries of all validation agents. 
     According to some examples, the ownership of the resource is confirmed if a pre-determined fraction of the queried properties correspond to or equal an expected property. If for example, in the environment of  FIG. 2 , two out of three validation agents result with the CNAME entry that is expected to be created in the domain name service for domain  208  by its rightful owner, one can conclude, that validation is successfully performed. A preceding evaluation of the network topology may serve to assure that the likelihood that a single attacker can control hops or operator networks along more than one route is negligible. If, for example, the owner of a domain created the CNAME entry “success” (which is the expected property) and two out of three CNAME queries result with the entry “success”, successful validation may be assumed. 
     As already elaborated on above, according to some examples, selecting the group of at least two validation agents comprises transmitting an address indicator for the resource  208  from the coordinating agent  210  to a group of available agents  204   a  to  204   e  and using the address indicator to determine a group of one or more entities associated to the resource. Further, the method comprises transmitting network routes between the available agents  204   a  to  204   e  of the group and the entities associated to the resource  208  to the coordinating agent  210 . Even in the event of a single entity, the number of network routes transmitted by each available agent may be greater than one due to the possibility that the dynamic routing within the network provides for different network routes at different attempts to access the single entity. Further examples may be restricted to a single attempt to access an entity per available agent resulting with a single network route transmitted for each available agent  204   a  to  204   e . If, however, there is more than one entity associated to the resource, which is normally the case in the event of name servers (one domain typically uses more than one name server for DNS resolution), multiple network routes may be transmitted for each available agent that establishes network routes to different entities. 
     The selection process is finalized by selecting the group of at least two validation agents at the coordinating agent based on the network routes such that the resulting validation agents fulfill the requirement that network routes between the validation agents of the group and the entities from which the property of the resource is queried do not intersect. 
     According to some examples, a communication between the coordinating agent and the validation agents is encrypted to enhance security, for example, by means of HTTPS. 
     While  FIG. 2  illustrates a domain as a particular example for a resource, further examples may validate other resources, such as for example an IP Address, an E-Mail Server, or a device. 
       FIG. 3  illustrates an example of a system for validating ownership of a resource within a network, the system comprising a coordinating agent  310  and at least two validation agents  320  and  330 . Like  FIG. 2 , the system of  FIG. 3  uses domain validation as a particular example for the validation of ownership of a resource within the network. 
     The coordinating agent  310  comprises a first communication interface  312  for a validation service, the first communication interface  312  being configured to receive information on a resource  345  within a network and a property of the resource  345  to be queried. The coordinating agent  310  further comprises a second communication interface  314  for validation agents, the second communication interface  314  being configured to transmit an address indicator for the resource  345  to a group of available agents  320 ,  330 , and  340  and to receive network routes between the available agents  320 ,  330 , and  340  and entities  354  of a group of one or more entities associated to the resource  345 . In the event of domain validation, the address indicator may be the main domain name and the property may be the entry of a CNAME record, for example. The first communication interface  312  is configured to receive the information used for the validation from the validation service  316 . In the example of  FIG. 3 , a certification authority is assumed to be the validation service  316 , which may, for example, issue a validation request upon reception of a request of an owner  352  of a domain for signing a certificate for the domain (Certificate Signature Request  318 ). 
     To select the validation agents according to the previously discussed criteria, the coordinating agent  310  further comprises selection circuitry configured to select a group of least two validation agents from the group of available agents based on the received network routes. 
     The second communication interface  314  is further configured to transmit the property of the resource  345  to the validation agents and to receive queried properties from the validation agents once the group of validation agents has been established. 
     Evaluation circuitry within the coordinating agent  310  is configured to conclude on successful validation of the resource if a predetermined fraction of the queried properties corresponds to an expected property, e.g. to an expected content of a CNAME record of the DNS Server. 
     To submit the result of the validation to the requesting validation service  316 , the first communication interface  312  is further configured to indicate successful or unsuccessful validation to the validation service  316 . Both the coordinating agent and the validation agents may be implemented in hardware or in software. 
     As further illustrated in  FIG. 3 , an example of a validation agent  320  comprises a first communication interface  322  for a coordinating agent, the first communication interface  322  being configured to receive the address indicator for the resource  345  in the network and the property of the resource to be queried by the validation agent  320 . A second communication interface  324  is configured to establish a network route to entities  354  of a group of one or more entities associated to the resource  345 . To be able to provide a selection criterion to the coordinating agent  310 , the first communication interface  322  is further configured to transmit network routes to the coordinating agent  310 . The network routes may, for example, be determined by the validation agent  320  using traceroute or similar tools or methods. Likewise, the coordinating agent  310  may be capable to detect in which operator network it resides to transmit the information to the coordinating agent  310  as a further selection criterion. Alternatively, the coordinating agent  310  may be capable to determine in what operator network an available agent resides, for example bay means of its I.P. address. 
     The second communication interface may further be configured to query the property of the resource  345  from an entity  354  of the group to determine a queried property once the validation agent has been selected for querying by the coordinating agent  310 . Likewise, the first communication interface  322  may be further configured to submit the queried property to the coordinating agent  314 . To further increased security, a communication between the coordinating agent  310  and the validation agent  320  may be encrypted, i.e., second communication interface  314  of the coordinating agent  310  and first communication interface  322  of validation agent  320  may interchange encrypted messages, for example by means of HTTPS. In the event of domain validation, for example, communication on the second communication interface  324  of validation agent  320  may be unencrypted, however, since communication with domain name servers may be required to be unencrypted. 
     In other words, a system for validating ownership of a resource within a network, comprises a coordinating agent  310 , a first validation agent  320 , and a second validation agent  330 . 
     In some embodiments, the first validation  320  agent is located within a first operator network, and wherein the second validation agent  330  is located within a second operator network. 
     In some embodiments, the coordinating agent  310  is located within the network of a Certification Authority. 
       FIG. 4  illustrates a further example of a method for validating ownership of a resource that may, for example, be performed within a coordinating agent  310 . 
     The method comprises selecting  410  a group of at least two validation agents such that network routes between a validation agent of the group and entities of a group of one or more entities associated with the resource do not intersect. Further, the method comprises transmitting  420  a property of the resource to be queried to the validation agents. 
     The method further comprises receiving  430  queried properties from the validation agents; and validating  440  the ownership of the resource based on the queried properties according to, for example, the criteria elaborated on before. 
     While querying CNAME entries of a domain has been predominantly used as an example of a property queried during domain validation, also other properties may be queried in further implementations since there exist a number of methods for performing DV.
         Email-Based DV. Upon filling out a CSR, an email is issued to the administrative contact of the domain selected by the applicant out of email addresses registered for that domain in Whois. The email typically contains validation code and link, which the recipient has to click and enter the code to prove control over the domain. If the correct code is entered the code proceeds with the certificate issuance.   WHOIS-Based DV. Similar to email-based DV, except that the client cannot select which email (out of those registered as administrative for the domain) will be used in the validation. During the DV procedure the CA selects itself the email address and can use any Admin, Registrant, Tech or Zone contact email address that appears in the domain&#39;s WHOIS record.   DNS-Based DV. Upon submitting a CSR, a hash value is provided which has to be entered as a DNS CNAME Resource Record (RR) for the domain in the zonefile. For example, assume that applicant&#39;s domain is vict.im and CAs domain is ca-domain.com. A CNAME record may be hash1.www.vict.im. CNAME hash2.ca-domain.com. The DNS resolver of the CA queries the domain of the applicant and checks the presence of the CNAME record. If the correct record is present, the CA proceeds to issue the requested certificate.   HTTP/S-Based DV. Upon the submission of a CSR, a hash value is returned to the client. A file should be created and placed at the root of the web server with the hash value as its name, as follows: http://www.vict.im/hash-value1.txt. The content of the file should contain hash-value2 and the domain ca-domain.com. The CA makes an HTTP/HTTPS request to retrieve the file. If correct, the CA proceeds to issue the certificate.       

     In summary, examples described herein may preserve the benefits of DV while providing resilience against MitM attackers. Therefore, examples of the present disclosure may also be referred to as DV++. The integration of the new examples into conventional systems do not require any changes to the CA infrastructure and functionality, so that use of examples by a CA comes at low cost and effort. One aspect of the examples is to utilize distributed nodes (validation agents) which perform DV from multiple vantage points. The security against MitM attackers is achieved by placing the nodes in different networks, which do not traverse overlapping paths. 
     In contrast to a cryptographic eavesdropping attacker, which is a global eavesdropper, a realistic MitM attacker can be present only on some (operator) networks but does not control the entire Internet. The attacker may be a malicious ISP that passively collects the traffic that traverses its operator networks. An attacker can also actively try to attract traffic from other networks by performing BGP prefix hijacking. The examples described herein (DV++) provide a decentralized mechanism, that may utilize the existing Internet infrastructure to validate claims of domain ownership. In contrast to the centralized validation performed by the CAs with conventional DV, DV++ is based on a flat hierarchy with several equally trusted certification agents. To pass a validation, domain owners must prove their ownership to a majority of the agents, e.g. in a fully automated manner, by responding to queries sent by the (validation) agents for the resource records in the domain. The (validation) agents are synchronized with a coordinating agent, which is also referred to as orchestrator module. The orchestrator may be located on the CA network. The orchestrator and the agents may use HTTPS for their mutual communication. During the domain validation process, all the agents receive from the orchestrator the domain and the record that need to be queried. The agents send DNS requests to the nameservers in the domain requesting the record. As soon as the response arrives, the agent sends the response to the orchestrator. If, for example, more than 50% of the responses arrive, and they match, the orchestrator returns success otherwise failure. The number of the correct responses from the agents is a parameter that the CA can configure. 
     When sending a DNS request, each agent selects independently a source port at random as well as a random TXID. To launch a successful attack the attacker has to spoof correct responses to more than 50% of the agents. This is an impossible task even for strong, nation state attackers. The agents may be configured on different physical availability networks of AWS cloud. The selection of the cloud networks is done so that the agents are located in different networks, whose routes do not intersect. For selecting the networks to place the agents one may use an empirically derived CAIDA AS-level graph from  2016 . Similar to DV, DV++ authentication is initiated by the CA following a submission of a CSR by the applicant. During this process, queries are sent to the agents that perform look-ups in the target domain. Once majority of the responses are received by the orchestrator, they are processed. 
     Even if the attacker can corrupt some agents, controls some networks or path, it cannot control all the paths and all the networks in the Internet and cannot corrupt all the agents. For instance, even strong nation state attackers, such as security agencies, do not control all Internet networks and paths. 
     If one considers an attacker that tries to pass the authentication of DV++ to issue a fraudulent certificate. To succeed, the attacker must provide correct spoofed responses for the majority of the DNS requests issued by the DV++ agents. 
     If the attacker is located on a network of the victim nameserver, it can hijack requests on the network of the nameserver and send spoofed responses to the DV++ agents. Luckily, domains have more than one nameserver and the nameservers are placed in different networks; this is following best practices to avoid a single point of failure for domains. Measurements of 1M-top Alexa domains show that an average number of nameservers per domain is 5, and minimal is 2. Furthermore, the nameservers belonging to the same domain are hosted in different networks. This ensures that the attacker cannot hijack and replace responses from all the nameservers. 
     Considering a passive MitM attacker, which controls a large ISP, and an active attacker, which also additionally attempts to attract traffic from other networks proves robustness of the validation as described herein. Using a different number of agents, one can demonstrate that even 3 agents in networks of top-tier ISPs suffice to provide strong security guarantees against MitM attackers. 
     Further than for the previously presented use cases, further examples of the disclosure contained herein (DV++) can be used to bootstrap other mechanisms with security. For instance, attacks may apply against password recovery procedures in popular web services. In password recovery procedure the password or a link to reset the password is sent back to the email that initiated the password recovery. If the DNS resolver on the network of the service is attacked, and caches an incorrect record (mapping the email of the victim to an IP address controlled by an attacker) the password would be sent to the attacker. DV++ can be used by the web services, to validate the DNS record of the email requesting the password recovery, hence blocking malicious requests that do not pass the verification of DV++. 
     The aspects and features mentioned and described together with one or more of the previously detailed examples and figures may as well be combined with one or more of the other examples in order to replace a like feature of the other example or in order to additionally introduce the feature to the other example. 
     Examples may further be or relate to a computer program having a program code for performing one or more of the above methods, when the computer program is executed on a computer or processor. Steps, operations or processes of various above-described methods may be performed by programmed computers or processors. Examples may also cover program storage devices such as digital data storage media, which are machine, processor or computer readable and encode machine-executable, processor-executable or computer-executable programs of instructions. The instructions perform or cause performing some or all of the acts of the above-described methods. The program storage devices may comprise or be, for instance, digital memories, magnetic storage media such as magnetic disks and magnetic tapes, hard drives, or optically readable digital data storage media. Further examples may also cover computers, processors or control units programmed to perform the acts of the above-described methods or (field) programmable logic arrays ((F)PLAs) or (field) programmable gate arrays ((F)PGAs), programmed to perform the acts of the above-described methods. 
     The description and drawings merely illustrate the principles of the disclosure. Furthermore, all examples recited herein are principally intended expressly to be only for illustrative purposes to aid the reader in understanding the principles of the disclosure and the concepts contributed by the inventor(s) to furthering the art. All statements herein reciting principles, aspects, and examples of the disclosure, as well as specific examples thereof, are intended to encompass equivalents thereof. 
     Functions of various elements shown in the figures, including any functional blocks labeled as “means”, “means for providing a signal”, “means for generating a signal.”, etc., may be implemented in the form of dedicated hardware, such as “a signal provider”, “a signal processing unit”, “a processor”, “a controller”, etc. as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which or all of which may be shared. However, the term “processor” or “controller” is by far not limited to hardware exclusively capable of executing software, but may include digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included. 
     A block diagram may, for instance, illustrate a high-level circuit diagram implementing the principles of the disclosure. Similarly, a flow chart, a flow diagram, a state transition diagram, a pseudo code, and the like may represent various processes, operations or steps, which may, for instance, be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown. Methods disclosed in the specification or in the claims may be implemented by a device having means for performing each of the respective acts of these methods. 
     It is to be understood that the disclosure of multiple acts, processes, operations, steps or functions disclosed in the specification or claims may not be construed as to be within the specific order, unless explicitly or implicitly stated otherwise, for instance for technical reasons. Therefore, the disclosure of multiple acts or functions will not limit these to a particular order unless such acts or functions are not interchangeable for technical reasons. Furthermore, in some examples a single act, function, process, operation or step may include or may be broken into multiple sub-acts, -functions, -processes, -operations or -steps, respectively. Such sub acts may be included and part of the disclosure of this single act unless explicitly excluded. 
     Furthermore, the following claims are hereby incorporated into the detailed description, where each claim may stand on its own as a separate example. While each claim may stand on its own as a separate example, it is to be noted that—although a dependent claim may refer in the claims to a specific combination with one or more other claims—other examples may also include a combination of the dependent claim with the subject matter of each other dependent or independent claim. Such combinations are explicitly proposed herein unless it is stated that a specific combination is not intended. Furthermore, it is intended to include also features of a claim to any other independent claim even if this claim is not directly made dependent to the independent claim.