WO2018019368A1 - Devices and methods for caching enciphered content in computer networks - Google Patents

Devices and methods for caching enciphered content in computer networks Download PDF

Info

Publication number
WO2018019368A1
WO2018019368A1 PCT/EP2016/067835 EP2016067835W WO2018019368A1 WO 2018019368 A1 WO2018019368 A1 WO 2018019368A1 EP 2016067835 W EP2016067835 W EP 2016067835W WO 2018019368 A1 WO2018019368 A1 WO 2018019368A1
Authority
WO
WIPO (PCT)
Prior art keywords
enciphered
content
server
network entity
key
Prior art date
Application number
PCT/EP2016/067835
Other languages
French (fr)
Inventor
Benjamin Smyth
Elizabeth QUAGLIA
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2016/067835 priority Critical patent/WO2018019368A1/en
Publication of WO2018019368A1 publication Critical patent/WO2018019368A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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

Definitions

  • the present invention relates to network entities in computer networks. More specifically, the present invention relates to devices and methods for caching enciphered content in computer networks.
  • Network congestion was declared a problem in the early days of the Internet.
  • caching whereby middle boxes store requests and messages that they observe, and, where possible, respond to requests using stored messages. Therefore, caching reduces both bandwidth and computation.
  • caching is being continuously advanced to cope with the evolution of network traffic.
  • One emerging evolution is the adoption of encryption.
  • Cisco's White Paper “Technology Radar,” 2014 estimated that encrypted network traffic accounts for about 10% of traffic and a "hyper-growth in encrypted network traffic" is predicted.
  • Naylor et al. observed in "Multi-Context TLS (mcTLS): Enabling Secure In-Network Functionality in TLS", SIGCOMM, 2015, that 44% of traffic was encrypted in their sample.
  • standard methods for caching in the prior art provide for message distribution on the basis of a communication channel that couples at least a client, a middle box, and a server, wherein the server stores messages, the middle box stores messages as well and the client transmits requests for messages.
  • the middle box receives the request for the message and, afterwards, it proceeds as follows. If the middle box has already stored the message, then the middle box transmits the message. Otherwise, the middle box transmits the request for the message to the server.
  • the server receives the request for the message and transmits the message to the client.
  • a middle box which receives an enciphered request for a message can never transmit the message, because the middle box cannot associate the enciphered request with messages, due to the properties of encryption.
  • Other solutions in the prior art assume that middle boxes are trusted. This trust assumption enables the congestion problem for encrypted network traffic to be reduced to the (solved) congestion problem for unencrypted traffic, since requests and messages can be revealed to middle boxes, because they are trusted. However, these solutions assume the problem away, because they assume that middle boxes are trusted. Moreover, trusted middle boxes incur costs related to the fact that they must establish several keys and compute cryptographic operations.
  • the invention relates to a network entity for caching enciphered content requested by a client from a server in a computer network, wherein the network entity comprises a processor, a communication interface and a memory, wherein the processor is configured to cache the enciphered content, which has been enciphered by the server using a content key, together with the enciphered content key and a unique identifier associated with the enciphered content key in the memory.
  • the processor is further configured to transmit the enciphered content, which has been enciphered by the server using the content key, together with the enciphered content key via the communication interface to the client.
  • the processor is further configured to check whether the enciphered content is already available in the memory by checking whether a unique identifier received from the server via the communication interface is already available in the memory of the network entity.
  • the processor is further configured to request, in case the unique identifier received from the server via the communication interface is not already available in the memory, the enciphered content from the server by sending the unique identifier via the communication interface to the server.
  • the enciphered content key is enciphered on the basis of a session key known to the server and the client.
  • the session key known to the server and the client is established using hybrid encryption.
  • the unique identifier associated with the enciphered content key includes metadata associated with the enciphered content.
  • the unique identifier associated with the enciphered content key is enciphered.
  • the processor is further configured to decipher the enciphered unique identifier associated with the enciphered content key by means of a decryption key.
  • the processor is further configured to delete the enciphered content and/or the enciphered content key and/or the unique identifier associated with the enciphered content key from the memory based on a hit rate of the enciphered content.
  • the invention relates to a server for providing enciphered content to a client in a computer network
  • the server comprises, a processor, a communication interface and a memory
  • the processor is configured to encipher the content using a content key and to provide the enciphered content together with the enciphered content key and a unique identifier associated with the enciphered content key to a network entity for caching the enciphered content.
  • the processor is further configured to encipher the unique identifier associated with the enciphered content key.
  • the invention relates to a method for caching enciphered content requested by a client from a server in a computer network, wherein the method comprises the step of caching enciphered content, which has been enciphered by the server using a content key, together with the enciphered content key and a unique identifier associated with the enciphered content key in a network entity in communication with the server and the client.
  • the invention relates to a method for providing enciphered content from a server to a client in a computer network, wherein the method comprises the steps of enciphering the content using a content key and providing the enciphered content together with the enciphered content key and a unique identifier associated with the enciphered content key to a network entity for caching the enciphered content.
  • the invention relates to a computer program comprising a program code for performing the method of the third or fourth aspect when executed on a computer.
  • Fig. 1 shows a schematic diagram of a computer network including a network entity for caching enciphered content requested by a client from a server according to an embodiment
  • Fig. 2 shows a schematic diagram illustrating a communication flow between a network entity, a client and a server according to an embodiment
  • Fig. 3 shows a schematic diagram of a method for caching enciphered content requested by a client from a server in a computer network according to an embodiment
  • Fig. 4 shows a schematic diagram of a method for providing enciphered content from a server to a client in a computer network according to an embodiment.
  • Figure 1 shows a schematic diagram of a computer network 100 comprising a plurality of network entities 102 and 102a for caching enciphered content requested by one of a plurality of clients 104, 104a, 104b, 104c, 104d, 104f, 104g, 104h and 104i from one of a plurality of servers 106, 106a and 106b according to an embodiment.
  • the servers 106, 106a and 106b can comprise processors and memories 106m, 106am and 106bm, respectively, while the network entities 102 and 102a can comprise processors and memories 102m and 102am, respectively.
  • the network entities 102 and 102a, the clients 104, 104a, 104b, 104c, 104d, 104f, 104g, 104h and 104i and the servers 106, 106a and 106b are coupled by the communication channel 1 10 to networks N1 , N2, N3 and N4.
  • the network entities 102 and 102a can be middle boxes.
  • the server 106 can store a message or content f 1 , a content key k1 , and a unique identifier p1 in the memory 106m.
  • the network entity 102a can store the enciphered message or content f1 and the identifiers p1 in memory 102am.
  • the client 104c can request the content f1 from the server 106, wherein the request is denoted as r1 .
  • the client 104c can establish a session key t1 , respectively, with the server 106, as it will be described in more detail in the following.
  • Figure 2 shows a schematic diagram illustrating a communication flow between the network entity 102a, the client 104c and the server 106 according to an embodiment.
  • a summary of the different communication steps between the different components of the computer network 100 is given, according to an embodiment.
  • a the client 104c enciphers the request r1 with the session key t1 , and transmits the enciphered version of the request Enc(t1 ,r1 ) via the communication channel 1 10 to the server 106, wherein Enc(t1 ,r1 ) denotes the request r1 enciphered with the session key t1 .
  • the server 106 receives the enciphered version of the request Enc(t1 ,r1 ) and deciphers the enciphered version of the request Enc(t1 ,r1 ) with the session key t1 , in order to recover the request r1 for the message or content f 1 .
  • the processor is configured to look-up the content f1 in the memory 106m and to observe the association of the content f1 with the key k1 and the unique identifier p1 associated with the content key k1 .
  • the network entity 102a can receive and decipher the enciphered unique identifier p1 with a decryption key.
  • the enciphered version of the content key Enc(t1 ,k1 ) is transmitted by the network N1 to the network N4 via the network N3 (see also figure 1 ).
  • the network entity 102a can append an encryption key to the enciphered version of the request Enc(t1 ,r1 ) and the server 106 can abort upon receipt of the aforementioned encryption key satisfying some predefined criteria.
  • the criteria can include the encryption key being listed on a black list. This is useful, because it enables the server 106 to stop sending the content f1 to the network entity 102a, if it has misbehaved in the past.
  • the network N4 can transmit the enciphered version of the content key Enc(t1 ,k1 ) to the network entity 102a.
  • This embodiment of the invention is advantageous, because in such a way the server 106 can populate the memory 102am of the network entity 102a.
  • the server 106 can add, modify, and/or purge the content f1 , associated keys k1 and/or identifiers p1 from its memory 106m.
  • This embodiment of the invention is advantageous, because it allows to change keys k1 and identifiers p1 for security purposes.
  • the network entity 102a receives the enciphered version of the content key Enc(t1 ,k1 ) and the unique identifier p1 . If the unique identifier p1 is not already stored in the memory 102am, then the network entity 102a retransmits the unique identifier p1 to the server 106.
  • the server 106 receives the unique identifier p1 , and the processor of the server 106 looks-up the unique identifier p1 in the memory 106m and observes the association with the content key k1 and the message or content f 1 . It enciphers the content f1 with the content key k1 . Finally, the server 106 transmits the enciphered version of the content Enc(k1 ,f1 ) to the network entity 102a.
  • the network entity 102a receives the enciphered version of the content Enc(k1 ,f1 ), stores the unique identifier p1 and Enc(k1 ,f1 ) in the memory 102am and transmits Enc(t1 ,k1 ) and Enc(k1 ,f1 ) to the client 104c.
  • the network entity 102a purges the enciphered content f1 and the associated unique identifier p1 from its memory 102am, after step (e).
  • the network entity 102a might associate a "hit rate" with each enciphered content f1 and use such information to guide purging.
  • a "hit” occurs when the requested enciphered content f1 can be found in the network entity 102a.
  • Network entity 102a hits are served by reading the enciphered content f1 from the network entity 102a, which is faster than recomputing a result or reading enciphered content f1 from a slower data store.
  • the more requests can be served from the network entity 102a the faster the computer network 100 performs.
  • the network entity 102a can abort upon receipt of an identifier p1 satisfying some predefined criteria defined by the client 104c.
  • This embodiment of the invention is advantageous, because it enables the network entity 102a to perform content filtering, e.g., parental/workplace controls and virus scanners.
  • the client 104c receives the enciphered version of the key Enc(t1 ,k1 ) and the enciphered version of the content Enc(k1 ,f 1 ). It deciphers Enc(t1 ,k1 ) with the session key t1 in order to recover the content key k1 . Finally, it deciphers the enciphered version of the content Enc(k1 ,f1 ) with the content key k1 in order to recover the desired message or content f1 .
  • a seventh step (g) another client, the client 104d, proceeds as per (a) in the first step, except session key t2 is used instead of session key t1 .
  • the server 106 proceeds as per (b) in the second step, except session key t2 is used instead of session key t1 .
  • the network entity 102a receives the enciphered content key Enc(t2,k1 ) and the unique identifier p1 . Afterwards, the processor looks-up p1 in the memory 102am and observes the association with Enc(k1 ,f1 ). Finally, it transmits Enc(t2,k1 ) and Enc(k1 ,f1 ) to the client 104d.
  • a tenth step (j) the client 104d proceeds as per (f) in the sixth step, except session key t2 is used instead of session key t1 .
  • client 104d could request the message or content f1 as per (g)-(j) described in the aforementioned steps, using session keys established with the server 106.
  • the establishment of the session keys t1 or t2 can be achieved using hybrid encryption.
  • the invention reduces bandwidth and computational costs in comparison with network caching on encrypted traffic from the prior art. Concerning the aspect related to the bandwidth cost reduction, in this invention, the enciphered content f1 is transmitted from the server 106 to the network entity 102a once and it is transmitted from the network entity 102a to the client 104 for every request r1 , while, in the prior art, the enciphered content f1 is transmitted from the server 106 to the client 104 for every request r1 .
  • the server 106 uniquely enciphers the session key k1 for every request r1 and only enciphers the content f1 once, while, in the prior art, the server 106 uniquely enciphers the content f1 for every request r1 . Therefore, computational cost reductions are achieved, because enciphering the key k1 is generally cheaper than enciphering the content f1 or message. This is due to the fact that the content f1 is typically longer than the key k1 and, therefore, it requires more time. Furthermore, communication cost reductions can also be achieved, since the enciphered version of the key k1 is generally shorter than the enciphered version of the content f 1 .
  • FIG. 3 shows a schematic diagram of a method 300 for caching enciphered content f1 requested by a client 104 from a server 106 in a computer network 100 according to an embodiment.
  • the method 300 comprises the step of caching 302 the enciphered content f1 , which has been enciphered by the server 106 using a content key k1 , together with the enciphered content key k1 and a unique identifier p1 associated with the enciphered content key k1 in a network entity 102 in communication with the server 106 and the client 104 via a communication channel 1 10.
  • This embodiment of the invention provides a significantly improved solution, because it ensures that the content f1 is never revealed to the network entity 102. Therefore, the network entity 102 never has access to the copyrighted content f 1 .
  • FIG. 4 shows a schematic diagram of a method 400 for providing enciphered content f1 from a server 106 to a client 104 in a computer network 100 according to an embodiment.
  • the method 400 comprises the steps of enciphering 402 a content f1 using a content key k1 and providing 404 the enciphered content f 1 together with the enciphered content key k1 and a unique identifier p1 associated with the enciphered content key k1 to a network entity 102 for caching the enciphered content f1 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

