Next Article in Journal
Wearable Devices Suitable for Monitoring Twenty Four Hour Heart Rate Variability in Military Populations
Next Article in Special Issue
Cyber Risk Propagation and Optimal Selection of Cybersecurity Controls for Complex Cyberphysical Systems
Previous Article in Journal
Ambient LED Light Noise Reduction Using Adaptive Differential Equalization in Li-Fi Wireless Link
Previous Article in Special Issue
GAN-Based Differential Private Image Privacy Protection Framework for the Internet of Multimedia Things
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Anonymous Asynchronous Ratchet Tree Protocol for Group Messaging †

School of Computer, Central China Normal University, NO. 152 Luoyu Road, Wuhan 430079, China
*
Author to whom correspondence should be addressed.
This paper is an extended version of the conference paper: Chen, K.; Chen, J. Anonymous End to End Encryption Group Messaging Protocol Based on Asynchronous Ratchet Tree. In Proceedings of the 22nd International Conference on Information and Communications Security (ICICS 2020), Copenhagen, Denmark, 24–26 August 2020; pp. 588–605.
Sensors 2021, 21(4), 1058; https://doi.org/10.3390/s21041058
Submission received: 28 November 2020 / Revised: 20 January 2021 / Accepted: 26 January 2021 / Published: 4 February 2021
(This article belongs to the Collection Security, Trust and Privacy in New Computing Environments)

Abstract

:
Signal is the first application that applies the double ratchet for its end-to-end encryption protocol. The core of the double ratchet protocol is then applied in WhatsApp, the most popular messaging application around the world. Asynchronous Ratchet Tree (ART) is extended from ratchet and Diffie-Hellman tree. It is the first group protocol that applies Forward Secrecy (FS) with Post-Compromised Security (PCS). However, it does not consider protecting the privacy of user identity. Therefore, it makes sense to provide anonymous features in the conditions of FS and PCS. In this paper, the concepts of Internal Group Anonymity (IGA) and External Group Anonymity (EGA) are formalized. On the basis of IGA and EGA, we develop the “Anonymous Asynchronous Ratchet Tree (AART)” to realize anonymity while preserving FS and PCS. Then, we prove that our AART meets the requirements of IGA and EGA as well as FS and PCS. Finally, the performance and related issues of AART are discussed.

1. Introduction

1.1. Background

With the help of Internet development, Instant Messaging (IM) applications are much important in people’s lives. According to statistics, WhatsApp is the most popular IM application around the world with more than 2 billion active users. Facebook Messenger has 1.3 billion users. The third is WeChat with about 1 billion. In 2018, people spent 27.6 h a week online, of which 15.6% was used for instant messaging. In addition, WeChat is the second IM application of China, and LINE is popular in East Asian countries. A large amount of data containing personal privacy information will be generated through these platforms.
End-to end encryption (E2EE) is used to protect user privacy such that the server or any attackers cannot read messages during the communication of IM. When the secret key is not compromised, Indistinguishability under Chosen Ciphertext Attack (IND-CCA) is considered as a standard to protect IM communication, in which case an attacker can request a prepared ciphertext [1]. However, when the secret key is compromised, there should be Forward Secrecy (FS) [2] and Post-Compromised Security (PCS) [3]. FS is to ensure that the adversary cannot obtain the key or plaintext information of the past secret messages. PCS is to guarantee that after multiple interactions, the compromised communication will be restored to a secure state again.
The group message protocol is extended from one-to-one IM with at least three users during the communication. The sender transmits a message, and the other group members will receive the corresponding one. Many protocols of IM applications directly send the message ciphertext, the encryption key, and the ciphertext of the key to each member with the one-to-one secure protocol. This strategy is called “sender keys”. Because the session key is determined by the sender, all members should keep the connection with others. This operation cannot meet the requirements of PCS because the receiver should obtain the identity of the sender to apply “sender keys”. To deal with this issue, ART protocol [4] is designed, which is based on the ideas of point-to-point [5] and stateful [3] protocols.
However, there are still issues. In 2019, WhatsApp was hacked through its phone call bug, which led to user information being leaked [6]. Thus, the user’s identity may be disclosed because of the engineering loopholes in the implementation of applications, and anonymous features are required. Current group message protocol cannot provide FS, PCS, as well as anonymity at the same time. Therefore, we aim to propose a protocol that can satisfy FS, PCS, and anonymity. According to the conference version [7], we re-formalize the two anonymous features, External Group Anonymity (EGA) and Internal Group Anonymity (IGA), as attack games to resist internal and external group attackers. In EGA, communications among different groups cannot be distinguished. Therefore, in EGA, attackers who are not members of a group cannot link users to the appropriate group. When the key is leaked, the external attacker can be regarded as a member of the group. EGA cannot resist such attackers. Therefore, IGA is required, in which other members cannot accurately locate the message sender except for the messages sent by themselves.

1.2. Contributions

In this paper, we develop the structure of ART to satisfy IGA security and apply the one-time address [8] to achieve the security of EGA. We formalize our construction with the algorithms I n i t to create the group channel, E n c to encrypt and send messages, and D e c to receive and decrypt messages. The sub-algorithm S K G is to derive the session key, and U p d a t e and U p d a t e G p k are to update group tree by sender and receiver, respectively. The tools are used to construct the following algorithms: a cipher E = ( E C P A , D C P A ) which satisfies Indistinguishability under Chosen Plaintext Attack (IND-CPA), a MAC system I = ( S , V ) to protect the integrity of the message, and ( S e n d , G e t ) to send and get messages from the server according to the one-time address. Then, we prove the security of AART that satisfies FS, PCS, and anonymity. Finally, we show that the performance of AART is better than the “sender keys” and pair-wise Signal group protocols and it is close to ART while providing anonymity features.

2. Related Works

In this section, we analyze the group protocols of IM applications and show that these protocols do not provide anonymity along with FS and PCS.

2.1. Group Protocols

2.1.1. iMessage

Apple’s iMessage is the first popular E2EE application, but it turns out to be insecure under IND-CCA [9]. According to iMessage white paper [10], before sender A transmits a message to receiver B via iMessage, A should get the address of B from Apple’s server called APN because APN will store all users’ addresses. Furthermore, The group messaging protocol of iMessage is “sender keys”. Thus, anonymous features cannot be satisfied with iMessage.

2.1.2. LINE

LINE [11] is an E2EE application that is popular in East Asia. According to the protocol of LINE called Letter Sealing, there are some issues such as impersonating attacks [12]. In group messaging, a group master key is calculated by the creator and sent to other members via “sender keys”. This master key will not be changed so that if it is compromised, the contents of communication will be revealed by the attacker. Thus, PCS is not satisfied in LINE.

2.1.3. Signal

OTR [13] is the first application to provide ratchet. In ratchet protocol, users negotiate new Diffie-Hellman (DH) keys of each session, and the old session keys will be deleted and cannot be derived again. Signal’s protocol is called double ratchet. It proves that double ratchet can satisfy FS and PCS [5]. It can be observed from this protocol that long-term public keys are included in the associated data. So, the identities of users will be disclosed to the message server. Signal’s group messaging protocol is pair-wise, which requires that each member should maintain a one-to-one Signal protocol with other members rather than sending keys. Because of the pair-wise protocol, anonymity cannot be satisfied.

