Secure communication protocol
A method, of establishing secure communication, may include: generating a first symmetric key; encrypting at least the first symmetric key according to a public key; sending a first message that includes at least the encrypted first symmetric key to a communication counterpart using a connectionless protocol; and receiving, as part of a connection-oriented-protocol first session, a second message that includes an acknowledgement encrypted via the first symmetric key. A counterpart method may include: receiving and decrypting the first message according to the corresponding private key; and encrypting and then sending the second message. Another such method may include: encrypting a chunk of information according to a first symmetric key, the first symmetric key having been used in a previous and now-stopped connection-oriented session with a communication counterpart; and sending to a communication counterpart a first message whose payload at least in part the encrypted chunk of information.
1 . A method of establishing secure communication, the method comprising:
generating a first symmetric key;
encrypting at least the first symmetric key according to a public key;
sending a first message that includes at least the encrypted first symmetric key to a communication counterpart using a connectionless protocol; and
receiving, as part of a connection-oriented-protocol first session, a second message that includes an acknowledgement that the counterpart received the first message, the acknowledgement being encrypted via the first symmetric key.
2 . The method of claim 1 , further comprising:
letting the first session stop; and
keeping the first symmetric key available for use with a future second connection-oriented protocol session.
3 . The method of claim 2 , wherein the keeping available of the first symmetric key includes not deallocating volatile memory allocated thereto.
4 . The method of claim 1 , wherein the first session is stopped substantially immediately after receiving the second message.
5 . The method of claim 1 , wherein the sending of the first message includes using a connectionless protocol.
6 . The method of claim 5 , wherein:
the connectionless protocol is UDP (user datagram protocol); and
the first session uses TCP (transmission control protocol).
7 . The method of claim 1 , wherein the second message further includes an identification (ID) which the counterpart has assigned to the sender of the first message.
8 . A method of establishing secure communication, the method comprising:
receiving a first message that was sent using a connectionless protocol from a communication counterpart,
the first message including at least a first symmetric key that has been encrypted according to a public key, there being a private key counterpart thereto;
decrypting the first message according to the private key to obtain at least the first symmetric key;
encrypting an acknowledgement of having received the first message according to the first symmetric key; and
sending, as part of a first connection-oriented-protocol session, a second message that includes the encrypted acknowledgement to the counterpart.
9 . The method of claim 8 , further comprising:
letting the first session stop; and
keeping the first symmetric key available for use with a future second connection-oriented protocol session.
10 . The method of claim 9 , wherein the keeping available of the first symmetric key includes not deallocating volatile memory allocated thereto.
11 . The method of claim 8 , wherein the first session is stopped substantially immediately after receiving the second message.
12 . The method of claim 8 , wherein the first message is sent according to a connectionless protocol.
13 . The method of claim 12 , wherein:
the connectionless protocol is UDP (user datagram protocol); and
the first session uses TCP (transmission control protocol).
14 . The method of claim 8 , further comprising:
assigning an identification (ID) to the counterpart;
wherein the second message further includes the ID.
15 - 31 . (canceled)
32 . A machine-readable medium comprising instructions, execution of which by a machine facilitates establishing secure communication, the machine-readable instructions including:
a first code segment to generate a first symmetric key;
a second code segment to encrypt at least the first symmetric key according to a public key;
a third code segment to send a first message that includes at least the encrypted first symmetric key to a communication counterpart using a connectionless protocol;
a fourth code segment to receive, as part of a connection-oriented-protocol first session, a second message that includes an acknowledgement that the counterpart received the first message,
the acknowledgement being encrypted via the first symmetric key.
33 . The machine-readable instructions of claim 32 , further comprising:
a fifth code segment to let the first session stop; and
a sixth code segment to keep the first symmetric key available for use with a future second connection-oriented protocol session by not deallocating volatile memory allocated to the first symmetric key.
34 . A machine-readable medium comprising instructions, execution of which by a machine facilitates establishing secure communication, the machine-readable instructions including:
a first code segment to receive a first message that was sent using a connectionless protocol from a communication counterpart,
the first message including at least a first symmetric key that has been encrypted according to a public key, there being a private key counterpart thereto;
a second code segment to decrypt the first message according to the private key to obtain at least the first symmetric key;
a third code segment to encrypt an acknowledgement of having received the first message according to the first symmetric key; and
a fourth code segment to send, as part of a first connection-oriented-protocol session, a second message that includes the encrypted acknowledgement to the counterpart.
35 . The machine-readable instructions of claim 34 , further comprising:
a fifth code segment to let the first session stop; and
a sixth code segment to keep the first symmetric key available for use with a future second connection-oriented protocol session.
36 - 41 . (canceled)
42 . An apparatus for establishing secure communication, the apparatus comprising:
means for generating a first symmetric key;
means for encrypting at least the first symmetric key according to a public key;
means for sending a first message that includes at least the encrypted first symmetric key to a communication counterpart using a connectionless protocol;
and means for receiving, as part of a connection-oriented-protocol first session, a second message that includes an acknowledgement that the counterpart received the first message,
the acknowledgement being encrypted via the first symmetric key.
43 . An apparatus for establishing secure communication, the apparatus comprising:
means for receiving a first message that was sent using a connectionless protocol from a communication counterpart,
the first message including at least a first symmetric key that has been encrypted according to a public key, there being a private key counterpart thereto;
means for decrypting the first message according to the private key to obtain at least the first symmetric key;
means for encrypting an acknowledgement of having received the first message according to the first symmetric key; and
means for sending, as part of a first connection-oriented-protocol session, a second message that includes the encrypted acknowledgement to the counterpart.
44 . (canceled)
45 . A machine configured to implement the method of claim 1 .
46 . A machine configured to implement the method of claim 8 .
47 . (canceled)