This invention relates to a network entity (102) for caching enciphered content (f1) requested by a client (104) from a server (106) in a computer network (100), wherein the network entity (102) comprises, a processor, a communication interface and a memory (102m), wherein the processor is configured to cache the enciphered content (f1), which has been enciphered by the server (106) using a content key (k1), together with the enciphered content key (k1) and a unique identifier (p1) associated with the enciphered content key (k1) in the memory (102m).

Description

DEVICES AND METHODS FOR CACHING ENCIPHERED CONTENT IN COMPUTER
NETWORKS
TECHNICAL FIELD
In general, the present invention relates to network entities in computer networks. More specifically, the present invention relates to devices and methods for caching enciphered content in computer networks. BACKGROUND
Network congestion was declared a problem in the early days of the Internet. One possible solution to this problem is caching, whereby middle boxes store requests and messages that they observe, and, where possible, respond to requests using stored messages. Therefore, caching reduces both bandwidth and computation. Furthermore, caching is being continuously advanced to cope with the evolution of network traffic. One emerging evolution is the adoption of encryption. Cisco's White Paper "Technology Radar," 2014, estimated that encrypted network traffic accounts for about 10% of traffic and a "hyper-growth in encrypted network traffic" is predicted. Naylor et al. observed in "Multi-Context TLS (mcTLS): Enabling Secure In-Network Functionality in TLS", SIGCOMM, 2015, that 44% of traffic was encrypted in their sample. Sandvine's White Paper "Global Internet Phenomena Report: Africa, Middle East, and North America", 2015, predicted that 66% of North American traffic will be encrypted in 2016. Recently, it was also speculated that the trend towards encrypted network traffic might signify the end of caching's success, because caching cannot currently be applied to encrypted network traffic. In particular, since traffic is encrypted, caches can only observe encrypted requests and encrypted messages. Therefore, they cannot observe (plaintext) requests since they cannot decrypt encrypted requests to recover requests, nor can they observe (plaintext) messages. Thus, a network congestion problem is emerging in today's Internet, due to encrypted network traffic.
In particular, standard methods for caching in the prior art provide for message distribution on the basis of a communication channel that couples at least a client, a middle box, and a server, wherein the server stores messages, the middle box stores messages as well and the client transmits requests for messages. The middle box receives the request for the message and, afterwards, it proceeds as follows. If the middle box has already stored the message, then the middle box transmits the message. Otherwise, the middle box transmits the request for the message to the server. The server receives the request for the message and transmits the message to the client. However, as it follows from the above prior art description of caching, a middle box which receives an enciphered request for a message can never transmit the message, because the middle box cannot associate the enciphered request with messages, due to the properties of encryption. Other solutions in the prior art assume that middle boxes are trusted. This trust assumption enables the congestion problem for encrypted network traffic to be reduced to the (solved) congestion problem for unencrypted traffic, since requests and messages can be revealed to middle boxes, because they are trusted. However, these solutions assume the problem away, because they assume that middle boxes are trusted. Moreover, trusted middle boxes incur costs related to the fact that they must establish several keys and compute cryptographic operations.
Prior art solutions teaching middle boxes to store messages can be found, for instance, in US 7137143 B2, US20040015725 A1 and in the aforementioned work by Naylor et al.
Other prior art solutions, complementary to the aforementioned ones, teach clients to store messages, for instance, US 20100125602 A1 , US 20150095637 A1 and Shacham et al. "Client-Side Caching in TLS", NDSS, 2002. In particular, US 20150095637 A1 addresses the legality of caching - more specifically, the legality of caching copyrighted messages - by teaching middle boxes to encrypt messages before storing them. However, this solution only ensures that middle boxes never store copyrighted messages.
Furthermore, in WO 2015122813 A1 , it is suggested that encrypted messages can be "interpreted" by middle boxes, without decryption, by using deep packet inspection. However, this implies that the encryption scheme is insecure, since such an encryption scheme would not satisfy the so-called indistinguishability under chosen-plaintext attack (IND-CPA), which is a minimal security requirement.
Therefore, there is a need for improved devices and methods for caching enciphered content in computer networks.
SUMMARY
It is an object of the invention to provide improved devices and methods for caching enciphered content in computer networks. The foregoing and other objects are achieved by the subject matter of the independent claims. Further implementation forms are apparent from the dependent claims, the description and the figures. According to a first aspect, the invention relates to a network entity for caching enciphered content requested by a client from a server in a computer network, wherein the network entity comprises a processor, a communication interface and a memory, wherein the processor is configured to cache the enciphered content, which has been enciphered by the server using a content key, together with the enciphered content key and a unique identifier associated with the enciphered content key in the memory.
In a first possible implementation form of the network entity according to the first aspect as such, the processor is further configured to transmit the enciphered content, which has been enciphered by the server using the content key, together with the enciphered content key via the communication interface to the client.
In a second possible implementation form of the network entity according to the first aspect as such or the first implementation form thereof, the processor is further configured to check whether the enciphered content is already available in the memory by checking whether a unique identifier received from the server via the communication interface is already available in the memory of the network entity.
In a third possible implementation form of the network entity according to the second implementation form of the first aspect, the processor is further configured to request, in case the unique identifier received from the server via the communication interface is not already available in the memory, the enciphered content from the server by sending the unique identifier via the communication interface to the server.
In a fourth possible implementation form of the network entity according to the first aspect as such or the first to third implementation form thereof, the enciphered content key is enciphered on the basis of a session key known to the server and the client.
In a fifth possible implementation form of the network entity according to the fourth implementation form of the first aspect, the session key known to the server and the client is established using hybrid encryption. In a sixth possible implementation form of the network entity according to the first aspect as such or the first to fifth implementation form thereof, the unique identifier associated with the enciphered content key includes metadata associated with the enciphered content. In a seventh possible implementation form of the network entity according to the first aspect as such or the first to sixth implementation form thereof, the unique identifier associated with the enciphered content key is enciphered.
In an eighth possible implementation form of the network entity according to the seventh implementation form thereof, the processor is further configured to decipher the enciphered unique identifier associated with the enciphered content key by means of a decryption key.
In a ninth possible implementation form of the network entity according to the first aspect as such or the first to eighth implementation form thereof, the processor is further configured to delete the enciphered content and/or the enciphered content key and/or the unique identifier associated with the enciphered content key from the memory based on a hit rate of the enciphered content.
According to a second aspect, the invention relates to a server for providing enciphered content to a client in a computer network, wherein the server comprises, a processor, a communication interface and a memory, wherein the processor is configured to encipher the content using a content key and to provide the enciphered content together with the enciphered content key and a unique identifier associated with the enciphered content key to a network entity for caching the enciphered content.
In a first possible implementation form of the server according to the second aspect as such, the processor is further configured to encipher the unique identifier associated with the enciphered content key. According to a third aspect, the invention relates to a method for caching enciphered content requested by a client from a server in a computer network, wherein the method comprises the step of caching enciphered content, which has been enciphered by the server using a content key, together with the enciphered content key and a unique identifier associated with the enciphered content key in a network entity in communication with the server and the client.
According to a fourth aspect, the invention relates to a method for providing enciphered content from a server to a client in a computer network, wherein the method comprises the steps of enciphering the content using a content key and providing the enciphered content together with the enciphered content key and a unique identifier associated with the enciphered content key to a network entity for caching the enciphered content. According to a fifth aspect, the invention relates to a computer program comprising a program code for performing the method of the third or fourth aspect when executed on a computer.
BRIEF DESCRIPTION OF THE DRAWINGS
Further embodiments of the invention will be described with respect to the following figures, wherein:
Fig. 1 shows a schematic diagram of a computer network including a network entity for caching enciphered content requested by a client from a server according to an embodiment;
Fig. 2 shows a schematic diagram illustrating a communication flow between a network entity, a client and a server according to an embodiment; Fig. 3 shows a schematic diagram of a method for caching enciphered content requested by a client from a server in a computer network according to an embodiment; and
Fig. 4 shows a schematic diagram of a method for providing enciphered content from a server to a client in a computer network according to an embodiment.
In the figures, identical reference signs will be used for identical or functionally equivalent features.
DETAILED DESCRIPTION OF THE EMBODIMENTS
In the following description, reference is made to the accompanying drawings, which form part of the disclosure, and in which are shown, by way of illustration, specific aspects in which the present invention may be placed. It will be appreciated that the invention may be placed in other aspects and that structural or logical changes may be made without departing from the scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, as the scope of the invention is defined by the appended claims. For instance, it will be appreciated that a disclosure in connection with a described method will generally also hold true for a corresponding device or system configured to perform the method and vice versa. For example, if a specific method step is described, a corresponding device may include a unit to perform the described method step, even if such unit is not explicitly described or illustrated in the figures.
Moreover, in the following detailed description as well as in the claims, embodiments with functional blocks or processing units are described, which are connected with each other or exchange signals. It will be appreciated that the invention also covers embodiments which include additional functional blocks or processing units that are arranged between the functional blocks or processing units of the embodiments described below.
Finally, it is understood that the features of the various exemplary aspects described herein may be combined with each other, unless specifically noted otherwise.
Figure 1 shows a schematic diagram of a computer network 100 comprising a plurality of network entities 102 and 102a for caching enciphered content requested by one of a plurality of clients 104, 104a, 104b, 104c, 104d, 104f, 104g, 104h and 104i from one of a plurality of servers 106, 106a and 106b according to an embodiment. The servers 106, 106a and 106b can comprise processors and memories 106m, 106am and 106bm, respectively, while the network entities 102 and 102a can comprise processors and memories 102m and 102am, respectively.
In this embodiment, the network entities 102 and 102a, the clients 104, 104a, 104b, 104c, 104d, 104f, 104g, 104h and 104i and the servers 106, 106a and 106b are coupled by the communication channel 1 10 to networks N1 , N2, N3 and N4.
In one embodiment, the network entities 102 and 102a can be middle boxes. The server 106 can store a message or content f 1 , a content key k1 , and a unique identifier p1 in the memory 106m. The network entity 102a can store the enciphered message or content f1 and the identifiers p1 in memory 102am. The client 104c can request the content f1 from the server 106, wherein the request is denoted as r1 . The client 104c can establish a session key t1 , respectively, with the server 106, as it will be described in more detail in the following.
Figure 2 shows a schematic diagram illustrating a communication flow between the network entity 102a, the client 104c and the server 106 according to an embodiment. In the following, a summary of the different communication steps between the different components of the computer network 100 is given, according to an embodiment.
In a first step (a), the client 104c enciphers the request r1 with the session key t1 , and transmits the enciphered version of the request Enc(t1 ,r1 ) via the communication channel 1 10 to the server 106, wherein Enc(t1 ,r1 ) denotes the request r1 enciphered with the session key t1 .
In a second step (b), the server 106 receives the enciphered version of the request Enc(t1 ,r1 ) and deciphers the enciphered version of the request Enc(t1 ,r1 ) with the session key t1 , in order to recover the request r1 for the message or content f 1 . The processor is configured to look-up the content f1 in the memory 106m and to observe the association of the content f1 with the key k1 and the unique identifier p1 associated with the content key k1 . Then, it enciphers the content key k1 with the session key t1 , and transmits the enciphered version of the content key Enc(t1 ,k1 ) along with the unique identifier p1 . In one embodiment, the unique identifier p1 can be enciphered and the unique identifier p1 can include metadata for the associated content f1 . Furthermore, the network entity 102a can receive and decipher the enciphered unique identifier p1 with a decryption key. The enciphered version of the content key Enc(t1 ,k1 ) is transmitted by the network N1 to the network N4 via the network N3 (see also figure 1 ). In one embodiment, the network entity 102a can append an encryption key to the enciphered version of the request Enc(t1 ,r1 ) and the server 106 can abort upon receipt of the aforementioned encryption key satisfying some predefined criteria. For instance, the criteria can include the encryption key being listed on a black list. This is useful, because it enables the server 106 to stop sending the content f1 to the network entity 102a, if it has misbehaved in the past.
The network N4 can transmit the enciphered version of the content key Enc(t1 ,k1 ) to the network entity 102a. This embodiment of the invention is advantageous, because in such a way the server 106 can populate the memory 102am of the network entity 102a.
Furthermore, the server 106 can add, modify, and/or purge the content f1 , associated keys k1 and/or identifiers p1 from its memory 106m. This embodiment of the invention is advantageous, because it allows to change keys k1 and identifiers p1 for security purposes.
In a third step (c), the network entity 102a receives the enciphered version of the content key Enc(t1 ,k1 ) and the unique identifier p1 . If the unique identifier p1 is not already stored in the memory 102am, then the network entity 102a retransmits the unique identifier p1 to the server 106.
In a fourth step (d), the server 106 receives the unique identifier p1 , and the processor of the server 106 looks-up the unique identifier p1 in the memory 106m and observes the association with the content key k1 and the message or content f 1 . It enciphers the content f1 with the content key k1 . Finally, the server 106 transmits the enciphered version of the content Enc(k1 ,f1 ) to the network entity 102a. In a fifth step (e), the network entity 102a receives the enciphered version of the content Enc(k1 ,f1 ), stores the unique identifier p1 and Enc(k1 ,f1 ) in the memory 102am and transmits Enc(t1 ,k1 ) and Enc(k1 ,f1 ) to the client 104c. In one embodiment, the network entity 102a purges the enciphered content f1 and the associated unique identifier p1 from its memory 102am, after step (e). It is useful to purge the obsolete enciphered content f1 , that is, the enciphered content f1 that is not being "hit." For instance, the network entity 102a might associate a "hit rate" with each enciphered content f1 and use such information to guide purging. In particular, a "hit" occurs when the requested enciphered content f1 can be found in the network entity 102a. Network entity 102a hits are served by reading the enciphered content f1 from the network entity 102a, which is faster than recomputing a result or reading enciphered content f1 from a slower data store. Thus, the more requests can be served from the network entity 102a, the faster the computer network 100 performs. Furthermore, in one embodiment, the network entity 102a can abort upon receipt of an identifier p1 satisfying some predefined criteria defined by the client 104c. This embodiment of the invention is advantageous, because it enables the network entity 102a to perform content filtering, e.g., parental/workplace controls and virus scanners.
In a sixth step (f), the client 104c receives the enciphered version of the key Enc(t1 ,k1 ) and the enciphered version of the content Enc(k1 ,f 1 ). It deciphers Enc(t1 ,k1 ) with the session key t1 in order to recover the content key k1 . Finally, it deciphers the enciphered version of the content Enc(k1 ,f1 ) with the content key k1 in order to recover the desired message or content f1 .
In a seventh step (g), another client, the client 104d, proceeds as per (a) in the first step, except session key t2 is used instead of session key t1 .
In an eighth step (h), the server 106 proceeds as per (b) in the second step, except session key t2 is used instead of session key t1 . In a ninth step (i), the network entity 102a receives the enciphered content key Enc(t2,k1 ) and the unique identifier p1 . Afterwards, the processor looks-up p1 in the memory 102am and observes the association with Enc(k1 ,f1 ). Finally, it transmits Enc(t2,k1 ) and Enc(k1 ,f1 ) to the client 104d.
In a tenth step (j), the client 104d proceeds as per (f) in the sixth step, except session key t2 is used instead of session key t1 .
Similarly to client 104d, other clients could request the message or content f1 as per (g)-(j) described in the aforementioned steps, using session keys established with the server 106.
In one embodiment, the establishment of the session keys t1 or t2 can be achieved using hybrid encryption. Advantageously, the invention reduces bandwidth and computational costs in comparison with network caching on encrypted traffic from the prior art. Concerning the aspect related to the bandwidth cost reduction, in this invention, the enciphered content f1 is transmitted from the server 106 to the network entity 102a once and it is transmitted from the network entity 102a to the client 104 for every request r1 , while, in the prior art, the enciphered content f1 is transmitted from the server 106 to the client 104 for every request r1 . Concerning the aspect related to the computation costs reduction, in this invention, the server 106 uniquely enciphers the session key k1 for every request r1 and only enciphers the content f1 once, while, in the prior art, the server 106 uniquely enciphers the content f1 for every request r1 . Therefore, computational cost reductions are achieved, because enciphering the key k1 is generally cheaper than enciphering the content f1 or message. This is due to the fact that the content f1 is typically longer than the key k1 and, therefore, it requires more time. Furthermore, communication cost reductions can also be achieved, since the enciphered version of the key k1 is generally shorter than the enciphered version of the content f 1 . Figure 3 shows a schematic diagram of a method 300 for caching enciphered content f1 requested by a client 104 from a server 106 in a computer network 100 according to an embodiment. The method 300 comprises the step of caching 302 the enciphered content f1 , which has been enciphered by the server 106 using a content key k1 , together with the enciphered content key k1 and a unique identifier p1 associated with the enciphered content key k1 in a network entity 102 in communication with the server 106 and the client 104 via a communication channel 1 10. One advantage of this embodiment of the invention is that the network congestion problem is overcome by enabling caching of enciphered content f1 , thereby reducing bandwidth and computation. Furthermore, compared to the aforementioned prior art works, this invention provides a significantly improved solution, because it ensures that the content f1 is never revealed to the network entity 102. Therefore, the network entity 102 never has access to the copyrighted content f 1 .
Figure 4 shows a schematic diagram of a method 400 for providing enciphered content f1 from a server 106 to a client 104 in a computer network 100 according to an embodiment. The method 400 comprises the steps of enciphering 402 a content f1 using a content key k1 and providing 404 the enciphered content f 1 together with the enciphered content key k1 and a unique identifier p1 associated with the enciphered content key k1 to a network entity 102 for caching the enciphered content f1 . While a particular feature or aspect of the disclosure may have been disclosed with respect to only one of several implementations or embodiments, such feature or aspect may be combined with one or more other features or aspects of the other implementations or embodiments as may be desired and advantageous for any given or particular application. Furthermore, to the extent that the terms "include", "have", "with", or other variants thereof are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term "comprise". Also, the terms "exemplary", "for example" and "e.g." are merely meant as an example, rather than the best or optimal. The terms "coupled" and "connected", along with derivatives may have been used. It should be understood that these terms may have been used to indicate that two elements cooperate or interact with each other regardless whether they are in direct physical or electrical contact, or they are not in direct contact with each other.
Although specific aspects have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that a variety of alternate and/or equivalent implementations may be substituted for the specific aspects shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific aspects discussed herein.
Although the elements in the following claims are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence. Many alternatives, modifications, and variations will be apparent to those skilled in the art in light of the above teachings. Of course, those skilled in the art readily recognize that there are numerous applications of the invention beyond those described herein. While the present invention has been described with reference to one or more particular embodiments, those skilled in the art recognize that many changes may be made thereto without departing from the scope of the present invention. It is therefore to be understood that within the scope of the appended claims and their equivalents, the invention may be practiced otherwise than as specifically described herein.

