EP4555677A1 - Privacy routing system - Google Patents
Privacy routing systemInfo
- Publication number
- EP4555677A1 EP4555677A1 EP23741606.0A EP23741606A EP4555677A1 EP 4555677 A1 EP4555677 A1 EP 4555677A1 EP 23741606 A EP23741606 A EP 23741606A EP 4555677 A1 EP4555677 A1 EP 4555677A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- user
- cryptographic information
- cryptographic
- routing system
- message
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/42—Anonymization, e.g. involving pseudonyms
Definitions
- the invention relates to a method of routing messages via a privacy routing system.
- the invention further relates to a first user device, a second user device, and a privacy routing system for use in such a method.
- the invention also relates to computer program products enabling a first user device, a second user device, and a privacy routing system to perform steps of such a method.
- Communication identifiers are a privacy pain. If a user shares an email address or phone number with a counterparty, then that counterparty can continue bothering this user via email or phone long thereafter. Even worse, the counterparty can share the user’s communication identifiers with third parties, who can use them for spam, phishing and other privacy-invading practices. Moreover, counterparties and third parties can use the user’s contact details for correlation, which enables them to combine data about the user in ways that may turn out negatively for the user. IP addresses also allow easy correlation, as ISPs rarely rotate IP addresses.
- Gmail provides a basic solution for the spam problem.
- Gmail supports “taskspecific” email addresses, which can be simply created by adding a “+”. For example, the email addressjohnsmith@gmail.com would be enhanced intojohnsmith-l-news@gmail.com when signing up at an untrusted website. This makes it easy to filter out mail to this specific address, e.g., mail from an untrusted source..
- this solution is effective against harmless spam, it does not prevent against more clever correlation or spam, as the semantics of the “+” is easy to circumvent.
- the solution requires a lot of work and administration from the users.
- DIDs Decentralized IDentifiers
- W3C Wired Equivalent Privacy
- the blog “SelfSovereign Identity - the good, the bad and the ugly” (“https://blockchain.tno.nl/blog/self- sovereign-identity-the-good-the-bad-and-the-ugly/”) discloses that a web shop could publish a public DID/DID Document (DDO) to receive encrypted and signed communication from its customers, which a citizen could use to negotiate a DID-pair with that web shop that would enable either to set up private, secure and authenticated communications channels with the other at a later point in time, effectively making logins obsolete.
- DDO DID/DID Document
- the blog further discloses that by compartmenting all communication via DID pairs, spam may be prevented. If a service provider starts spamming the user via a previously established DID pair, the user can instruct their user agent application to ignore it, so the service provider can no longer reach the user.
- this solution requires direct communication between the user and the webshop, which reduces privacy, as it allows the webshop to make privacy -invading message correlations.
- a method of routing messages via a privacy routing system comprises receiving first cryptographic information and second cryptographic information at a device of a first user, the first cryptographic information comprising a receiver identifier encrypted with a cryptographic key associated with the privacy routing system, the receiver identifier being associated with a second user, and transmitting a message from the device of the first user to the privacy routing system, the message comprising third cryptographic information and fourth cryptographic information, the third cryptographic information comprising the receiver identifier encrypted with the cryptographic key associated with the privacy routing system, the fourth cryptographic information having been determined based on the second cryptographic information .
- the encrypted receiver identifier is re -randomized before being included in the message as (part of) the third cryptographic information.
- the method further comprises decrypting, at the privacy routing system, the receiver identifier from the third cryptographic information with the cryptographic key or with a further cryptographic key corresponding to the cryptographic key, identifying, at the privacy routing system, the second user based on the decrypted receiver identifier, validating the fourth cryptographic information, and forwarding the message from the privacy routing system to a device of the second user based on a result of the validation of the fourth cryptographic information.
- This method enables the privacy routing system or a device of the second user to create different encrypted receiver identifiers for different first users (i.e. for different senders; also referred to as Alices) using specific kinds of cryptosystems, for example randomizable cryptosystems.
- the first user may (also) be able to re-randomize the encrypted receiver identifier, as some cryptosystems allow such re-randomization by the first user. Such re -randomization would help improve the privacy of the first user, as third parties cannot correlate messages originating from the same sender. However, this re-randomization makes it impossible for the privacy routing system to block messages/spam from certain senders based on the encrypted receiver identifier.
- the receiver identifier Since the receiver identifier is the same for all first users, the receiver identifier can also not be used to block messages/spam from certain first users.
- fourth cryptographic information received from the device of the first user which was determined by the device of the first user based on the second cryptographic information, can be used to determine whether the message from the first user should be forwarded or not. This way, the second user may block spam without enabling third parties to correlate messages addressed to the same recipient.
- Cryptographic information may comprise a cryptographic key, data encrypted with a cryptographic key, and/or other cryptographic information.
- the third cryptographic information may be the same as the first cryptographic information, but may alternatively be different, e.g. comprise a re -randomization of the received encrypted receiver identifier. If the third cryptographic information is different from the first cryptographic information, it should at least be derived from the first cryptographic information.
- the fourth cryptographic information may be the same as the second cryptographic information, but may alternatively be different.
- the cryptographic key associated with the privacy routing system may be a public key, for example. The privacy routing system excludes the devices of the first and second users.
- Validating the fourth cryptographic information may comprise decrypting the fourth cryptographic information or attempting to decrypt the fourth cryptographic information or may comprise validating the fourth cryptographic information in a different way, e.g. by verifying a revocation token comprised in the fourth cryptographic information.
- the at least one processor of the first user device may be configured to determine the fourth cryptographic information by re -randomizing the second cryptographic information and/or to determine the third cryptographic information by re-randomizing the first cryptographic information.
- the first user device may re -randomize the second cryptographic information before determining the fourth cryptographic information based on the second cryptographic information for each new message, it may be possible to prevent third parties from correlating different messages from the same first user.
- the first user device then also re-randomizes the first cryptographic information before determining the third cryptographic information based on the first cryptographic information.
- Paillier encryption may be used, for example.
- the second cryptographic information may comprise one or more predefined values encrypted with a sender-specific cryptographic information item associated with the second user and specific to the first user and the fourth cryptographic information may comprise the second cryptographic information or a randomization of the second cryptographic information.
- the one or more predefined values do not need to be known by the device of the first user. They only need to be known by the privacy routing system and the device of the second user.
- the one or more predefined values are used by the privacy routing system and/or the device of the second user to determine whether they are able to decrypt the fourth cryptographic information.
- the one or more pre-defined values may comprise a fixed value, such as “1”, or may be based on the rest of the message contents, e.g. as a check-sum, for example.
- the sender-specific cryptographic information item is created by a device of the second user in relation to the first user.
- Sender-specific cryptographic information items associated with the second user are stored in one or more memories where a device or devices of the second user can access them.
- a device of the second user marks the sender-specific cryptographic information item specific to the first user as a blocked sender-specific cryptographic information item and transmits it to the privacy routing system, which associates it with the second user.
- the privacy routing system only receives sender-specific cryptographic information items specific to blocked first users and is therefore not able to correlate messages from the same first user to the second user if that first user has not been blocked.
- the sender-specific cryptographic information item associated with the second user and specific to the first user may be a cryptographic key, for example.
- the second cryptographic information may comprise a public key associated with the second user and specific to the first user and the fourth cryptographic information may comprise one or more predefined values encrypted with the public key, for example.
- the one or more predefined values are not only known by the privacy routing system and the device of the second user, but also by the device of the first user.
- the one or more predefined values may be known by other devices as well and may even be public.
- the one or more predefined values may be standardized, for example.
- the public key and a corresponding private key are created by a device of the second user in relation to the first user.
- the private key is a type of sender-specific cryptographic item and may be handled in the same way as described above.
- the corresponding public keys associated with the second user are also stored in one or more memories where a device or devices of the second user can access them.
- the first cryptographic information and second cryptographic information may form or be included in a “business card” that is provided to the first user, typically directly, e.g. presented as a scannable QR code or via NFC communication, but optionally via the privacy routing system.
- the second cryptographic information may comprise a sender identifier encrypted with the cryptographic key or with a second cryptographic information key associated with the privacy routing system to allow the privacy routing system to drop messages based on the sender identifier.
- the receiver identifier and the sender identifier may be encrypted jointly in compound cryptographic information, a first part of the compound cryptographic information corresponding to the first cryptographic information and a second part of the compound cryptographic information corresponding to the second cryptographic information. Thus, only one encryption operation needs to be performed in relation to the receiver identifier and the sender identifier.
- the message may comprise fourth cryptographic information which was determined based on the second cryptographic information and the at least one processor of the second user device may be configured to obtain one or more non-blocked- sender-specific cryptographic information items from a memory, attempt to decrypt the fourth cryptographic information with the one or more of non-blocked-sender-specific cryptographic information items, drop the message if the attempt to decrypt the fourth cryptographic information does not result in one or more pre-defined values and/or is not successful, and present the message to the user via a user interface if the attempt to decrypt the fourth cryptographic information results in the one or more pre-defined values.
- the privacy routing system itself to make privacy-invading message correlations, as it does not handle any sender identifiers and only decrypts the one or more predefined values when transmitted by blocked senders (e.g. using blocked-sender-specific cryptographic information items received from the user device).
- the sender-specific cryptographic information items e.g. keys
- the sender-specific cryptographic information items are normally created by a device of the second user and stored in one or more memories where a device or devices of the second user can access them.
- the one or more (blocked-)sender-specific cryptographic information items are used by the privacy routing system and the device of the second user to determine whether they are able to decrypt the fourth cryptographic information.
- the one or more pre-defined values resulting from successful decryption may comprise a fixed value, such as “1”, or may be based on the rest of the message contents, e.g. as a check -sum, for example.
- the second user device i.e. the device of the second user, also blocks/drops messages itself, as a blocked sender may transmit fourth cryptographic information which was not determined based on the second cryptographic information, which the privacy routing system would not be able to decrypt. Since the second user device has the nonblocked sender-specific cryptographic information items (which the privacy routing system does not), it can block/drop these messages from these malicious senders.
- the message may further comprise a sender identifier encrypted with a cryptographic key associated with the second user, which is forwarded to the device of the second user by the privacy routing system.
- the device of the second user can first decrypt the sender identifier and then obtain only the non -blocked-sender-specific cryptographic information item associated with this sender identifier. If no non -blocked- sender-specific cryptographic information item is associated with this sender identifier, the message is dropped. If the message does not comprise an encrypted sender identifier, all non- blocked-sender-specific cryptographic information items may be obtained from the memory.
- the device of the second user can then attempt to decrypt the fourth cryptographic information with each of the non-blocked-sender-specific cryptographic information items, e.g. in sequence.
- the sender identifier is not encrypted with the public key of the privacy routing system to prevent the privacy routing system itself from making privacy -invading message correlations.
- the at least one processor of the second user device may be configured to receive an encrypted receiver identifier from the privacy routing system, the receiver identifier being encrypted with a cryptographic key associated with the privacy routing system, and create the first cryptographic information by copying or re -randomizing the encrypted receiver identifier for the first user.
- the same receiver identifier may be used for multiple senders/first users while still allowing different cryptographic information to be transmitted to the sender/first user, thereby preventing that third parties are able to make any privacy -invading message correlations.
- the at least one processor of the second user device may be configured to transmit the first cryptographic information and the second cryptographic information to devices of a plurality of users, the plurality of users including the first user. This enables blocking of messages from a group as a whole and may save the second user time and effort.
- the group of users may share the same sender identifier and/or the same sender-specific cryptographic key, for example.
- a privacy routing system for routing messages comprises at least one processor configured to receive a message from a device of a first user, the message comprising third cryptographic information and fourth cryptographic information, the third cryptographic information comprising a receiver identifier encrypted with a cryptographic key associated with the privacy routing system, decrypt the receiver identifier from the third cryptographic information with the cryptographic key or with a further cryptographic key corresponding to the cryptographic key, identify a second user based on the decrypted receiver identifier, validate the fourth cryptographic information, and forward the message to a device of the second user based on a result of the validation of the fourth cryptographic information.
- the at least one processor of the privacy routing system may be configured to receive a forwarding policy from a device of the second user and forward the message to a device of the second user further based on the forwarding policy.
- Forwarding policies may include whitelisting, blacklisting, combinations thereof, time -based policies, or even more complex policies, for example. Examples of time-based forwarding policies include delivering messages from the second user’s colleagues only between 9.00 and 18.00, exclusively delivering messages from the second user’s close family members during sleeping hours, and temporarily forwarding all messages intended for the second user to someone else during the second user’s vacation.
- the fourth cryptographic information may comprise a sender identifier encrypted with the cryptographic key or with a second cryptographic item associated with the privacy routing system and the at least one processor of the privacy routing system may be configured to validate the fourth cryptographic information by decrypting the fourth cryptographic information with the cryptographic key, with the second cryptographic key, with the further cryptographic key, with another cryptographic key corresponding to the cryptographic key, or with a second further cryptographic key corresponding to the second cryptographic key, and forward the message to a device of the second user in dependence on whether the sender identifier is included in a list of sender identifiers.
- Sender identifiers may be blocked for only one user of the privacy routing system or for all users of the privacy routing system.
- the cryptographic key used to encrypt the sender identifier may be the same as or different from the cryptographic key used to encrypt the receiver identifier.
- the fourth cryptographic information may comprise a revocation token generated by a device of the first user and the at least one processor of the privacy routing system may be configured to obtain a cryptographic accumulator, validate the fourth cryptographic information by verifying the revocation token with the cryptographic accumulator, and forward the message to a device of the second user in dependence on whether the revocation token was determined to be valid.
- a cryptographic accumulator By using a cryptographic accumulator, the contents of the white list and/or the black list may be kept secret.
- the at least one processor of the privacy routing system may be configured to obtain, based on the decrypted receiver identifier, a plurality of blocked -sender-specific cryptographic information items from a memory, validate the fourth cryptographic information by attempting to decrypt the fourth cryptographic information with the plurality of blocked-sender-specific cryptographic information items, drop the message if the attempt to decrypt the fourth cryptographic information results in one or more pre -defined values and/or is successful, and forward the message to a device of the second user if the attempt to decrypt the fourth cryptographic information does not result in the one or more pre -defined values or is not successful.
- the one or more predefined values may comprise a fixed value, such as “1”, or may be based on the rest of the message contents, e.g. as a check-sum, for example. If the one or more pre-defined values are determined based on the message contents, this verification at the device of the second user may replace traditional message verification procedures, e.g. regular checksum -based message integrity checks.
- the at least one processor of the privacy routing system may be configured to generate the receiver identifier, e.g. to ensure that each receiver identifier is unique on the privacy routing system (which excludes the device of the first user and the device of the second user).
- the privacy routing system may encrypt the receiver identifier itself or let the device of the second user encrypt the receiver identifier, e.g. depending whether the complexity of the user device or the complexity of the privacy routing system should be minimized. If the privacy routing system encrypts the receiver identifier, the device of the second user re-randomizes the encrypted receiver identifier.
- a computer program for carrying out the methods described herein, as well as a non-transitory computer readable storage -medium storing the computer program are provided.
- a computer program may, for example, be downloaded by or uploaded to an existing device or be stored upon manufacturing of these systems.
- a computer program product comprises instructions which, when the program is executed by a privacy routing system, cause the privacy routing system to perform the steps of receiving a message from a device of a first user, the message comprising third cryptographic information and fourth cryptographic information, the third cryptographic information comprising a receiver identifier encrypted with the cryptographic key associated with the privacy routing system, decrypting the receiver identifier from the third cryptographic information with the cryptographic key or with a further cryptographic key corresponding to the cryptographic key, identifying a second user based on the decrypted receiver identifier, validating the fourth cryptographic information, and forwarding the message to a device of the second user based on a result of the validation of the fourth cryptographic information.
- the computer program product may be stored on a non-transitory computer-readable storage medium.
- a computer program product comprises instructions which, when the program is executed by a first user device, cause the first user device to perform the steps of receiving first cryptographic information and second cryptographic information, the first cryptographic information comprising a receiver identifier encrypted with a cryptographic key associated with a privacy routing system, the receiver identifier being associated with a second user, including the receiver identifier encrypted with the cryptographic key associated with the privacy routing system in third cryptographic information, determining fourth cryptographic information based on the second cryptographic information, and transmitting a message for a second user to the privacy routing system, the message comprising the third cryptographic information and the fourth cryptographic information.
- the computer program product may be stored on a non- transitory computer-readable storage medium.
- a computer program product comprises instructions which, when the program is executed by a second user device, cause the second user device to perform the steps of transmitting first cryptographic information and second cryptographic information to a device of a first user, the first cryptographic information comprising a receiver identifier encrypted with a cryptographic key associated with the privacy routing system, the receiver identifier being associated with a second user, and receiving a message from the device of the first user via the privacy routing system.
- the computer program product may be stored on a non-transitory computer-readable storage medium.
- aspects of the present invention may be embodied as a device, a method or a computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit", "module” or “system.” Functions described in this disclosure may be implemented as an algorithm executed by a processor/microprocessor of a computer. Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may include, but are not limited to, the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store, a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro -magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java(TM), Smalltalk, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider an Internet Service Provider
- These computer program instructions may be provided to a processor, in particular a microprocessor or a central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- a processor in particular a microprocessor or a central processing unit (CPU), of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer, other programmable data processing apparatus, or other devices create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- FIG. 1 is a flow diagram of a first embodiment of the method of routing messages via a privacy routing system
- Fig. 2 is a flow diagram of a second embodiment of the method of routing messages via a privacy routing system
- Fig. 3 is a flow diagram of a first part of a third embodiment of the method of routing messages via a privacy routing system
- Fig. 4 is a flow diagram of a second part of the third embodiment of the method of routing messages via a privacy routing system
- Fig. 5 is a flow diagram of a first part of a fourth embodiment of the method of routing messages via a privacy routing system
- Fig. 6 is a flow diagram of a second part of the fourth embodiment of the method of routing messages via a privacy routing system
- Fig. 7 is a flow diagram of a third part of a fourth embodiment of the method of routing messages via a privacy routing system
- Fig. 8 is a flow diagram of a fourth part of the fourth embodiment of the method of routing messages via a privacy routing system
- Fig. 9 is a flow diagram of a fifth part of the fourth embodiment of the method of routing messages via a privacy routing system
- Fig. 10 is a block diagram of an embodiment of a messaging system which comprises embodiments of the privacy routing system and the first and second user devices;
- Fig. 11 is a block diagram of an exemplary data processing system for performing the steps of the method of the invention.
- a first embodiment of the method of routing messages via a privacy routing system 21 is shown in Fig. 1.
- a step 101 comprises a device 11 of a second user (also referred to as Bob) transmitting first cryptographic information and second cryptographic information to a device 1 of a first user (also referred to as Alice).
- the first cryptographic information comprises a receiver identifier encrypted with a cryptographic key associated with the privacy routing system.
- the receiver identifier is associated with the second user.
- the receiver identifier may be received from the privacy routing system before step 101 is performed (not shown in Fig. 1).
- the received receiver identifier may already be encrypted with a cryptographic key associated with the privacy routing system 21.
- the first cryptographic information may be created by re -randomizing the received encrypted receiver identifier for the first user.
- the device 11 may itself encrypt the received receiver identifier with a cryptographic key associated with the privacy routing system.
- the receiver identifier may be the second user’s e-mail address, for example.
- the receiver identifier for the second user may be the second user’s MS-ISDN number, the IMEI of a/the device of the second user, or an identifier that is derived from the SIM key hierarchy on a/the device of the second user, for example. Combinations of these identifiers may alternatively be used as receiver identifier. Alternatively or additionally, other identifiers may be used as receiver identifier.
- the cryptographic key may be a symmetric key or an asymmetric key. If the cryptographic key is an asymmetric key, it may be a public key and the receiver identifier encrypted with the cryptographic key, i.e. public key, may then be decrypted with the corresponding further cryptographic key, i.e. a private key.
- the public-key cryptography systems may be used: El Gamal, RSA, Paillier.
- the used public-key cryptography system(s) may be based on cyclic modulo groups, elliptic curve groups or other cyclic groups. Re-randomization properties of such public key cryptosystems may be used to randomize encrypted identifiers, so messages transmitted using the same encrypted identifier cannot be correlated.
- the Cramer-Shoup double-strand encryption scheme may be used in order to offer re-randomization without malleability.
- a widely known key agreement protocol (such as Diffie-Helman) may be used to ensure that the device 11 of the second user is in possession of the cryptographic key associated with the privacy routing system 21.
- the cryptographic key may be provisioned in the device 11 such that it is not necessary to transfer a cryptographic key, e.g. a symmetric key, from the privacy routing system 21 to the device 11.
- a cryptographic key e.g. a symmetric key
- the cryptographic key may be provided to the device 11 via a SIM card.
- one of the mobile communication network’s listed encryption algorithms for symmetric keys may be used, such as GEA4, GEA5, UEA1, UEA2 (TS 35.215), EEA1, EEA2, EEA3 (TS 33.401), NEA1, NEA2, NEA3 (TS 33.501).
- Example underlying algorithms are SNOW 3G, AES, ZUC, SNOW V.
- Cryptographic information may comprise a cryptographic key, data encrypted with a cryptographic key, and/or other cryptographic information.
- the first cryptographic information and the second cryptographic information may be transmitted to devices of a plurality of users, i.e. to device 1 and to devices of others users. This enables blocking of messages from a group as a whole and may save the second user time and effort.
- the group of users may share the same sender identifier and/or the same sender-specific cryptographic key, for example.
- step 101 is performed by or via the privacy routing system 21.
- the first and second cryptographic information are shared through means other than transmission.
- the information transmitted by device 11 to device 1 in step 101 may also comprise an identifier of the privacy routing system 21 so that device 11 (and optionally other devices of the first user) knows that messages for the second user should be routed via privacy routing system 21. This information may have been previously received by device 11 from the privacy routing system 21.
- a step 103 comprises device 1 receiving the first cryptographic information and the second cryptographic information.
- Step 105 comprises the device 1 including the receiver identifier, encrypted with the cryptographic key associated with the privacy routing system, in third cryptographic information.
- a step 107 comprises determining fourth cryptographic information based on the second cryptographic information.
- a step 109 comprises transmitting a message from the device 1 of the first user to the privacy routing system 21. The message comprises the third cryptographic information determined in step 105 and the fourth cryptographic information determined in step 107.
- the third cryptographic information may be the same as the first cryptographic information, but may alternatively be different, e.g. comprise a re- randomization of the received encrypted receiver identifier. If the third cryptographic information is different from the first cryptographic information, it should at least be derived from the first cryptographic information.
- the fourth cryptographic information may be the same as the second cryptographic information, but may alternatively be different. Step 107 may comprise determining the fourth cryptographic information by re -randomizing the second cryptographic information, for example.
- the body of the message may be encrypted using end-to-end encryption to ensure that the body of the message remains private to the first and second users and/or digitally signed to give the second user the assurance that there is no man-in-the-middle.
- This digital signing should give the second user assurance that the second user is communicating with the same first user, but the second user does not need to be able to identify that first user.
- Encrypted and/or authenticated communication may also be used between device 1 and privacy routing system 21 and between device 11 and privacy routing system 21. Information on which technologies should be used for encryption and authentication may be provided to devices 1 and 11 by the privacy routing system 21.
- a step 111 comprises the privacy routing system 21 receiving the message from the device 1 of the first user.
- a step 113 comprises the privacy routing system 21 decrypting the receiver identifier from the third cryptographic information with the cryptographic key or with a further cryptographic key corresponding to the cryptographic key. If the cryptographic key is a symmetric key, the receiver identifier is decrypted with the cryptographic key. If the cryptographic key is an asymmetric key, the cryptographic key may be a public key and the receiver identifier is then decrypted with the corresponding private key.
- a step 115 comprises the privacy routing system 21 identifying the second user based on the receiver identifier decrypted in step 113. Step 115 may comprise determining a current address of the second user.
- a step 117 comprises the privacy routing system 21 validating the fourth cryptographic information. In an alternative embodiment, the privacy routing system 21 requests the device 11 of the second user to validate the fourth cryptographic information and in response receives information indicating the result of the validation of the fourth cryptographic information from the device 11.
- a step 119 comprises the privacy routing system 21 forwarding the message from the privacy routing system 21 to the device 11 of the second user based on a result of the validation of the fourth cryptographic information of step 117.
- a step 121 comprises the device 11 of the second user receiving the message from the device 1 of the first user via the privacy routing system 21.
- the message i.e. at least the body thereof
- the message is forwarded in step 119 to the same device of the second user which transmitted the first and second cryptographic information in step 101.
- the message may be forwarded to another device of the second user in step 119.
- the device 11 of the second user performs step 101 at least once for each first user with which the second user wants to communicate and performs step 121 for each message not dropped by the privacy routing system 21.
- the device 1 of the first user performs step 103 at least once for each second user that wishes to communicate with the first user and performs step 109 for each message that the first user wants to send.
- the device 1 of the first user performs steps 105 and 107 at least once after each performance of step 103 and may perform steps 105 and 107 before each performance of step 109 (to perform re-randomization) to provide even further unlinkability.
- the privacy routing system 21 performs steps 111-119 for each message transmitted by a first user.
- the devices 1 and 11 in the method of Fig. 1 may also switch roles, i.e. the device 1 may be able to perform steps 101 and 121 and the device 11 may be able to perform steps 103-109 to allow the second user to send messages to the first user.
- a second embodiment of the method of routing messages via a privacy routing system is shown in Fig. 2. The steps of the method of Fig. 2 are performed by embodiments of the privacy routing system 21 and the first and second user devices 1 and 11, as described in relation to Fig. 1.
- a step 140 comprises the privacy routing system 21 generating the cryptographic key K21 associated with the privacy routing system (e.g. a symmetric key or a public key) and optionally the further cryptographic key corresponding to the cryptographic key (e.g. the private key corresponding to the afore -mentioned public key). Since the cryptographic key is not specific to the second user (or the first user), step 140 only needs to be performed once, although it might be done again in the case of key renewal (a.k.a. key rotation).
- the cryptographic key is not specific to the second user (or the first user)
- step 140 only needs to be performed once, although it might be done again in the case of key renewal (a.k.a. key rotation).
- a step 141 comprises the privacy routing system 21 generating a receiver identifier R ID for the second user. Step 141 is typically performed when an account is created for the second user in the privacy routing system. Each generated receiver identifier is unique on the privacy routing system 21.
- a step 143 comprises the privacy routing system 21 transmitting the receiver identifier R_ID, either encrypted with cryptographic key K21 or unencrypted, to the device 11 of the second user. In the embodiment of Fig. 2, the cryptographic key K21 itself is also transmitted in step 143. In an alternative embodiment, the privacy routing system 21 shares the cryptographic key K21 in a different manner.
- a step 145 comprises the device 11 of the second user receiving the receiver identifier R_ID and the cryptographic key K21. Steps 141-145 are normally performed for each receiver/user of the privacy routing system 21.
- a step 147 comprises the device 11 of the second user generating a sender identifier S ID for the first user.
- This sender identifier S ID is unique for the first user specific to the second user, but the first user does not need to know the sender identifier S ID.
- the sender identifier S ID is generated by the privacy routing system 21 .
- the device 11 of the second user may be able to generate a new sender identifier for the first user and a new associated forwarding policy whenever desired, e.g., when establishing a new communication relationship with the first user for a different persona.
- the device 11 may transmit an (updated) forwarding policy to the privacy routing system 21.
- the second user may be able to update his forwarding policy with the privacy routing system and make the privacy routing system block messages from the first user (Alice).
- the second user could perform this action, for example when second user’s business dealings with the first user have terminated, when the first user would start spamming the second, when the second user finds out that the first user has shared the encrypted combination with unauthorized third parties, or for another reason.
- Forwarding policies may include whitelisting, blacklisting, combinations thereof, time-based policies, or even more complex policies, for example.
- An example of a more complex policy is “this sender identifier is default whitelisted”, or “forward only messages from a sender identifier from this group only if it is the very first message, or if the message is within two weeks from forwarding that first message for that sender identifier”.
- Examples of time-based forwarding policies include delivering messages from the second user’s colleagues only between 9.00 and 18.00, exclusively delivering messages from the second user’s close family members during sleeping hours, and temporarily forwarding all the second user’s messages to someone else during the second user’s vacation.
- the protocol that the second device uses for configuring its forwarding policies and/or sender identifiers may be HTTP, HTTPS, RADIUS, DIAMETER, SIP, DHCP, or DIDcomm, for example.
- the conveyed data in those configuration messages may be encoded using XML, JSON, JSON-LD, JWT, JWE, SDP, binary, text, or ASN1, for example.
- a step 149 comprises encrypting the sender identifier with the cryptographic key K21 received in step 145. If the receiver identifier R_ID received in step 145 was not received in encrypted form, the receiver identifier R_ID is also encrypted with the cryptographic key K21. The receiver identifier and the sender identifier may then be encrypted jointly in compound cryptographic information. In an alternative embodiment, the receiver identifier R ID and the sender identifier S ID are encrypted with different cryptographic keys associated with the privacy routing system 21.
- the device 11 of the second user may perform steps 149 and 151 once per first user or, to provide even further unlinkability, multiple times per first user.
- step 101 of Fig. 1 is implemented by a step 151.
- Step 151 comprises the device 11 of the second user transmitting the first cryptographic information and second cryptographic information to the device 1 of the first user, preferably directly but optionally via the privacy routing system 21.
- the first cryptographic information comprises the encrypted receiver identifier R ID.
- the second cryptographic information comprises the encrypted sender identifier S_ID. If the receiver identifier and the sender identifier were encrypted jointly in step 149, the compound cryptographic information is transmitted in step 151.
- a first part of the compound cryptographic information corresponds to the first cryptographic information and a second part of the compound cryptographic information corresponds to the second cryptographic information.
- step 103 of Fig. 1 is implemented by a step 153 and step 109 of Fig. 1 is implemented by a step 155.
- Step 153 comprises device 1 receiving the first cryptographic information and the second cryptographic information.
- the second cryptographic information comprises the encrypted sender identifier S_ID.
- Step 105 comprises the device 1 including the receiver identifier, encrypted with the cryptographic key associated with the privacy routing system, in third cryptographic information.
- Step 107 comprises determining fourth cryptographic information based on the second cryptographic information.
- Step 155 comprises transmitting a message from the device 1 of the first user to the privacy routing system 21. The message comprises the third cryptographic information determined in step 105 and the fourth cryptographic information determined in step 107.
- the fourth cryptographic information comprises the encrypted sender identifier S_ID.
- step 111 of Fig. 1 is implemented by a step 157.
- Step 157 comprises the privacy routing system 21 receiving the message from the device 1 of the first user.
- Step 113 comprises the privacy routing system 21 decrypting the receiver identifier R ID from the third cryptographic information with the cryptographic key or with the further cryptographic key corresponding to the cryptographic key.
- Step 115 comprises the privacy routing system 21 identifying the second user based on the receiver identifier decrypted in step 113.
- step 117 of Fig. 1 is implemented by a step 159.
- Step 159 comprises the privacy routing system 21 decrypting the fourth cryptographic information with the cryptographic key or with the further cryptographic key.
- step 159 comprises the privacy routing system 21 decrypting the fourth cryptographic information with the second cryptographic key or with a second further cryptographic key corresponding to the second cryptographic key.
- a step 161 comprises checking whether the sender identifier S_ID decrypted in step 159 is included in a list of sender identifiers.
- This list of sender identifiers may be part of a received forwarding policy or may be determined based on a received forwarding policy, for example.
- the list of sender identifiers may be a list of blocked sender identifiers or a list of allowed (non-blocked) sender identifiers.
- Zero-knowledge set membership proofs or cryptographic accumulators may be used to realize anonymous pass-lists or block -lists based on the sender identifiers, as will described in relation to Figs. 5 to 9. In the embodiment of Fig.
- a list of sender identifiers associated with the receiver identifier decrypted in step 113 is obtained.
- the list of sender identifiers is specific to the second user.
- a list of sender identifiers is used that applies to all users of the privacy routing system 21.
- the sender identifier S_ID may be generated by the privacy routing system 21 (such that each generated sender identifier is unique on the privacy routing system) instead of by the device 11 of the second user, as described in relation to step 147.
- a step 163 is performed if it is determined in step 161 that the first user is blocked.
- Step 163 comprises dropping the message.
- Step 119 is performed if it is determined in step 161 that the first user is allowed (i.e. not blocked).
- step 119 is implemented by a step 165.
- Step 165 comprises the privacy routing system 21 forwarding the message from the privacy routing system 21 to the device 11 of the second user. If the privacy routing system 21 received a forwarding policy from the device 11 of the second user, the privacy routing system 21 may forward the message to the device 11 of the second user further based on the forwarding policy.
- Step 121 comprises the device 11 of the second user receiving the message from the device 1 of the first user via the privacy routing system 21 .
- step 121 is implemented by a step 167.
- step 167 only the body of the message is forwarded; the receiver identifier R ID and the sender identifier S ID are not forwarded.
- the sender identifier S ID may be forwarded in addition to the body of the message.
- FIG. 3 and 4 A third embodiment of the method of routing messages via a privacy routing system is shown in Figs. 3 and 4. The steps of the method of Figs. 3 and 4 are performed by embodiments of the privacy routing system 21 and the first and second user devices 1 and 11, as described in relation to Fig. 1.
- Step 141 of Fig. 3 comprises the privacy routing system 21 generating a receiver identifier R ID for the second user.
- Step 141 is typically performed when an account is created for the second user in the privacy routing system.
- Each generated receiver identifier is unique on the privacy routing system.
- a step 193 comprises the privacy routing system 21 transmitting the receiver identifier R_ID, either encrypted with cryptographic key K21 or unencrypted, to the device 11 of the second user.
- a step 195 comprises the device 11 of the second user receiving the receiver identifier R_ID.
- a step 201 comprises the device 11 of the second user creating senderspecific cryptographic information items for each sender/first user with which the second user wishes to communicate and storing them in a memory.
- the sender-specific cryptographic information items may comprise a private key and a corresponding public key for each sender, for example.
- each sender is considered allowed/non-blocked until it is blocked in a step 203.
- step 203 is shown as being optionally performed directly after step 201, but typically, step 203 may be performed at any time after step 201. It may be possible to unblock sender-specific cryptographic information items. Alternatively, a new sender-specific cryptographic information item may be created for the same first user.
- a step 205 comprises the device 11 of the second user transmitting the blocked sender-specific cryptographic information items, i.e. the cryptographic information items associated with blocked senders/first users, to the privacy routing system 21.
- a step 207 comprises the privacy routing system 21 receiving the blocked sender-specific cryptographic information items and storing them in a memory associated with the receiver identifier R ID of the second user.
- the privacy routing system only receives senderspecific cryptographic information items specific to blocked users and is therefore not able to correlate messages from the same sender if the sender has not been blocked.
- Steps 201-207 may be performed multiple times at different moments.
- step 101 of Fig. 1 is implemented by a step 209, shown in Fig. 4.
- Step 209 comprises the device 11 of the second user transmitting the first cryptographic information and second cryptographic information to the device 1 of the first user.
- the first cryptographic information comprises the encrypted receiver identifier R ID.
- the second cryptographic information comprises one or more predefined values encrypted with a sender-specific cryptographic key associated with the second user and specific to the first user, e.g. a public key PUBKn, or comprises a public key associated with the second user and specific to the first user, e.g. public key PUBKn.
- the one or more pre -defined values may comprise a fixed value, such as “1”, or may be based on the rest of the message contents, e.g. as a check-sum, for example.
- the second cryptographic information comprises different cryptographic information.
- the device 11 of the second user needs to ensure that the device 1 of the first user is able to transmit the one or more pre-defined values encrypted and randomized. This can be realized in various ways.
- a third way comprises the device 11 transmitting encrypted predefined value(s) E and a randomization factor R to the device 1, after which the device 1 is able to randomize the encrypted pre-defined value(s) by calculating E * R A n for a random value of n, optionally in a finite field specified by the device 11 of the second user or the privacy routing system 21.
- This third way is based on the Paillier encryption scheme.
- step 103 of Fig. 1 is implemented by a step 211 and step 109 of Fig. 1 is implemented by a step 215.
- Step 211 comprises device 1 receiving the first cryptographic information and the second cryptographic information.
- Step 105 comprises the device 1 including the receiver identifier, encrypted with the cryptographic key associated with the privacy routing system, in third cryptographic information.
- Step 107 comprises determining fourth cryptographic information based on the second cryptographic information.
- the fourth cryptographic information may be the same as the second cryptographic information, but may alternatively be different.
- Step 107 may comprise determining the fourth cryptographic information by re -randomizing the second cryptographic information, for example.
- step 107 may comprise determining the fourth cryptographic information by encrypting one or more predefined values, e.g. “1”, with the public key PUBKn received as or as part of second cryptographic information in step 211, for example.
- Step 215 comprises transmitting a message from the device 1 of the first user to the privacy routing system 21.
- the message comprises the third cryptographic information determined in step 105 and the fourth cryptographic information determined in step 107.
- the fourth cryptographic information comprises one or more predefined values encrypted with the public key PUBKn, e.g. the encrypted one or more predefined values received in step 211, a re -randomization of the encrypted one or more predefined values received in step 211, or one or more predefined values encrypted by the device 1 itself in step 107 with the public key PUBKn received in step 103.
- step 111 of Fig. 1 is implemented by a step 217.
- Step 217 comprises the privacy routing system 21 receiving the message from the device 1 of the first user.
- Step 113 comprises the privacy routing system 21 decrypting the receiver identifier R ID from the third cryptographic information with the cryptographic key or with the further cryptographic key corresponding to the cryptographic key.
- Step 115 comprises the privacy routing system 21 identifying the second user based on the receiver identifier decrypted in step 113.
- step 115 comprises a sub step 219.
- Step 219 comprising obtaining, based on the receiver identifier decrypted in step 113, the plurality of blocked-sender-specific cryptographic information items received in step 207 from the memory.
- step 117 of Fig. 1 is implemented by a step 221.
- Step 221 comprises attempting to decrypt the fourth cryptographic information with the plurality of blocked-sender-specific cryptographic information items to obtain the one or more pre-defined values.
- the one or more predefined values are used by the privacy routing system 21 and the device 11 of the second user to determine whether they are able to decrypt the fourth cryptographic information.
- the one or more predefined values may be standardized, for example.
- a step 223 comprises determining if the attempt to decrypt the fourth cryptographic information results in the one or more pre-defined values.
- a step 225 is performed if it is determined in step 223 that the attempt to decrypt the fourth cryptographic information results in the one or more pre-defined values.
- Step 225 comprises dropping the message.
- Step 119 is performed if it is determined in step 223 that the attempt to decrypt the fourth cryptographic information does not result in the one or more pre-defined values.
- step 223 comprises determining whether the attempt to decrypt the fourth cryptographic information was successful, step 225 is performed if it is determined in step 223 that the attempt to decrypt the fourth cryptographic information was successful and step 119 is performed if it is determined in step 223 that the attempt to decrypt the fourth cryptographic information was not successful.
- This alternative embodiment is beneficial when the cryptographic method indicates the success of the decryption, but not all cryptographic methods do this .
- step 119 is implemented by a step 227.
- Step 227 comprises the privacy routing system 21 forwarding the message from the privacy routing system 21 to the device 11 of the second user.
- the forwarded message comprises the fourth cryptographic information, i.e. one or more predefined values encrypted with the public key PUBKn, in addition to the body of the message.
- step 121 of Fig. 1 is implemented by a step 229.
- Step 229 comprises the device 11 of the second user receiving the message, i.e. the body of the message and the one or more predefined values encrypted with the public key PUBKn.
- a step 231 comprises the device 11 of the second user obtaining one or more non-blocked-sender-specific cryptographic information items from the memory in which they were stored in step 201.
- the sender-specific cryptographic information items which were not marked as blocked in step 203 are obtained in step 231.
- a step 233 comprises the device 11 of the second user attempting to decrypt the fourth cryptographic information with the one or more non -blocked-sender-specific cryptographic information items obtained in step 231 to obtain the one or more predefined values, e.g. “1” or a check-sum value based on the message contents.
- all non-blocked-sender-specific cryptographic information items are obtained from the memory.
- a step 235 comprises determining if the attempt to decrypt the fourth cryptographic information results in the one or more pre-defined values.
- a step 237 is performed if it is determined in step 235 that the attempt to decrypt the fourth cryptographic information does not result in the one or more pre-defined values.
- Step 237 comprises the device 11 of the second user dropping the message.
- a step 239 is performed if it is determined in step 223 that the attempt to decrypt the fourth cryptographic information results in the one or more pre-defined values.
- Step 239 comprises the device 11 of the second user presenting the (body of the) message to the user via a user interface.
- step 235 comprises determining whether the attempt to decrypt the fourth cryptographic information was successful, step 237 is performed if it is determined in step 235 that the attempt to decrypt the fourth cryptographic information was not successful, and step 239 is performed if it is determined in step 235 that the attempt to decrypt the fourth cryptographic information was successful.
- the device 11 of the second user also blocks/drops messages itself, as a blocked sender may transmit fourth cryptographic information which was not determined based on the second cryptographic information, which the privacy routing system would not be able to decrypt.
- a check-sum value is used as the predefined value, a message that has been corrupted in transit will have an incorrect check -sum value. Since the second user device has the non-blocked sender-specific cryptographic information items (which the privacy routing system does not), it can block/drop these malicious or corrupted messages.
- steps 235 and 237 are omitted and step 239 is performed even if decrypting the fourth cryptographic information does/would not result in the one or more pre-defined values. However, this may mean that some of the messages presented to the user may be malicious or corrupted messages.
- the device 11 of the second user does not transmit a sender identifier to the device 1 of the first user and the message transmitted by device 1 of the first user in step 215 therefore does not comprise a sender identifier either.
- the device 11 of the second user transmits a sender identifier encrypted with a cryptographic key associated with the second user to device 1 of the second user, for instance as part of the message body.
- the message transmitted by device 1 of the first user in step 215 also comprises this encrypted sender identifier and this encrypted sender identifier is also forwarded in step 227 to the device 11.
- the device 11 of the second user can first decrypt the sender identifier and then obtain only the non-blocked-sender-specific cryptographic information item associated with this sender identifier. If no non-blocked- sender-specific cryptographic information item is associated with this sender identifier, the message is dropped.
- the sender identifier is not encrypted with the public key of the privacy routing system 21 to prevent the privacy routing system 21 itself from making privacyinvading message correlations.
- FIG. 5 to 9 A fourth embodiment of the method of routing messages via a privacy routing system is shown in Figs. 5 to 9. The steps of the method of Figs. 5 to 9 are performed by embodiments of the privacy routing system 21 and the first and second user devices 1 and 11, as described in relation to Fig. 1.
- a cryptographic accumulator is used. This cryptographic accumulator may be based on asymmetric accumulators: Merkle trees, bi-linear map constructions and modular exponentiation (RSA accumulator), or on symmetric accumulators: Bloom filter, Cuckoo filter..
- an Anonymous Revocation Component is used, together with a Join algorithm, based on a negative dynamic cryptographic accumulator (ACCN) to allow the second user to put the first user on (and also off again, if desired) a blacklist.
- ARC Anonymous Revocation Component
- APN negative dynamic cryptographic accumulator
- ZKP zero-knowledge proof
- RA revocation authority
- RI revocation information
- RI revocation status of users in the system.
- RA revocation authority
- RI revocation information
- rh revocation handle
- a revocation handle may be embedded into the revocable object (e.g. the message the first user wants to send to the second user via the privacy routing system 21).
- the rh is bound to the revocable object with a signature.
- Fig. 5 shows a new second user being added to the privacy routing system 21.
- Step 141 of Fig. 5 comprises the privacy routing system 21 generating a receiver identifier R ID for the second user. Each generated receiver identifier is unique on the privacy routing system.
- Step 193 comprises the privacy routing system 21 transmitting the receiver identifier R ID, either encrypted with cryptographic key K21 or unencrypted, to the device 11 of the second user.
- Step 195 comprises the device 11 of the second user receiving the receiver identifier R ID.
- a step 251 comprises the device 11 of the second user running the SPGen algorithm described in the above-mentioned paper “Accumulators with Applications to Anonymity-Preserving Revocation”.
- a step 253 comprises the device 11 of the second user running the RKGen algorithm described in the above-mentioned paper “Accumulators with Applications to Anonymity-Preserving Revocation”.
- a step 255 comprises the device 11 of the second user transmitting the rpk and RI obtained in step 253 to the privacy routing system 21.
- a step 257 comprises the privacy routing system 21 receiving the rpk and RI and storing them in a memory associated with the receiver identifier R ID of the second user.
- the SPGen algorithm is run by the device 11 of the second user. In an alternative embodiment, the SPGen algorithm is run by the privacy routing system 21 , which then transmits span to the device 11 of the second user.
- Fig. 6 shows a new first user being enabled to communicate with the second user after the method of Fig. 5 has been performed.
- a step 261 comprises the device 11 of the second user running the Join algorithm described in the above-mentioned paper “Accumulators with Applications to Anonymity -Preserving Revocation”.
- the Join algorithm has the following input and output: a. Input: i. revocation secret key (rsk) ii. the revocation public key (rpk) iii. the revocation information (RI) iv. optionally the first user’s revocation handle (rh ’) if the first user has been put on the black list.
- step 261 the first user is joining for the first time and the input rh’ is therefore 1.
- a step 263 comprises the device 11 of the second user (securely) transmitting the first cryptographic information and second cryptographic information to the device 1 of the first user.
- the first cryptographic information comprises the encrypted receiver identifier R ID (E2i(R_ID)).
- the second cryptographic information comprises the revocation handle (rh) and the witness to the revocation handle (w rh ) obtained in step 261 and the revocation public key (rpk) obtained in step 253 of Fig. 5.
- step 103 of Fig. 1 is implemented by a step 265.
- Step 265 comprises device 1 receiving the first cryptographic information and the second cryptographic information transmitted in step 263.
- Fig. 7 shows the first user sending a message to the second user after the methods of Figs. 5 and 6 have been performed.
- a step 267 comprises the device 1 of the first user transmitting a request for the RI associated with the second user from the privacy routing system 21.
- the RI comprises the accumulator value and the other information necessary to generate an up-to-date revocation token rt.
- the request comprises the first cryptographic information, i.e. the encrypted receiver identifier.
- a step 269 comprises the privacy routing system 21 receiving this request.
- a step 271 comprises the privacy routing system 21 transmitting the RI associated with the second user to the device 1 of the first user.
- a step 273 comprises the device 1 of the first user receiving the requested RI.
- Step 105 comprises the device 1 including the encrypted receiver identifier, as received in step 265, in third cryptographic information.
- Step 107 comprises determining fourth cryptographic information based on the second cryptographic information.
- step 107 is implemented by steps 281 and 283.
- Step 281 comprises generating the first user’s commitment to rh (C) and a decommitment value (o). For each new revocation token rt, the first user generates a fresh commitment to rh in order to avoid making the first user’s tokens linkable.
- Step 283 comprises the device 1 of the first user running the RevTokenGen algorithm described in the above-mentioned paper “Accumulators with Applications to Anonymity-Preserving Revocation”.
- the RevTokenGen algorithm has the following input and output: a. Input: i. the first user’s revocation handle (r/i); received in step 265 ii. the first user’s commitment to rh (C) generated in step 281 iii. a decommitment value (o); generated in step 281 iv. the revocation information (RI) received in step 273 v. the first user’s witness of rh (w rh ) received in step 265 vi. the revocation public key (rpk , received in step 265 b.
- the device 1 of the first user generates a new revocation token (and generates a different commitment) every time the first user sends a message to the second user. This ensures unlinkability between different messages sent by the first user.
- a new revocation token is generated less often.
- a step 285 comprises determining whether a valid token was generated in step 283. This is done be letting the first user run the RevTokenVer algorithm on her own revocation token. If the revocation token is valid , then a step 287 is performed next. Step 287 comprises transmitting a message from the device 1 of the first user to the privacy routing system 21.
- the message comprises the third cryptographic information determined in step 105 and the fourth cryptographic information determined in step 107.
- the third cryptographic information comprises the receiver identifier, encrypted with the cryptographic key associated with the privacy routing system (E2I(R_ID)).
- the fourth cryptographic information comprises the revocation token (rt) generated by the device 1 in step 283 and further comprises the first user’s commitment to rh I generated in step 281.
- step 111 of Fig. 1 is implemented by a step 289.
- Step 289 comprises the privacy routing system 21 receiving the message from the device 1 of the first user, as transmitted in step 287.
- Step 113 comprises the privacy routing system 21 decrypting the receiver identifier R ID from the third cryptographic information with the cryptographic key or with the further cryptographic key corresponding to the cryptographic key.
- Step 115 comprises the privacy routing system 21 identifying the second user based on the receiver identifier decrypted in step 113.
- step 117 of Fig. 1 is implemented by a step 291.
- Step 291 comprises the privacy routing system 21 verifying the revocation token (rt), received in step 289, with the cryptographic accumulator, i.e. RI, associated with the identified second user, as received in step 273 of Fig. 7.
- step 291 comprises the privacy routing system 21 running the RevTokenVer algorithm described in the above- mentioned paper “Accumulators with Applications to Anonymity -Preserving Revocation”.
- the RevTokenVer algorithm has the following input and output: a. Input: i. the first user’s revocation token (rt); received in step 289 ii.
- the first user s commitment to rh (C); received in step 289 iii. the revocation information (RI) received in step 257 iv. the revocation public key (rpk); received in step 257 b.
- a step 293 comprises checking whether the revocation token was determined to be valid or not in step 291. If the revocation token is not valid, step 163 is performed. Step 163 comprises dropping the message. If the revocation token is valid, step 119 is performed. In the embodiment of Figs. 5 to 9, step 119 is implemented by step 165.
- Step 165 comprises the privacy routing system 21 forwarding the message from the privacy routing system 21 to the device 11 of the second user.
- Step 121 comprises the device 11 of the second user receiving the message from the device 1 of the first user via the privacy routing system 21.
- step 121 is implemented by a step 167. In step 167, only the body of the message is received.
- FIG. 8 shows the second user adding the first user to a blacklist after the methods of Figs. 5 and 6 have been performed.
- a step 401 comprises the device 11 of the second user running the Revoke algorithm described in the above-mentioned paper “Accumulators with Applications to Anonymity-Preserving Revocation”.
- the Revoke algorithm has the following input and output: a. Input: i. the revocation handle of the first user that the second user wants to blacklist (and thus wants to add to the accumulator) (rh) ii. the revocation secret key (rsk) iii. the revocation information (RT) b.
- Output: ii. updated revocation information (RI) (
- a step 403 comprises the device 11 of the second user transmitting the updated revocation information (RI) to the privacy routing system 21.
- a step 405 comprises the privacy routing system 21 receiving the updated revocation information.
- Fig. 9 shows the first user transmitting a request to be removed from the second user’s blacklist. This is an optional extension of the steps of Figs. 5 to 7 and may be omitted.
- a step 411 comprises the device 1 of the first user transmitting a request to be removed from the first user’s blacklist to the privacy routing system 21.
- the first user previously received a revocation handle (rh) in step 265 and includes this revocation handle in the request.
- the request further comprises the third cryptographic information, i.e. the encrypted receiver identifier.
- a step 413 comprises the privacy routing system 21 receiving this request and a step 415 comprises the privacy routing system 21 forwarding this request to the device 11 of the second user without the third cryptographic information.
- the privacy routing system 21 and the second user may have agreed on a maximum amount of Join-while-still- revoked-requests that will be forwarded by the privacy routing system to a device of the second user.
- a step 417 comprises the device 11 of the second user receiving the forwarded request.
- a step 419 comprises the device 11 of the second user determining whether to remove the first user from the blacklist, as requested by the first user.
- Step 421 comprises the device 11 of the second user running the Join algorithm again.
- the Join algorithm has been described above in relation to step 261.
- This revocation handle is provided to the algorithm as input (rh’).
- a step 423 comprises the device 11 of the second user (securely) transmitting the new revocation handle (rh) and the new witness to the revocation handle (w rh ) obtained in step 421.
- a step 425 comprises device 1 receiving the new revocation handle (rh) and the new witness to the revocation handle (w rh ) transmitted in step 423.
- Steps 423 and 425 are somewhat similar to steps 263 and 265 of Fig. 6, except that it is not necessary to transmit the encrypted receiver identifier and the revocation public key (rpk), as these have not changed.
- steps 267-273 are performed in the same way as described in relation to Fig. 7.
- an ARC is implemented together with a Join algorithm based on a negative cryptographic dynamic accumulator ACCN to allow the second user to put the first user on (and also off again, if desired) a blacklist.
- an ARC is implemented together with a Join algorithm based on a positive cryptographic dynamic accumulator ACCP to allow the second user to put the first user on (and also off again, if desired) a whitelist.
- the device 1 of the first user will run the RevTokenGen algorithm to obtain a revocation token proving the first user is on the whitelist (instead of not on the blacklist).
- an additive accumulator may be used in case of blacklisting. This disables the possibility to rejoin after being blocked, but makes the communication a bit faster.
- a subtractive accumulator may be used in case of whitelisting. However, this means that if a first person is not on the initial white list of a second person, this first person is not able to setup communication with this second person. The Join protocol is then no longer used.
- FIG. 10 An embodiment of a messaging system 31, which comprising a privacy routing system 21, a device 1 of a first user, and a device 11 of a second user, is shown in Fig. 10.
- the first and second user devices 1 and 11 may comprise one or more mobile devices, e.g. mobile phones, and/or one or more stationary devices, e.g. desktop PCs.
- the privacy routing system 21 comprises a receiver 23, a transmitter 24, a processor 25, and a memory 27.
- the processor 25 is configured to receive, via the receiver 23, a message from the device 1 of the first user.
- the message comprises third cryptographic information and fourth cryptographic information.
- the third cryptographic information comprises a receiver identifier encrypted with the cryptographic key associated with the privacy routing system 21.
- the processor 25 is further configured to decrypt the receiver identifier from the third cryptographic information with the cryptographic key or with a further cryptographic key corresponding to the cryptographic key, identify a second user based on the decrypted receiver identifier, validate the fourth cryptographic information, and forward, via the transmitter 24, the message to the device 11 of the second user based on a result of the validation of the fourth cryptographic information.
- the second user device 11 comprises a receiver 13, a transmitter 14, a processor 15, and a memory 17.
- the processor 15 is configured to transmit, via the transmitter 14, first cryptographic information and second cryptographic information to the device 1 of the first user.
- the first cryptographic information comprises a receiver identifier encrypted with a cryptographic key associated with the privacy routing system 21.
- the receiver identifier is associated with the second user.
- the processor 15 is further configured to receive, via the receiver 13, a message from the device 1 of the first user via the privacy routing system 21.
- the first user device 1 comprises a receiver 3, a transmitter 4, a processor 5, and a memory 7.
- the processor 5 is configured to receive, via the receiver 3, first cryptographic information and second cryptographic information.
- the first cryptographic information comprises a receiver identifier encrypted with a cryptographic key associated with the privacy routing system 21.
- the receiver identifier is associated with the second user.
- the processor 5 is further configured to include the receiver identifier, encrypted with the cryptographic key associated with the privacy routing system , in third cryptographic information, determine fourth cryptographic information based on the second cryptographic information, and transmit, via the transmitter 4, a message for the second user to the privacy routing system 21.
- the message comprises the third cryptographic information and the fourth cryptographic information.
- the processor 5 of the user device 1 is configured to perform steps 153, 105, 107, and 155 of Fig. 2
- the processor 25 of the privacy routing system 21 is configured to perform steps 140, 141, 143, 157, 113, 115, 159, 161, 163, and 165 of Fig. 2
- the processor 15 of the user device 11 is configured to perform steps 145, 147, 149, 151, and 167 of Fig. 2.
- the processor 5 of the user device 1 is configured to perform steps 211, 105, 107, and 215 of Figs. 3 and 4
- the processor 25 of the privacy routing system 21 is configured to perform steps 141, 193, 207, 217, 113, 115 (including sub step 219), 221, 223, 225, and 227 of Figs. 3 and 4
- the processor 15 of the user device 11 is configured to perform steps 195, 201, 203, 205, 209, 229, 231, 233, 235, 237, and 239 of Figs. 3 and 4.
- the processor 5 of the user device 1 is configured to perform steps 265, 267, 273, 105, 281, 283, 285, 287, 411, and 425 of Figs. 5 to 9
- the processor 25 of the privacy routing system 21 is configured to perform steps 141, 193, 257, 269, 271, 289, 113, 115, 291, 293, 163, 165, 405, 413, and 415 of Figs. 5 to 9
- the processor 15 of the user device 11 is configured to perform steps 195, 251, 253, 255, 261, 263, 167, 401, 403, 417, 419, 421, and 423 of Figs. 5 to 9.
- the user device 1 is not only configured to transmit messages but also to receive messages.
- the processor 5 of the user device 1 may be configured in the same way as described above in relation to the processor 15 of user device 11.
- the user device 11 is not only configured to receive messages but also to transmit messages.
- the processor 15 of the user device 11 may be configured in the same way as described above in relation to the processor 5 of user device 1.
- the processor 5 of the user device 1 and the processor 15 of the user device 11 may be configured in the same way.
- the privacy routing system 21 comprises one processor 25.
- the privacy routing system 21 comprises multiple processors.
- the processor may be a general -purpose processor, e.g., an Intel or an AMD processor, or an application-specific processor, for example.
- the processor may comprise multiple cores, for example.
- the processor may run a Unix-based or Windows operating system, for example.
- the memory 27 may comprise solid state memory, e.g., one or more Solid State Disks (SSDs) made out of Flash memory, or one or more hard disks, for example.
- SSDs Solid State Disks
- the receiver 23 and the transmitter 24 may use one or more communication technologies (wired or wireless) to communicate with other devices on the Internet.
- the receiver and the transmitter may be combined in a transceiver.
- the privacy routing system 21 may comprise other components typical for a network server, e.g., a power supply.
- the user devices 1 and 11 comprise one processor 5 and one processor 15, respectively.
- one or more of the user devices 1 and 11 comprise multiple processors.
- the processors 5 and 15 may be general-purpose processors, e.g., ARM, Qualcomm, AMD, or Intel processors, or application-specific processors.
- the processors 5 and 15 may run Google Android, Apple iOS, a Unix-based operating system or Windows as operating system, for example.
- the receivers 3 and 13 and the transmitters 4 and 14 of the user devices 1 and 11, respectively, may use one or more wired or wireless communication technologies such as Ethernet, Wi-Fi, UTE, and/or 5G New Radio to communicate with other devices on the Internet via an access point/base station.
- the receiver and the transmitter of a user device may be combined in a transceiver.
- the user devices 1 and 11 may comprise other components typical for a user device, e.g., a display and/or a microphone.
- Fig. 11 depicts a block diagram illustrating an exemplary data processing system that may perform the method as described with reference to Figs. 1-9.
- the data processing system 300 may include at least one processor 302 coupled to memory elements 304 through a system bus 306.
- the data processing system may store program code within memory elements 304.
- the processor 302 may execute the program code accessed from the memory elements 304 via a system bus 306.
- the data processing system may be implemented as a computer that is suitable for storing and/or executing program code. It should be appreciated, however, that the data processing system 300 may be implemented in the form of any system including a processor and a memory that is capable of performing the functions described within this specification.
- the memory elements 304 may include one or more physical memory devices such as, for example, local memory 308 and one or more bulk storage devices 310.
- the local memory may refer to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code.
- a bulk storage device may be implemented as a hard drive or other persistent data storage device.
- the processing system 300 may also include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 310 during execution.
- I/O devices depicted as an input device 312 and an output device 314 optionally can be coupled to the data processing system.
- input devices may include, but are not limited to, a keyboard, a pointing device such as a mouse, or the like.
- output devices may include, but are not limited to, a monitor or a display, speakers, or the like.
- Input and/or output devices may be coupled to the data processing system either directly or through intervening I/O controllers.
- the input and the output devices may be implemented as a combined input/output device (illustrated in Fig. 11 with a dashed line surrounding the input device 312 and the output device 314).
- a combined device is a touch sensitive display, also sometimes referred to as a “touch screen display” or simply “touch screen”.
- input to the device may be provided by a movement of a physical object, such as e.g. a stylus or a finger of a user, on or near the touch screen display.
- a network adapter 316 may also be coupled to the data processing system to enable it to become coupled to other systems, computer systems, remote network devices, and/or remote storage devices through intervening private or public networks.
- the network adapter may comprise a data receiver for receiving data that is transmitted by said systems, devices and/or networks to the data processing system 300, and a data transmitter for transmitting data from the data processing system 300 to said systems, devices and/or networks.
- Modems, cable modems, and Ethernet cards are examples of different types of network adapter that may be used with the data processing system 300.
- Various embodiments of the invention may be implemented as a program product for use with a computer system, where the program(s) of the program product define functions of the embodiments (including the methods described herein).
- the program(s) can be contained on a variety of non -transitory computer-readable storage media, where, as used herein, the expression “non-transitory computer readable storage media” comprises all computer-readable media, with the sole exception being a transitory, propagating signal.
- the program(s) can be contained on a variety of transitory computer-readable storage media.
- Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive, ROM chips or any type of solid-state non-volatile semiconductor memory) on which information is permanently stored; and (ii) writable storage media (e.g., flash memory, floppy disks within a diskette drive or hard-disk drive or any type of solid-state random-access semiconductor memory) on which alterable information is stored.
- the computer program may be run on the processor 302 described herein.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP22184205 | 2022-07-11 | ||
| PCT/EP2023/068627 WO2024012964A1 (en) | 2022-07-11 | 2023-07-05 | Privacy routing system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4555677A1 true EP4555677A1 (en) | 2025-05-21 |
Family
ID=82403531
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP23741606.0A Pending EP4555677A1 (en) | 2022-07-11 | 2023-07-05 | Privacy routing system |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4555677A1 (en) |
| CN (1) | CN119522554A (en) |
| WO (1) | WO2024012964A1 (en) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7774411B2 (en) * | 2003-12-12 | 2010-08-10 | Wisys Technology Foundation, Inc. | Secure electronic message transport protocol |
| US8726009B1 (en) * | 2010-01-26 | 2014-05-13 | David P. Cook | Secure messaging using a trusted third party |
| US11587076B2 (en) * | 2018-01-11 | 2023-02-21 | Early Warning Services, Llc | Systems and methods for responsive data transfer and anonymizing data using tokenizing and encrypting |
-
2023
- 2023-07-05 WO PCT/EP2023/068627 patent/WO2024012964A1/en not_active Ceased
- 2023-07-05 EP EP23741606.0A patent/EP4555677A1/en active Pending
- 2023-07-05 CN CN202380052839.7A patent/CN119522554A/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024012964A1 (en) | 2024-01-18 |
| CN119522554A (en) | 2025-02-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11457018B1 (en) | Federated messaging | |
| CN106576043B (en) | Virally allocatable trusted messaging | |
| US11349659B2 (en) | Transmitting an encrypted communication to a user in a second secure communication network | |
| US10009321B2 (en) | Method performed by at least one server for processing a data packet from a first computing device to a second computing device to permit end-to-end encryption communication | |
| KR101508360B1 (en) | Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer | |
| CN105284072B (en) | support for decryption of encrypted data | |
| US20170201382A1 (en) | Secure Endpoint Devices | |
| US11889307B2 (en) | End-to-end security for roaming 5G-NR communications | |
| WO2019199836A1 (en) | Secure communication using device-identity information linked to cloud-based certificates | |
| EP2605178A1 (en) | Method and device for secure notification of identity | |
| CN110493367B (en) | Address-free IPv6 non-public server, client and communication method | |
| US11368442B2 (en) | Receiving an encrypted communication from a user in a second secure communication network | |
| US10791196B2 (en) | Directory lookup for federated messaging with a user from a different secure communication network | |
| CN102740239A (en) | Method and system for secure transmission of media information | |
| US9866391B1 (en) | Permissions based communication | |
| WO2018161862A1 (en) | Private key generation method, device and system | |
| US10375051B2 (en) | Stateless server-based encryption associated with a distribution list | |
| Sabah et al. | Developing an end-to-end secure chat application | |
| CN114142995A (en) | Key secure distribution method and device for block chain relay communication network | |
| US12238078B2 (en) | Distributed trust-based communication | |
| US12177196B2 (en) | Distributed trust-based communication | |
| EP4555677A1 (en) | Privacy routing system | |
| US12095749B2 (en) | Distributed trust-based communication | |
| CN102740241A (en) | Method and system for secure transmission of media information | |
| CN102739604B (en) | The method and system of secure transmission of media information |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250210 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| RAP3 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NEDERLANDSE ORGANISATIE VOORTOEGEPAST-NATUURWETENSCHAPPELIJK ONDERZOEK TNO Owner name: KONINKLIJKE KPN N.V. |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: VAN DEVENTER, MATTIJS OSKAR Inventor name: MANGANAHALLI JAYAPRAKASH, SANDESH JAYAPRAKASH Inventor name: KEESMAAT, NICOLAAS WIJNAND Inventor name: WEITENBERG, ERIEKE Inventor name: DE KOK, WILLEM ADRIAAN |
|
| RIN1 | Information on inventor provided before grant (corrected) |
Inventor name: VAN DEVENTER, MATTIJS OSKAR Inventor name: MANGANAHALLI , SANDESH JAYAPRAKASH Inventor name: KEESMAAT, NICOLAAS WIJNAND Inventor name: WEITENBERG, ERIEKE Inventor name: DE KOK, WILLEM ADRIAAN |