2.1.4. ART

ART [4] is extended from ratchet and Diffie-Hellman tree, which first applies FS and PCS to group messaging protocol. The creator of a group generates DH key pairs for others. DH key pairs are set as the leaves of the DH tree, and the parents’ DH key pairs are generated from the ones of their children. The public DH tree is sent to other members. When sending messages, the sender needs to refresh his leaf DH key and the public DH keys from the corresponding leaf to the root of the group tree. The new public keys are sent to others to update their DH trees according to the location of the sender. Because the position of the sender is public and bound to the identity of the sender, ART cannot satisfy anonymity.

2.1.5. WeChat and QQ

WeChat [14] and QQ [15] are the most popular IM applications in China. They apply Secure Sockets Layer (SSL) or Transport Layer Security (TLS) to protect the message security. A TLS connection will be set with the server to which the user is logged in. The group messages are transferred through this channel. TLS 1.3 proves to be FS. Though for PCS, because the later session key is derived from the former one, it cannot be satisfied in TLS, the same as WeChat and QQ. It is claimed that the identities of users can be protected. However, they do not offer technical details as well as the source code. Moreover, it is also not clear whether they are E2EE protocols or not.

2.2. Some Anonymous Approaches Applied in E2EE

Tor [16] is an anonymous network composed of many user volunteers. Tok [17] is the IM application based on Tor. When communicating, the sender randomly selects the same volunteer points, then derives long-time session keys of them. These keys are used to encrypt sending messages in sequence. According to the sequence, these messages are passed to the next point and decrypted by each point using the derived key until it is delivered to the receiver. Thus, the address of the sender is only known to the first point. This address of the receiver is only known to the last point. However, FS and PCS cannot be satisfied when the long-term keys are compromised.
Identity-based encryption (IBE) is used to validate and authenticate the anonymous public keys in E2EE [18]. Because of the low efficiency, KEM/DEM is applied to encrypt the secret key of the authenticator [19]. The encrypted secret key is sent to a proxy, then the proxy delays this message to the service provider for validation. As the proxy is trusted, the identity of the sender can be protected. Just like Tor, the secret key of the sender is long-term. So, it cannot provide FS and PCS.

3. Security Definitions

There are fundamental tools for the security definition. M is the message space. K is the key space. C is the cipher space. Σ is the MAC space. U is finite user identity set. E = ( E , D ) is the encryption scheme, E ( k , m ) = c : K × M C is the encryption algorithm, and D ( k , c ) = m : K × C M is the decryption algorithm. I = ( S , V ) is a MAC system where S ( k , c ) = σ : K × C Σ and V ( k , ( c , σ ) ) = { 0 , 1 } : K × ( C × Σ ) { 0 , 1 } . The output of V is 1 if a MAC pair is from S; if it is 0, V will reject this pair.

3.1. Algorithm Definition

The AART is the protocol with the following algorithms:
  • ( g p k , g s k ) $ I n i t ( · ): it is the initialization algorithm to create group tree, generate the public group key g p k and public group key g s k .
  • ( C , σ ) E n c ( g p k , g s k , m ) : it is the encryption algorithm to encrypt the message m with g p k and g s k . The outputs are a ciphertext C and a MAC σ .
  • m D e c ( g p k , g s k , C , σ ) : it is the decryption algorithm to check the σ and decrypt the ciphertext C. The output is the message m if it is decrypted correctly or ⊥ if it does not pass the validation of σ .
The sub-algorithms involved in the AART are defined as follows:
  • { k 1 , . . . , k n } S K G ( g p k , g s k ) : it is the session keys generation algorithm where { k 1 , . . . , k n } K n .
  • ( p o s , p a t h ) U p d a t e ( g p k , g s k , p o s ) : it is the update algorithm to refresh the leaf of the sender after he encrypts a message. p o s is the position of the leaf to be updated, and p a t h is the updated public key set in the group tree.
  • g p k U p d a t e G p k ( g p k , p o s , p a t h ) : it is the update algorithm to replace part of the public keys of group tree according to p a t h and p o s after the receiver decrypts a message.
The encryption oracle E n c and decryption oracle D e c made up of these sub-algorithms and tools are illustrated in Figure 1.

3.2. Security Model

In the security models, messages queried by A are from M with the same length. In the challenge phase, the messages from A are different from queried messages. The adversaries mentioned in each definition are all probability polynomial time (PPT) attackers.
Unforgeability of MAC. The adversary on a MAC system attacks a chosen message and tries to forge a MAC pair that can pass the MAC system. The attacking game of unforgeability is shown in Figure 2. If  A d v U N F = | P r ( V ( k , m * , σ * ) = 1 ) | is negligible, the MAC system can satisfy unforgeability.
Chosen Ciphertext Attack. The adversary of IND-CCA cannot only ask the plaintext encryption query but also has the ability to access decryption of the cipher. The attacking game of IND-CCA is shown in Figure 2. An encryption scheme S is IND-CCA if A d v C C A [ A , S ] = | Pr ( b ^ = b ) 1 2 | is negligible.
Forward Secrecy. The definition shows that the adversary cannot reveal the forward session keys when the keys are compromised. The attack game of FS is shown in Figure 2. Oracle O illustrates the forward encryption. After the challenge phase, the adversary can run decryption oracle D e c .
An encryption scheme S is FS if A d v F S [ A , S ] = | Pr ( b ^ i = b i ) 1 2 | for any i is negligible.
Post-Compromised Secure. This definition shows that when the key is compromised after at most Q times queries, the channel will be refreshed and secure again. The attacking game of PCS is shown in Figure 2. The adversary can access the decryption oracle before and after the challenge phase. An encryption scheme S is PCS if A d v P C S [ A , S ] = | Pr ( b ^ = b ) 1 2 | is negligible.
Internal Group Anonymity. This definition shows that the adversary who knows the secret key cannot distinguish the identity of the target message sender. The attacking game of IGA is shown in Figure 3. An encryption scheme S is IGA secure if A d v I G A [ A , S ] = | Pr ( b ^ = b ) 1 2 | is negligible. After  C receives the challenge, he should update the group tree according to the position b. If the U p d a t e algorithm of a protocol cannot cut off the relation between b and the updated position, the adversary will win the game. For the example of ART, because  A knows the updated position of the sender, it means that in this definition, c b , 1 is related to b and can be accessed by A . So, in ART, A d v I G A [ A , S ] = 1 .
External Group Anonymity. The security model of EGA is shown in Figure 3.
If  A d v E G A [ A , S ] = | P r ( b ^ = b ) 1 2 | is negligible, an encryption scheme S is EGA. To make it indistinguishable, the only clue for the adversary is the output of E n c . It includes three parts: associated data p o s and p a t h , ciphertext c, and MAC σ . For ART and Signal, identity is an important associated data and easy to be distinguished. If an adversary cannot distinguish those associated data, it means that he cannot locate a user in an exact group.

