History access for end-to-end (E2E) secure content
AssigneeCisco Technology, Inc.
InventorsRichard Lee Barnes, Brian Christopher Powell
Life of this patent
Estimating the term…
Abstract
An embodiment provides new joiners to a conversation with access to historical keys using an encrypted skip list that can be safely stored on untrusted servers. This list provides random access to conversation content with logarithmic complexity (queries and data size), and imposes small (log-scale) overhead on linear/full access to the conversation content.
Claims20
A method comprising:
- generating, via at least one processor, a set of encryption keys for a corresponding epoch of a communication session within which a group of communication devices exchange content, wherein the set of encryption keys for the corresponding epoch includes an encryption key for at least one prior epoch of the communication session, and wherein the corresponding epoch of the communication session is initiated in response to a change in membership of a group of communication devices of a prior epoch;
- encrypting, via the at least one processor, the set of encryption keys for the corresponding epoch by an encryption key for the corresponding epoch;
- linking, via the at least one processor, the corresponding epoch to the at least one prior epoch based on the encryption key for the at least one prior epoch in the set of encryption keys for the corresponding epoch, wherein links between epochs include at least one path traversing the epochs in a non-consecutive manner;
- traversing, via the at least one processor, one or more paths from the corresponding epoch to one or more prior epochs based on the links to obtain a set of encryption keys for the one or more prior epochs, wherein traversing the one or more paths includes decrypting a set of encryption keys for a prior epoch along the one or more paths using an encryption key from an epoch linked to the prior epoch;
- and
- retrieving, via the at least one processor, content of the communication session for the one or more prior epochs based on the set of encryption keys for the one or more prior epochs.
An apparatus comprising:
- a network interface configured to enable network communications;
- and
- one or more processors coupled to the network interface, wherein the one or more processors are configured to perform operations including:
- generating a set of encryption keys for a corresponding epoch of a communication session within which a group of communication devices exchange content, wherein the set of encryption keys for the corresponding epoch includes an encryption key for at least one prior epoch of the communication session, and wherein the corresponding epoch of the communication session is initiated in response to a change in membership of a group of communication devices of a prior epoch;
- encrypting the set of encryption keys for the corresponding epoch by an encryption key for the corresponding epoch;
- linking the corresponding epoch to the at least one prior epoch based on the encryption key for the at least one prior epoch in the set of encryption keys for the corresponding epoch, wherein links between epochs include at least one path traversing the epochs in a non-consecutive manner;
- traverse one or more paths from the corresponding epoch to one or more prior epochs based on the links to obtain a set of encryption keys for the one or more prior epochs, wherein traversing the one or more paths includes decrypting a set of encryption keys for a prior epoch along the one or more paths using an encryption key from an epoch linked to the prior epoch;
- and
- retrieving content of the communication session for the one or more prior epochs based on the set of encryption keys for the one or more prior epochs.
One or more non-transitory computer readable storage media encoded with processing instructions that, when executed by one or more processors, cause the one or more processors to perform operations including:
- generating a set of encryption keys for a corresponding epoch of a communication session within which a group of communication devices exchange content, wherein the set of encryption keys for the corresponding epoch includes an encryption key for at least one prior epoch of the communication session, and wherein the corresponding epoch of the communication session is initiated in response to a change in membership of a group of communication devices of a prior epoch;
- encrypting the set of encryption keys for the corresponding epoch by an encryption key for the corresponding epoch;
- linking the corresponding epoch to the at least one prior epoch based on the encryption key for the at least one prior epoch in the set of encryption keys for the corresponding epoch, wherein links between epochs include at least one path traversing the epochs in a non-consecutive manner;
- traversing one or more paths from the corresponding epoch to one or more prior epochs based on the links to obtain a set of encryption keys for the one or more prior epochs, wherein traversing the one or more paths includes decrypting a set of encryption keys for a prior epoch along the one or more paths using an encryption key from an epoch linked to the prior epoch;
- and
- retrieving content of the communication session for the one or more prior epochs based on the set of encryption keys for the one or more prior epochs.
Dependencies are inferred from the claim text.