Cryptographic participant vouching
Aspects of the subject technology include receiving, by a first device, a voucher data item, from a second device that is participating in a group communication session with at least a third device and providing, by the first device, the voucher data item to at least the third device to verify that the first device is vouched for by the second device for participation in the group communication session. The voucher data item may include participant information associated with participation of the second device in the group communication session. The voucher data item may also be signed with a key associated with the second device.
1 . A method comprising:
receiving, by a first device, a voucher data item, from a second device that is participating in a group communication session with at least a third device, wherein the voucher data item is received prior to participation of the first device in the group communication session with at least the third device, the group communication session including an exchange of audio data or video data between the second device and at least the third device, wherein:
the voucher data item includes participant information obtained through participation of the second device in the group communication session, and
the voucher data item is signed with a key associated with the second device; and
providing, by the first device, the voucher data item to at least the third device to verify that the first device is vouched for by the second device for participation in the group communication session.
2 . The method of claim 1 , further comprising:
receiving, by the first device and from the second device, an invitation to participate in the group communication session;
determining whether an account associated with the first device is different than an account associated with the second device, based on the invitation; and
receiving the voucher data item in response to determining that the account associated with the first device is different than the account associated with the second device.
3 . The method of claim 1 , wherein the voucher data item further includes an expiration time for determining whether the voucher data item is expired.
4 . The method of claim 1 , wherein the participant information associated with the participation of the second device in the group communication session includes one or more group communication session participant identifiers associated with one or more of the group communication session and the second device.
5 . The method of claim 1 , wherein the voucher data item includes a signature generated by the second device with a private key associated with the second device such that the signature is verifiable by a public key associated with the second device.
6 . The method of claim 1 , further comprising generating, by the first device, a group communication session control message including the voucher data item, wherein providing, by the first device, the voucher data item to at least the third device comprises providing the voucher data item to the third device via the group communication session control message.
7 . The method of claim 6 , wherein providing, by the first device, the voucher data item to at least the third device further comprises sending the group communication session control message to a group communication session service that is constructed to forward the group communication session control message to the second device and the third device.
8 . The method of claim 6 , wherein the group communication session control message further includes a join message requesting incorporation of the first device into the group communication session.
9 . The method of claim 1 , further comprising, in response to the voucher data item not being verified by the third device:
joining the group communication session in response to receiving a join message;
generating a group communication session control message including the voucher data item; and
transmitting the group communication session control message to at least the second device and the third device.
10 . The method of claim 9 , wherein the group communication session control message includes a notification indicating that the first device is associated with the second device based on the voucher data item.
11 . A method comprising:
receiving, by a third device and from a first device attempting to join a group communication session, a voucher data item for joining the group communication session between the third device and at least a second device, the group communication session including an exchange of audio data or video data between the second device and at least the third device, wherein the voucher data item is signed by the second device and includes first participant information obtained through participation of the second device in the group communication session;
retrieving, by the third device, a key associated with the second device;
obtaining, by the third device and through participation in the group communication session, second participant information associated with the participation of the second device in the group communication session; and
verifying, by the third device, the voucher data item from the first device based on the key and a comparison of the first participant information obtained through participation of the second device in the group communication session and the second participant information obtained through participation of the third device in the group communication session to verify that the second device has vouched for the first device to join the group communication session.
12 . The method of claim 11 , wherein the key comprises a public key associated with the second device and the voucher data item includes a signature generated by the second device with a private key corresponding to the public key.
13 . The method of claim 12 , wherein retrieving the key associated with the second device includes querying a device management server for the public key associated with the second device.
14 . The method of claim 11 , wherein verifying the voucher data item includes:
deriving the first participant information from the voucher data item with the key associated with the second device; and
determining that the first participant information matches the second participant information.
15 . The method of claim 11 , further comprising:
determining whether the voucher data item is expired based on an expiration time corresponding to the voucher data item; and
rejecting the second device in response to determining that the voucher data item is expired.
16 . The method of claim 11 , wherein the first participant information associated with the participation of the second device in the group communication session includes one or more group communication session participant identifiers associated with one or more of the group communication session and the second device.
17 . The method of claim 11 , further comprising receiving a group communication session control message generated by the first device that includes a join message requesting incorporation of the first device into the group communication session.
18 . The method of claim 11 , wherein receiving the voucher data item comprises receiving, from the first device, a group communication session control message including the voucher data item.
19 . The method of claim 18 , wherein the group communication session control message comprises a notification indicating that the first device is associated with the second device.
20 . A non-transitory computer-readable medium comprising computer-readable instructions that, when executed by a processor, cause the processor to perform one or more operations comprising:
receiving, by a first device, a voucher data item, from a second device that is participating in a group communication session with at least a third device, wherein the voucher data item is received prior to participation of the first device in the group communication session with at least the third device, the group communication session including an exchange of audio data or video data between the second device and at least the third device, wherein:
the voucher data item includes participant information obtained through participation of the second device in the group communication session, and
the voucher data item is signed with a key associated with the second device; and
providing the voucher data item to at least the third device to verify that the first device is vouched for by the second device for participation in the group communication session.