4. Our Construction

4.1. Security Goals

Our construction aims to ensure security against the five kinds of adversaries in IND-CCA, FS, PCS, IGA, and EGA. All of the adversaries can deliver and modify the message, control the message server, and have the ability to access the decryption oracle. Except for IND-CCA, current random values including secret keys, session keys, and leaf keys can be compromised. To break the security features, the adversary can access the Key Derived Function (KDF) as a random oracle. Our construction does not consider the impersonating attack when the keys are compromised. Besides, the condition is not considered that the initial stage is compromised, and it assumes that the initial stage is based on a trusted third-party.

4.2. Security Assumption and Notation

In this subsection, the necessary assumptions and notations for AART are defined. x $ X means choosing a group element x from group X randomly. A secure pseudorandom generator (PRG) p r g is to pick up the update position for group members. S i g is a secure signature, and I = ( S , V ) is a secure MAC system. E = ( E C P A , D C P A ) is an IND-CPA encryption scheme, Z q is a finite field, q is a big prime number. The basic operation of AART is over point group P of Elliptic Curve (EC), where P = { ( x , y ) Z q × Z q : ( x , y ) E C } { } . The generator of P is P.
Decisional Diffie-Hellman Problem (DDHP). DDHP is to distinguish two tuples ( a · P , b · P , a b · P ) and ( a · P , b · P , z · P ), where a , b Z q and z $ Z q . The advantage for any PPT adversary to deal with DDHP is negligible.
Computational Diffie-Hellman Problem (CDHP). CDHP is to compute a b · P , given a tuple ( a · P , b · P ), where a , b Z q . The advantage for any PPT adversary to deal with CDHP is negligible.
Pseudo-Random Function Oracle Diffie-Hellman (PRF-ODH) [20]. Assume a secure PRF t ( · ) is: P Z q , which maps the group element of P to an element of Z q . If DDHP is held in group P and t is a secure PRF over P , general PRF-ODH assumption is satisfied on P such that if z $ Z q , given ( a · P , b · P , t ( a b · P ) ) , ( a · P , b · P , t ( z · P ) ) , the probability adversary distinguishes t ( a b · P ) , and t ( z · P ) is negligible. Because of PRF-ODH, CDHP is still satisfied over P and t if z $ Z q , given ( a · P , b · P ) , the advantage that the adversary computes t ( a b · P ) is negligible.
Node . n o d e is the basic unit of group tree. The construction of n o d e is
  • n o d e [ i ] : the ith leaf node of group tree;
  • n o d e [ i ] . s k : the secret key of n o d e [ i ] ;
  • n o d e [ i ] . p k : the public key of n o d e [ i ] ;
  • n o d e [ i ] . s i b l i n g : the sibling of n o d e [ i ] ;
  • n o d e [ i ] . p : the parent of n o d e [ i ] .
Other operations are outlined: p u s h is to push an element to the end of a list. p o p is to get and remove the first element from a list. a g t is the tree of public and private keys. s i z e ( ) is to get the number of group members or the number of a list. K e y E x c h a n g e can be any authentication key exchange (AKE) function or protocol. In signal, K e y E x c h a n g e is X3DH [5] protocol.
K e y E x c h a n g e ( i k R , I K I , s u k R , E K I ) = K e y E x c h a n g e ( i k I , I K R , e k I , S U K R )
This design involves several random values. The one-time secret key n o d e [ i ] . s k is owned to user i, n o d e [ i ] . p k is the corresponding public key. ( i k , I K ) is the identity key pair, ( e k , E K ) is the short-term key pair. i k and e k are kept by the user, and I K , E K are published. j denotes the sequence number of current stage. Session keys m k j , r j , c k j are derived from K D F ( c k j 1 , t k j ) . m k j is used to encrypt message, r j is used to calculate one-time address, and  c k j is used to generate MAC and session key pair for stage j + 1 .

4.3. Internal Group Anonymity

4.3.1. Group Setup

Considering the three-member group, let A, B, and C be the group members. The initialization algorithm I n i t creates an anonymous group tree and sets up a communication channel. The leaves A, B, and C stand for each group member. This tree is created by the group initiator A. An overview of the group tree is shown in Figure 4.
The I n i t procedure is shown as follows:
  • Ask for public key pairs ( I K i , E K i ) of each group member through the third channel.
  • Generate setup key s u k $ Z q * . Let S U K s u k · P . Generate A’s leaf key pair ( θ 0 A , θ 0 A · P ) such that θ 0 A $ Z q * . θ 0 i is the leaf secret key of user i and θ 0 i · P . Set initial chain key c k 0 $ K .
  • Send I K A , S U K , c k 0 to other group members via a trusted third-party, which means that the adversary cannot access these messages and reveal the identity of other group members in the initial session.
  • Generate leaf keys of other members: θ 0 i K e y E x c h a n g e ( i k A , I K i , s u k , E K i ) , generate random leaf key as θ 0 i $ Z q * .
  • Set up group tree by a g t C r e a t e ( ) . Let the root private key and public key be ( t k 1 , T K 1 ). Set g p k as public group tree that deletes all secret keys from a g t .
  • Run σ 0 S i g ( i k A , g p k 1 ) and broadcast ( g p k 1 , σ 0 ) to other group members.
C r e a t e and I n i t algorithms are illustrated in Algorithm 1.
When initiating anonymous group tree, the initiator has the full view of group tree, including the private leaf key of each node. After receiving this tree, other group members should check if ( I K A , g p k 1 , σ 0 ) is valid or not. If  σ 0 is valid, each group member will accept this tuple. He will only obtain public part g p k 1 and his private leaf key. Leaf keys can be calculated by running
θ 0 i K e y E x c h a n g e ( i k i , I K A , e k i , S U K )
After getting θ 0 i , group members should calculate their public leaf keys to ensure the position i of them. If the p k in g p k 1 of kth leaf is equal to θ 0 i · P , the position of this group member is i k . Then, he generates the group shared key t k 1 according to procedure K e y G e n ( i , n o d e [ i ] , g p k 1 ) :
  • Parent node p n o d e [ i ] . p , s n o d e [ i ]
  • Find s’s sibling node s . s i b l i n g
  • Calculate p . s k t ( s . s k · s . s i b l i n g . p k )
  • set s p , p s . p
  • If p is null, t k s . s k , else go to step 2
According to Equation (1), the group initiator knows the location of each member in g p k 1 . However, each other member only knows his own location.
Algorithm 1 Anonymous Tree Generation
1:
function C r e a t e ( n o d e , s i z e )
2:
    if s i z e 1 then
3:
        if s i z e is odd then
4:
           Let last node of n e w N o d e be n o d e [ s i z e ]
5:
        end if
6:
        for i = 1 ; i < s i z e ; i + = 2 do
7:
            n e w N o d e [ ( i + 1 ) / 2 ] . s k t ( n o d e [ i ] . s k · n o d e [ i + 1 ] . p k )
