For group messaging, signal uses the sender keys protocol where each message is encrypted using a group symmetric key thats shared with all other members of the group.
My question is, how does signal stop members of the group from impersonating each other? Say in the group theres Alice, Bob, and Charlie. Since Charlie has Alice and Bob's sender keys, he can send messages pretending to be either of them by encrypting it using their sender keys.
I assume this can be easily thwarted by making it so each message is digitally signed using the sender's private key, but this eliminates deniability which is one of signal's goals. Does anyone know what steps signal takes to prevent impersonation amongst group members?