Claims

1 . A network entity (102) for caching enciphered content (f1 ) requested by a client (104) from a server (106) in a computer network (100), wherein the network entity (102) comprises: a processor, a communication interface and a memory (102m); wherein the processor is configured to cache the enciphered content (f1 ), which has been enciphered by the server (106) using a content key (k1 ), together with the enciphered content key (k1 ) and a unique identifier (p1 ) associated with the enciphered content key (k1 ) in the memory (102m).
2. The network entity (102) of claim 1 , wherein the processor is further configured to transmit the enciphered content (f1 ), which has been enciphered by the server (106) using the content key (k1 ), together with the enciphered content key (k1 ) via the communication interface to the client (104).
3. The network entity (102) of claim 1 or 2, wherein the processor is further configured to check whether the enciphered content (f1 ) is already available in the memory (102m) by checking whether a unique identifier (p1 ) received from the server (106) via the communication interface is already available in the memory (102m) of the network entity (102).
4. The network entity (102) of claim 3, wherein the processor is further configured to request, in case the unique identifier (p1 ) received from the server (106) via the communication interface is not already available in the memory (102m), the enciphered content (f1 ) from the server (106) by sending the unique identifier (p1 ) via the communication interface to the server (106).
5. The network entity (102) of any one of the preceding claims, wherein the enciphered content key (k1 ) is enciphered on the basis of a session key (t1 ) known to the server (106) and the client (104).
6. The network entity (102) of claim 5, wherein the session key (t1 ) known to the server (106) and the client (104) is established using a hybrid encryption.
7. The network entity (102) of any one of the preceding claims, wherein the unique identifier (p1 ) associated with the enciphered content key (k1 ) includes metadata associated with the enciphered content (f1 ).
8. The network entity (102) of any one of the preceding claims, wherein the unique identifier (p1 ) associated with the enciphered content key (k1 ) is enciphered.
9. The network entity (102) of claim 8, wherein the processor is further configured to decipher the enciphered unique identifier (p1 ) associated with the enciphered content key (k1 ) by means of a decryption key.
10. The network entity (102) of any one of the preceding claims, wherein the processor is further configured to delete the enciphered content (f1 ) and/or the enciphered content key (k1 ) and/or the unique identifier (p1 ) associated with the enciphered content key (k1 ) from the memory (102m) based on a hit rate of the enciphered content (f 1 ).
1 1 . A server (106) for providing enciphered content (f1 ) to a client (104) in a computer network (100), wherein the server (106) comprises: a processor, a communication interface and a memory (106m); wherein the processor is configured to encipher the content (f1 ) using a content key (k1 ) and to provide the enciphered content (f1 ) together with the enciphered content key (k1 ) and a unique identifier (p1 ) associated with the enciphered content key (k1 ) to a network entity (102) for caching the enciphered content (f 1 ).
12. The server (106) of claim 1 1 , wherein the processor is further configured to encipher the unique identifier (p1 ) associated with the enciphered content key (k1 ).
13. A method (300) for caching enciphered content (f1 ) requested by a client (104) from a server (106) in a computer network (100), wherein the method (300) comprises the step of: caching (302) enciphered content (f1 ), which has been enciphered by the server (106) using a content key (k1 ), together with the enciphered content key (k1 ) and a unique identifier (p1 ) associated with the enciphered content key (k1 ) in a network entity (102) in communication with the server (106) and the client (104).
14. A method (400) for providing enciphered content (f1 ) from a server (106) to a client (104) in a computer network (100), wherein the method (400) comprises the steps of: enciphering (402) the content (f1 ) using a content key (k1 ); and providing (404) the enciphered content (f1 ) together with the enciphered content key (k1 ) and a unique identifier (p1 ) associated with the enciphered content key (k1 ) to a network entity (102) for caching the enciphered content (f1 ).
15. A computer program comprising a program code for performing the method of claim 13 or the method of claim 14 when executed on a computer.
PCT/EP2016/067835 2016-07-26 2016-07-26 Devices and methods for caching enciphered content in computer networks WO2018019368A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/067835 WO2018019368A1 (en) 2016-07-26 2016-07-26 Devices and methods for caching enciphered content in computer networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2016/067835 WO2018019368A1 (en) 2016-07-26 2016-07-26 Devices and methods for caching enciphered content in computer networks