8:
            n e w N o d e [ ( i + 1 ) / 2 ] . p k n e w N o d e [ ( i + 1 ) / 2 ] . s k · P
9:
           Let n e w N o d e [ ( i + 1 ) / 2 ] be the parent of n o d e [ i ] and n o d e [ i + 1 ]
10:
        end for
11:
        return C r e a t e ( n e w N o d e , s i z e ( n e w N o d e ) )
12:
    else
13:
        return n o d e
14:
    end if
15:
end function
16:
procedure I n i t ( i k A , I K , E K ,size n)
17:
     s i z e 2 n , s u k $ Z q * , S U K s u k · P , c k 0 $ K
18:
    Send I K A , S U K , c k 0 to other members through trust third-party
19:
    for each i [ 1 , 2 n ] do
20:
        if i m o d 2 = 0 or i = A then
21:
            n o d e [ i ] . s k $ Z q *
22:
        else
23:
            n o d e [ i ] . s k K e y E x c h a n g e ( i k A , I K i , s u k , E K i )
24:
        end if
25:
    end for
26:
     a g t C r e a t e ( n o d e , s i z e ) , g p k a g t , delete all s k from g p k
27:
    Run σ 0 S i g ( i k A , g p k 1 ) and broadcast ( g p k 1 , σ 0 ) to other group members
28:
    return g p k , a g t , n o d e
29:
end procedure

4.3.2. Direct Updating

In order to satisfy FS and PCS, when one participant sends a message, the group tree should be updated. In stage j, the root key t k j should be generated from g p k j and the user’s leaf secret key. After sending or receiving a message, g p k j should be updated as g p k j + 1 , which means that session key should be used only once. In the update phase, group members can decide to update the group tree anonymously or directly. The overview of directly updating is illustrated in Figure 5. Its procedure is described as follows (B stands for the position of the updated node):
  • Set n o d e [ B ] . s k θ 1 B $ Z q * , n o d e [ B ] . p k n o d e [ B ] . s k · P
  • Update s k 2 t ( θ 1 B θ 1 y · P ) ; p k 2 s k 2 · P
  • Update s k 3 t ( s k 1 s k 2 · P ) ; p k 3 s k 3 · P
  • Update t k t ( s k 3 s k 4 · P ) ; T K t k · P
  • Broadcast B , n o d e [ B ] . p k , p k 2 , p k 3 to all group members
After receiving the updated public keys, others update the public keys of B and its ancestor nodes, and t k j + 1 is derived according to K e y G e n .

4.3.3. Anonymous Updating

Because the group initiator knows the location of each member, he can see which one is to update group tree. So, the initiator knows who sent the target message. In order to limit the authority of the initiator, the relation between the updated location and identity should be separated. By using random node, this feature can be obtained according to Figure 6. The procedure is shown as follows (b stands for the updated node’s position):
  • b p r g ( { 2 , 4 , 6 , . . . , 2 n } )
  • Set n o d e [ b ] . s k θ i $ Z q * , n o d e [ B ] . p k n o d e [ B ] . s k · P
  • Update s k 2 t ( θ 1 B θ 1 y · P ) ; p k 2 s k 2 · P
  • Update s k 3 t ( s k 1 s k 2 · P ) ; p k 3 s k 3 · P
  • Update t k t ( s k 3 s k 4 · P ) ; T K t k · P
  • Broadcast b , n o d e [ b ] . p k , p k 2 , p k 3 to all group members
Because in group tree n o d e [ i ] , i { 2 , 4 , 6 , . . . , 2 n } are random nodes, this means that the leaf keys of these nodes are generated randomly, and thus no group member is located in these nodes. In this way, the initiator cannot bind the sender with a random node. Therefore, he cannot reveal the identity of the sender.

4.4. External Group Anonymous Encryption

4.4.1. One-Time Address

Although ratchet tree can provide PCS and FS, it delivers messages through central servers. If those servers are controlled by the adversaries, they can know the relations of all users. With the help of the topological net, attackers can perform behavior analysis to infer the identities of the user.
One-time address applied in Monero [8] tries to hide the identity of receiver using Equation (2).
a d d r H ( r · P K B s ) · P + P K B v
Here, P K B s s k B s · P and P K B v s k B s · P are the long-term public keys of user Bob. H : P Z q is a collision-resistant hash function. If user Alice wants to trade with Bob, she first generates r $ K , calculates a d d r , and then puts r , a d d r and transactions onto the block chain. Bob should use r and his secret key pairs to validate the a d d r . Because  a d d r is changed by r and r is randomly chosen, a d d r is changed in each transaction. Because DDHP is hard in PRF-ODH, the adversary cannot reveal the identity of Bob from a d d r . However, because Bob should check all a d d r , the valid operation will cost a lot of time. The idea from Monero’s one-time address is to hide the group public key, so that cloud servers cannot distinguish different messages from different groups according to one-time address. The  S K G of our construction contains two parts: Equations (3) and (4).
m k j , r j , c k j K D F ( c k j 1 , t k j )
a d d r j H ( t ( r j · P ) ) · P + t k j · P
AART generates the pseudorandom value m k j , r j , c k j from t k j and c k j 1 based on K D F : K × Z q K 3 modeled as random oracle, so that group members can pre-calculate the one-time address for each message.

4.4.2. Encryption and Decryption

Here t y p e { 0 , 1 } is the updated type: 0 is direct update, 1 is anonymous update.
  • S K G ( n o d e [ i ] j , g p k j , c k j 1 ) :
    t k j K e y G e n ( i , n o d e [ i ] j , g p k j )
    m k j , r j , c k j K D F ( c k j 1 , t k j )
    a d d r j H ( t ( r j · P ) ) · P + t k j · P
  • E n c ( n o d e [ i ] j , g p k j , t y p e j , c k j 1 ) :
    ( m k j , r j , a d d r j , c k j ) S K G ( n o d e [ i ] j , g p k j , c k j 1 )
    ( p o s j , p a t h j , g p k j + 1 ) U p d a t e ( i , g p k j , t y p e j , n o d e [ i ] j )
    c j E C P A ( m k j , m j )
    σ j S ( c k j , ( c j , p o s j , p a t h j ) )
    S e n d ( ( c j , p o s j , p a t h j , σ j ) , a d d r j , s e r v e r )
    o u t p u t : c j , σ j , a d d r j , g p k j + 1
  • D e c ( g p k j , n o d e [ i ] , c k j 1 )
    ( m k j , r j , a d d r j , c k j ) S K G ( n o d e [ i ] j , g p k j , c k j 1 )
    c i p h e r G e t ( a d d r j , s e r v e r )
    If c i p h e r = : output ⊥
    c j , p o s j , p a t h j , σ j c i p h e r
    If V ( c k j , ( c j , p o s j , p a t h j ) , σ j ) 1 : output ⊥
    else: ( m j , p o s j , p a t h j ) = D C P A ( m k j , c j )
    g p k j + 1 U p d a t e G p k ( p o s j , p a t h j , g p k j )
    o u t p u t : m j , g p k j + 1