Publications (1)

Publication Number Publication Date
WO2018019368A1 true WO2018019368A1 (en) 2018-02-01

Family

ID=56557687

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2016/067835 WO2018019368A1 (en) 2016-07-26 2016-07-26 Devices and methods for caching enciphered content in computer networks

Country Status (1)

Country Link
WO (1) WO2018019368A1 (en)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WOOD CHRISTOPHER ET AL: "Flexible end-to-end content security in CCN", 2014 IEEE 11TH CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE (CCNC), IEEE, 10 January 2014 (2014-01-10), pages 858 - 865, XP032710201, DOI: 10.1109/CCNC.2014.6994401 *

Similar Documents

Publication Publication Date Title
US9456002B2 (en) Selective modification of encrypted application layer data in a transparent security gateway
US10009336B2 (en) Network security system to validate a server certificate
US11303431B2 (en) Method and system for performing SSL handshake
US20100268935A1 (en) Methods, systems, and computer readable media for maintaining flow affinity to internet protocol security (ipsec) sessions in a load-sharing security gateway
US10320760B2 (en) Method and system for mutating and caching content in a content centric network
JP2010505284A (en) Method and network device for handling nested internet protocol security tunnels
US6944762B1 (en) System and method for encrypting data messages
JP2008250931A (en) System for restoring distributed information, information utilizing device, and verification device
CN105516062B (en) Method for realizing L2 TP over IPsec access
US10277576B1 (en) Diameter end-to-end security with a multiway handshake
US20150372991A1 (en) Method and system for protecting data using data passports
CN112602344A (en) End-to-end security for roaming 5G-NR communications
CN110971616B (en) Connection establishing method based on secure transport layer protocol, client and server
KR101847636B1 (en) Method and apprapatus for watching encrypted traffic
CN111835688B (en) Traffic fast forwarding method and system based on SSL/TLS protocol
US20220191042A1 (en) Secure Transport of Content Via Content Delivery Service
CN113039765A (en) Method and apparatus for secure messaging between network functions
CN108632197B (en) Content verification method and device
US20080181404A1 (en) Encrypted packet communication system
US8699710B2 (en) Controlled security domains
WO2018019368A1 (en) Devices and methods for caching enciphered content in computer networks
CN109587163B (en) Protection method and device in DR mode
CN114143038A (en) Key secure distribution method and device for block chain relay communication network
US11362812B2 (en) Method of end to end securing of a communication
US20240097903A1 (en) Ipcon mcdata session establishment method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16745450

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16745450

Country of ref document: EP

Kind code of ref document: A1