U p d a t e is the algorithm to update the group tree during encryption, and U p d a t e G p k is to update the group tree after receiving updated p a t h . The details of these two algorithms are illustrated in Algorithm 2. S e n d ( m s g , a d d r , s e r v e r ) means putting message m s g on the server according to the position of a d d r . G e t ( a d d r , s e r v e r ) means getting the message from the position a d d r in the server. If sending is wrong or nothing is obtained, the response of the server is ⊥. These messages can be observed and accessed by the adversary.
Algorithm 2 Update Group Tree
1:
function U p d a t e ( i , g p k j , t y p e j , n o d e j )
2:
    if t y p e j = 0 , p o s j = i , otherwise p o s j p r g ( { 2 , 4 , 6 , . . . , 2 n } )
3:
     n o d e j + 1 n o d e j , n o d e [ p o s j ] j + 1 . s k $ Z q * , n o d e [ p o s j ] j + 1 . p k n o d e [ p o s j ] j + 1 . s k · P
4:
    return p o s , U p d a t e P a t h ( g p k j , n o d e j + 1 , p o s j )
5:
end function
6:
function U p d a t e P a t h ( g p k j , n o d e j , p o s j )
7:
     c u r n o d e [ p o s ] j + 1 , p a t h j [ ]
8:
    while current node c u r is not the root do
9:
        the s k of c u r ’s parent is t ( c u r . s k · c u r . s i b l i n g . p k ) , the p k of c u r ’s parent is its s k · P
10:
         p a t h j . p u s h ( c u r . p k ) , let c u r move to the parent of c u r
11:
    end while
12:
    return p a t h j , c u r
13:
end function
14:
function U p d a t e G p k ( p o s j , g p k j , p a t h j , n o d e j )
15:
     t m p n o d e [ p o s j ]
16:
    while p a t h j [ ] do
17:
         t m p . p k p a t h j . p o p ( ) , t m p t m p . p
18:
    end while
19:
    return t m p
20:
end function

5. Security Analysis

In this section, it proves that AART satisfies the secure definitions of IND-CCA, FS, PCS, IGA, and EGA. The sequence of current stage is j.

5.1. IND-CCA Security

Theorem 1.
Let E ( E C P A , D C P A ) be a cipher, and I ( S , V ) is a MAC system. K D F : K × Z q K 3 is modeled as a random oracle. Assuming E is IND-CPA secure and I is a secure MAC system, if adversary A has the advantage to break IND-CCA of AART, with Q d times decryption queries and Q H time Random Oracle queries, then there exists an adversary B U N F against I, an adversary B P R F O D H against CDHP in PRF-ODH, and an adversary B C P A against IND-CPA of E with the following bound:
A d v C C A R O [ A , A A R T ] Q H · A d v C D H P [ B P R F O D H , P ] + A d v C P A [ B C P A , E ] + Q d A d v U N F [ B U N F , I ]
Proof. 
In each Game j , b is randomly chosen by C , and b ^ is the output of A . W j is the event that in Game j , b = b ^ . The decryption query is defined in Game 0 as
  • When receiving c j , σ j from adversary, check if V ( k 0 , c j , σ j ) = 1 .
  • If it is true, reply D ( k 1 , c j ) , else ⊥.
It should prove that
A d v C C A R O [ A , A A R T ] = | Pr ( W 0 ) 1 2 |
Then, Game 0 is changed into Game 1 . Step 1 is deleted and step 2 is changed to send “reject” except when j = ω { 1 , Q d } . It can be seen that the difference between Game 0 and Game 1 is the event that c ω is queried. According to the definition of Unforgeability, there is
A d v U N F [ B U N F , I ] = | Pr ( W 0 ) Pr ( W 1 ) | / Q d
To simplify, we will remove the decryption query in accordance with Equation (7) from our proofs. Thus, Game 1 is the IND-CPA game of AART and then is modified into Game 2 .
The random oracle is recorded by M A P . Game 2 is the same as Game 1 except for deleting M A P operation of step 8 from Game 1 . Event Z is defined such that A queries t k Q 1 + 1 , c k Q 1 + 1 in domain( M A P ). The difference between these two games is that event Z happens. So there is
| Pr ( W 2 ) Pr ( W 1 ) | = Pr ( Z )
Using CDHP . If event Z happens, it means that A queries t k Q 1 + 1 , c k Q 1 + 1 domain ( M A P ), which can be used to break CDHP and to construct B P R F O D H . To break CDHP, one t k , c k pair should be picked out, but B P R F O D H is not sure which one in domain( M A P ) is the right answer. Assume there are at most Q 2 times random oracle queries; the probability to select right pair is at most Pr ( Z ) Q 2 . We use Game 2 to construct Game C D H P . Instead of running I n i t , K e y G e n , U p d a t e , B P R F O D H should query them from C P R F O D H . The gray parts with boxes of Game 2 challenger are constructed as C P R F O D H . Thus, from A ’s view, there is no difference between Game 2 and Game C D H P . Event Z happens ⇔ t k Q 1 , c k Q 1 domain( M A P ) when B P R F O D H finishes the game. Let Q Q 2 , because the pairs may be queried more than once, the size of domain( M A P ) is no greater than Q. So, there is
A d v C D H P [ B P R F O D H , P ] Pr ( Z ) Q
According to Game 2 , to deal with Pr ( W 2 ) means to deal with IND-CPA. So
| Pr ( W 2 ) 1 2 | = A d v C P A [ A , A A R T ]
Using CPA. Game C P A can be constructed from Game 2 . Let Game 2 challenger be B C P A except that after receiving message from A , B C P A should run encryption query to C C P A such like the gray parts with no boxes in Figure 7. So there is
A d v C P A [ A C P A , A A R T ] = A d v C P A [ B C P A , E ]
Combining Equations (6)–(11), Theorem 1 can be derived. Because CDHP in PRF-ODH is hard and E is IND-CPA cipher, I is secure MAC system, A cannot win Game 0 . So A d v C C A [ A , A A R T ] is negligible. IND-CCA of AART is satisfied. □

5.2. Forward Secrecy

Theorem 2.
Let K D F : K × Z q K 3 be modeled as a random oracle. When the keys of stage j + 1 are leaked, if adversary A can break FS of AART, there exists adversary B C C A that can break the IND-CCA of stage j with the advantage:
A d v F S R O [ A , A A R T ] Q · A d v C C A R O [ A , A A R T ]
Proof. 
Assume there are Q stages. According to S K G and U p d a t e , t k j is derived from g p k j , and session keys of stage j are generated by t k j , c k j 1 . So if all random values including s k of each user, t k j , session keys m k j , r j , c k j are compromised, and adversary A wants to get session keys of stage j 1 , he needs to know t k j 1 . If the current leaf key of each user is not compromised, each stage can be reduced to an IND-CCA game in Theorem 1. If the current leaf key is compromised, he can get t k j 1 when the leaf key is not updated. So he can try to get c k j 2 to break FS. In order to get c k j 2 , he should get c k j 3 recursively until the initial stage. However, the initial stage is run through secure AKE and a trusted third-party, and the adversary cannot break FS through this way. Assume challenger C is the group creator. Game 0 is illustrated in Figure 8.
For the ith message query, if b ^ i = b i , A wins Game 0 . By querying each session key, root key, and plaintext encryption from the IND-CCA challenger of Game 0 in Figure 7, Game 0 can be changed into Game C C A , i for each stage i. According to Theorem 1:
A d v F S R O [ B F S , i , s i ] A d v C C A R O [ A , A A R T ]
There are Q times of Game i , so Theorem 2 proves to be true. Because A d v C C A R O [ A , A A R T ] is negligible, A d v F S R O [ A , A A R T ] is negligible too. Forward Secrecy of AART is satisfied. □

5.3. Post-Compromised Security

PCS is proved with Theorem 3.
Theorem 3.
Let K D F : K × Z q K 3 be modeled as a random oracle. When the keys of stage j are compromised, if in the challenge stage all leaf keys are updated, the advantage of adversary A to break PCS of AART is equal to the advantage of A to break IND-CCA of stage j + 1 , such that
A d v P C S R O [ A , A A R T ] = A d v C C A , j + 1 R O [ A , A A R T ]
Proof. 
When other keys except for c k j of jth session are compromised, because the keys of the next session j + 1 are based on c k j , the adversary cannot derive them. So, the only way for the adversary is to break the IND-CCA of j + 1 session. Thus, Theorem 3 can be reduced. When all keys are compromised, if the leaf keys adversary holds are not updated until the Q session finished, the advantage for the adversary is 1. However, when each leaf key of the group tree is updated, the advantage of A is reduced to the IND-CCA of Qth session and becomes negligible. □

5.4. Internal Group Anonymity

IGA of AART is proven with Theorem 4.
Theorem 4.
Let K D F be modeled as random oracle, E C P A be IND-CPA cipher, and p r g be secure PRG; if there exists adversary A to break IGA, then there exists adversary B that breaks PRG:
A d v I G A [ A , A A R T ] = | Pr ( b = 0 ) Pr ( b ^ = 0 ) | = A d v P R G [ B , p r g ]
Proof. 
Because the random leaf to be used in the anonymous update is chosen randomly by secure PRG, if the adversary can distinguish between two anonymous users from each other depending on their updated messages, he can break the security of PRG. □

5.5. External Group Anonymity

Theorem 5.
Let H be a collision-resistant hash function and K D F be modeled as random oracle; if adversary A can break EGA of AART, there exists adversary B P R F O D H against DDHP in PRF-ODH with the advantage:
A d v E G A [ A , A A R T ] 2 · A d v D D H P [ B P R F O D H , P ]
Proof. 
Illustrated as Figure 9, Game E G A includes two parts Game 0 ( 0 ) and Game 0 ( 1 ) simulating two groups. Challenger C plays Game 0 ( b ) with adversary A where b $ { 0 , 1 } . A should distinguish which game is played. If the output of A is b ^ and b ^ = b , A win Game E G A . For each Game 0 ( b ) , a DDHP game can be constructed such that t k b is generated from random as Game 1 ( b ) . W 0 b denotes that Game 0 ( b ) is played and W 1 b denotes that Game 1 ( b ) is played. According to the definition of EGA, there is
A d v E G A [ A , A A R T ] = | Pr ( W 0 0 ) Pr ( W 0 1 ) |
According to the definition of DDHP in PRF-ODH, there is
A d v D D H P [ B P R F O D H , P ] = | Pr ( W 0 b ) Pr ( W 1 b ) | = | Pr ( W 0 b ) 1 2 | 2 A d v D D H P [ B P R F O D H , P ] | Pr ( W 0 0 ) Pr ( W 0 1 ) | = A d v E G A [ A , A A R T ]
Then, Theorem 5 proves to be true. Because DDHP is hard in PRF-ODH, A d v E G A is negligible. So EGA of AART is satisfied. □

6. Discussion

We further discuss the performance and some issues when running AART.
Performance. The performance comparison can be seen from Table 1. For n group members, the number of nodes of ART is 2 n . The amount of nodes in AART is 4 n because of the additional random nodes. Thus, the exponentiation times and storage cost to generate the public tree of AART are two times as ART. Also, the height of the group tree will be l o g ( 2 n ) + 1 in AART, which is increased by one compared with l o g ( n ) + 1 in ART. The complexity and storage in update phase will retain the same relationship of the heights. Moreover, there is an additional a d d r in AART. Above all, the complexity and storage of AART are close to ART.
For the exponentiation times, it will be 4 n for the sender in AART because of the tree structure. Because of the Update algorithm, the time cost in the following stage will be l o g ( 2 n ) . The sender of the pair-wise Signal should update all of the channels with others. Thus, it will cost n, worse than AART. “Sender keys” will not refresh their channels, it will be 0.
For encryption times, only “sender keys” will encrypt the message keys for others. For all of these protocols, there will be only one encryption operation in each stage.
For communication storage, the sender of AART should store the n 1 long-term public keys of others and broadcast the 4 n public key pairs to others; it will be 5 n 1 . Each group member should not know the long-term public keys of other group members except for the creator, the cost will be 4 n + 1 . In ART, each member should get the identity keys of others. The ongoing cost will be l o g ( 2 n ) because of the outputs of the Update operation. “Sender keys” will cost n for sending keys at the beginning, but it is only 1 ongoing since the ciphertext for each member is the same. According to one-to-all channels, it will take up n for both sender and others through pair-wise Signal. In the following sessions, it will cost n to refresh all channels between the sender and receivers. The computation storage is the addition of storage spent on exponentiation and encryption. It can be seen that the cost of AART at the setup stage is the largest. However, because of the tree structure, AART is more efficient in the ongoing stages compared with pair-wise Signal.
Although iMessage provides E2EE features, it cannot resist against the CCA [9] level attacker. LINE applies E2EE, but it cannot achieve FS and PCS. Tor is not an E2EE protocol because the last node of Tor knows the plaintext of the sender. ART is the first group protocol applying PCS, but it cannot cope with identity protection. With the help of the additional cost, AART can achieve FS, PCS, and anonymity at the same time compared with other protocols. The security comparison can be seen in Table 2.
About trusted third-parties. In ART, there is no efficient way to protect the initial stage from being attack. If the first is compromised, it means that all of the users’ long-term secret keys can be access, and the identities of group members will be obtained at the beginning. We follow this setting, and we initialize the first stage session key by t k 1 and c k 0 . The later c k j is generated by former root key t k j and c k j 1 . Thus, the c k 0 should be either empty or decided by the group creator. If c k 0 is empty, the FS cannot be satisfied when t k j is compromised. The details can be found in the proof of Theorem 2.
Anonymity when the key is compromised. From Theorems 2 and 3, AART can provide FS and PCS. However, it should be considered whether AART will still satisfy IGA and EGA when the key is compromised. In IGA, the adversary can be seen as the group creator, according to Theorem 4, the adversary cannot distinguish the identities of the senders even when he knows all of their secret keys. For the EGA adversary, if the key is compromised, he may know the identities when the identity keys are leaked. According to Theorem 5, he at least cannot reveal who sends the target message.
IP address. Message server may bind the IP addresses with users who access the same a d d r in the server. To avoid this situation, users can visit the server through a proxy. According to Tok, the out point of Tok should know the IP address of users. This situation cannot be avoided. However, AART just concerns the a d d r in the server. If the proxy is not controlled by the adversary and message server, or the proxy IP address is changed all the time, the adversary cannot bind the IP of users with the same group. Thus, the adversary cannot reveal the real relation of the group members in the real world.
Message conflict. In the real network environment, group members may send messages at the same time but generate different g p k of next stage, which will cause conflict and break the protocol. In AART however, all users of the same group will generate the same a d d r . If a d d r exists, it means that the updating operation is out of date and the message should be re-encrypted again. To avoid the adversary or server taking up the a d d r of the current stage, the sender can check the MAC of a d d r . If it is wrong, this a d d r is still available for the group. When the key is compromised, AART cannot avoid the situation that the adversary generates the same a d d r and legal M A C value. However, this ability belongs to the active attacker, and we aim to prevent the adversary to become an active attacker.
Message recovery and chosen ciphertext attack. To recover messages of a group, group members should keep their s k of all stages along with the initial g p k 1 . According to g p k 1 and s k 1 , users can generate a d d r 1 and get the correct message matched by a d d r 1 . Thus, users can update the correct g p k 2 , while they also hold s k 2 . That means all messages can be put in the server and can be recovered correctly.
Keeping all s k will weaken the security of AART. For IND-CCA, the challenge can reject the decryption query because the structure of AART is also a ratchet and can only be pushed forward but not in the backward direction. So, users only own the secret key of the current stage, ideally, and the former stage for the consideration of message conflict. Besides the definitions that the adversary cannot inquire about the messages in plaintext query, if the adversary can access old information and ask for decryption, the challenge will reject this request because the MAC key of old information has been deleted, and the probability that these two keys are the same is negligible. However, if users store the past secret keys, the challenge should set up a table to combine the secret keys with old messages. When queried by the IND-CCA adversary in this situation, the challenge should look for the table and decrypt the message if the requested message is matched. Therefore, in a message recovery situation, AART cannot resist the IND-CCA adversary. If IND-CCA is required, the message recovery should be given up.
Malicious group member. Malicious users who want to compromise keys or combine two group trees are included in without the help of the leaked keys. For the former situation, because of FS, PCS, IGA, and EGA, messages, as well as identities, can be protected. For the latter, although a malicious user can replace his leaf key in group A with the root of another group B, since the chain keys are different in two groups, members of group A cannot get the a d d r of B. Therefore, the two groups cannot be combined.
About collusion attacks, in a group of n members, if there are n 1 members in collusion, including the creator and the rest sending a message, they can reveal the identity of him. However, if the creator is trustworthy, collusion attackers can only know that one member sent a message, but they cannot reveal the identity of him because they do not know the long-term public key of the sender.
Dynamic group member and device. It is easy to add a new group member through K e y E x c h a n g e . The initial leaf key can be obtained by the creator, and then the creator creates a three-node a g t with one root, a new member leaf, and a new random leaf. Then the creator inserts the three-node a g t to the current a g t to be a complete binary tree (two leaves and their parent are thought to be one unit). The creator uses t k and three nodes a g t ’s root public key to generate new a g t ’s root t k and public T K . Finally, he publishes the new g p k of a g t . Deleting a member is easy as well. Consider one unit as a three-node a g t including a user leaf, its sibling random leaf, and their parent node, the sibling of one unit has the same parent node with this unit. To remove one user, the creator should replace the parent of the unit where the target user is located with the sibling unit, use the random leaf in the sibling unit to update the a g t , and publish the new g p k to all group members.
Regarding the dynamic device, the user can share t k and c k with multiple devices, create a subtree, and let the root of the subtree replace the user leaf. When updating a g t , the user should update this subtree and output the path except for the path in this subtree to group members. Then, other group members will believe that they are chatting with a multi-device user.

7. Conclusions

In this paper, we propose a multi-stage anonymous group messaging protocol called AART, which is based on the design of ART. It can provide anonymity features including IGA and EGA, while it retains the previous features such as FS and PCS of ART. The security of AART is analyzed formally. Finally, we discuss the performance of AART compared with ART, pair-wise Signal, and “sender keys” protocols as well as other problems that may exist in AART and the related solutions to them. In our future work, the effort will be focused on how to limit anonymity by tracing the secret keys and revealing the identity of malicious users.

Author Contributions

Conceptualization, K.C. and J.C.; methodology, K.C.; validation, J.C. and J.Z.; formal analysis, K.C. and J.Z.; writing—original draft preparation, K.C.; writing—review and editing, K.C. and J.C.; supervision, J.C. All authors have read and agreed to the published version of the manuscript.

Funding

This work has been partly supported by the National Natural Science Foundation of China under Grant No.61702212 and the Fundamental Research Funds for the Central Universities under Grant No.CCNU19TS017.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Naor, M.; Yung, M. Public-key Cryptosystems Provably Secure against Chosen Ciphertext Attacks. In Proceedings of the 22nd Annual ACM Symposium on Theory of Computing, Baltimore, MD, USA, 13–17 May 1990; Ortiz, H., Ed.; ACM: New York, NY, USA, 1990; pp. 427–437. [Google Scholar]
  2. Menezes, A.J.; Katz, J.; Van Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography; CRC Press: Boca Raton, FL, USA, 1996; p. 496. [Google Scholar]
  3. Cohn-Gordon, K.; Cremers, C.; Garratt, L. On capitalisewordsPost-compromise Security. In Proceedings of the 2016 IEEE 29th Computer Security Foundations Symposium (CSF), Lisbon, Portugal, 27 June–1 July 2016; pp. 164–178. [Google Scholar]
  4. Cohn-Gordon, K.; Cremers, C.; Garratt, L.; Millican, J.; Milner, K. On ends-to-ends encryption: Asynchronous group messaging with strong security guarantees. In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, Toronto, ON, Canada, 15–19 October 2018; pp. 1802–1819. [Google Scholar]
  5. Cohn-Gordon, K.; Cremers, C.; Dowling, B.; Garratt, L.; Stebila, D. A formal security analysis of the signal messaging protocol. In Proceedings of the 2017 IEEE European Symposium on Security and Privacy (EuroS&P), Paris, France, 26–28 April 2017; pp. 451–466. [Google Scholar]
  6. Turton, W.; Scigliuzzo, D. Facebook Sues Israel’s NSO on Alleged WhatsApp Malware Hack. 2019. Available online: https://www.bloomberg.com/news/articles/2019-10-29/facebook-sues-israel-s-nso-over-alleged-whatsapp-malware-attack (accessed on 29 October 2019).
  7. Chen, K.; Chen, J. Anonymous End to End Encryption Group Messaging Protocol Based on Asynchronous Ratchet Tree. In International Conference on Information and Communications Security; Springer: Berlin/Heidelberg, Germany, 2020; pp. 588–605. [Google Scholar]
  8. Sun, S.F.; Au, M.H.; Liu, J.K.; Yuen, T.H. Ringct 2.0: A compact accumulator-based (linkable ring signature) protocol for blockchain cryptocurrency monero. In European Symposium on Research in Computer Security; Springer: Berlin/Heidelberg, Germany, 2017; pp. 456–474. [Google Scholar]
  9. Garman, C.; Green, M.; Kaptchuk, G.; Miers, I.; Rushanan, M. Dancing on the lip of the volcano: Chosen ciphertext attacks on apple imessage. In Proceedings of the 25th USENIX Security Symposium (USENIX Security 16), Austin, TX, USA, 10–12 August 2016; pp. 655–672. [Google Scholar]
  10. Apple Inc. iOS Security Guide. 2018. Available online: https://www.apple.com/business/site/docs/iOS_Security_Guide.pdf (accessed on 10 September 2019).
  11. LINE Inc. Encryption Whitepaper. 2016. Available online: https://scdn.line-apps.com/stf/linecorp/en/csr/line-encryption-whitepaper-ver1.0.pdf (accessed on 12 September 2019).
  12. Isobe, T.; Minematsu, K. Breaking Message Integrity of an End-to-End Encryption Scheme of LINE. In European Symposium on Research in Computer Security; Springer: Berlin/Heidelberg, Germany, 2018; pp. 249–268. [Google Scholar]
  13. Borisov, N.; Goldberg, I.; Brewer, E. Off-the-record communication, or, why not to use PGP. In Proceedings of the 2004 ACM Workshop on Privacy in the Electronic Society, Washington, DC, USA, 28 October 2004; pp. 77–84. [Google Scholar]
  14. Tencent. Weixin Privacy Protection Guidelines. 2019. Available online: https://weixin.qq.com/cgi-bin/readtemplate?lang=en&t=weixin_agreement&s=privacy&cc=CN (accessed on 12 January 2020).
  15. Tencent. Tencent Privacy Protection Platform. 2019. Available online: https://privacy.qq.com/ (accessed on 12 January 2020).
  16. Dingledine, R.; Mathewson, N.; Syverson, P. Tor: The Second-Generation Onion Router; Technical Report; Naval Research Lab: Washington, DC, USA, 2004. [Google Scholar]
  17. Tok. Tok White Paper v1.1. 2020. Available online: https://www.tok.life/static/d/TOK_WP_en.pdf (accessed on 12 January 2020).
  18. Emura, K.; Kanaoka, A.; Ohta, S.; Takahashi, T. Building secure and anonymous communication channel: Formal model and its prototype implementation. In Proceedings of the 29th Annual ACM Symposium on Applied Computing, New York, NY, USA, 24–28 March 2014; pp. 1641–1648. [Google Scholar]
  19. Emura, K.; Kanaoka, A.; Ohta, S.; Takahashi, T. Establishing secure and anonymous communication channel: KEM/DEM-based construction and its implementation. J. Inf. Secur. Appl. 2017, 34, 84–91. [Google Scholar] [CrossRef]
  20. Brendel, J.; Fischlin, M.; Günther, F.; Janson, C. Prf-odh: Relations, instantiations, and impossibility results. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 2017; pp. 651–681. [Google Scholar]
Figure 1. Authenticated encryption.
Figure 1. Authenticated encryption.
Sensors 21 01058 g001
Figure 2. Forward Secrecy and Post-Compromised Security.
Figure 2. Forward Secrecy and Post-Compromised Security.
Sensors 21 01058 g002
Figure 3. External Group Anonymity.
Figure 3. External Group Anonymity.
Sensors 21 01058 g003
Figure 4. Anonymous group tree overview.
Figure 4. Anonymous group tree overview.
Sensors 21 01058 g004
Figure 5. Non-anonymous updating group tree (updated nodes and values are marked in bold).
Figure 5. Non-anonymous updating group tree (updated nodes and values are marked in bold).
Sensors 21 01058 g005
Figure 6. Anonymous updating group tree (updated values are marked in bold).
Figure 6. Anonymous updating group tree (updated values are marked in bold).
Sensors 21 01058 g006
Figure 7. Game 1 Challenger and Game 2 Challenger for IND-CPA.
Figure 7. Game 1 Challenger and Game 2 Challenger for IND-CPA.
Sensors 21 01058 g007
Figure 8. Game 0 Challenger for FS.
Figure 8. Game 0 Challenger for FS.
Sensors 21 01058 g008
Figure 9. Game 0 and Game 1 Challengers for EGA.
Figure 9. Game 0 and Game 1 Challengers for EGA.
Sensors 21 01058 g009
Table 1. Performance comparison. n denotes the group size, each key exchange operation will access the exponentiation one time. Each key exchange, exponentiation, and encryption will cost one storage.
Table 1. Performance comparison. n denotes the group size, each key exchange operation will access the exponentiation one time. Each key exchange, exponentiation, and encryption will cost one storage.
#Exponentiation Times#Encryption Times#Communication Storage#Computation Storage
SenderPer OtherSenderPer OtherSenderPer OtherSenderPer Other
sender keyssetupnnnnnn 2 n 2 n
ongoing00111111
pair-wise Signalsetupnn00nnnn
ongoingn1 n 1 1n1 2 n 2
ARTsetup 2 n l o g ( n ) 00 3 n 1 3 n 1 2 n l o g ( n )
ongoing l o g ( n ) l o g ( n ) 11 l o g ( n ) + 1 l o g ( n ) + 1 l o g ( n ) + 1 l o g ( n ) + 1
Ourssetup 4 n l o g ( 2 n ) 00 5 n 1 4 n + 1 4 n l o g ( 2 n )
ongoing l o g ( 2 n ) l o g ( 2 n ) 11 l o g ( 2 n ) + 1 l o g ( 2 n ) + 1 l o g ( 2 n ) + 1 l o g ( 2 n ) + 1
Table 2. Security comparison.
Table 2. Security comparison.
Apps or ProtocolsE2EEFSPCSEGAIGA
iMessageYesYesNoNoNo
LINEYesNoNoNoNo
SignalYesYesNoNoNo
ARTYesYesYesNoNo
Tor and ToKNoNoNoYesYes
KEM/DEMYesNoNoYesNo
QQ and WeChatUnknownYesNoUnknownUnknown
Ours AARTYesYesYesYesYes
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Chen, K.; Chen, J.; Zhang, J. Anonymous Asynchronous Ratchet Tree Protocol for Group Messaging. Sensors 2021, 21, 1058. https://doi.org/10.3390/s21041058

AMA Style

Chen K, Chen J, Zhang J. Anonymous Asynchronous Ratchet Tree Protocol for Group Messaging. Sensors. 2021; 21(4):1058. https://doi.org/10.3390/s21041058

Chicago/Turabian Style

Chen, Kaiming, Jiageng Chen, and Jixin Zhang. 2021. "Anonymous Asynchronous Ratchet Tree Protocol for Group Messaging" Sensors 21, no. 4: 1058. https://doi.org/10.3390/s21041058

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop