US 11,949,663 B2
Cloud-based tunnel protocol systems and methods for multiple ports and protocols
Srikanth Devarajan, San Jose, CA (US); Vijay Bulusu, Fremont, CA (US); Roy Rajan, Bangalore (IN); Ajit Singh, Fremont, CA (US); Abhinav Bansal, San Jose, CA (US); and Vikas Mahajan, Ludhiana (IN)
Assigned to Zscaler, Inc., San Jose, CA (US)
Filed by Zscaler, Inc., San Jose, CA (US)
Filed on Jul. 7, 2020, as Appl. No. 16/922,242.
Claims priority of application No. 202011021371 (IN), filed on May 21, 2020.
Prior Publication US 2021/0367920 A1, Nov. 25, 2021
Int. Cl. H04L 9/40 (2022.01)
CPC H04L 63/029 (2013.01) [H04L 63/0876 (2013.01); H04L 63/1416 (2013.01); H04L 63/166 (2013.01); H04L 63/18 (2013.01)] 19 Claims
OG exemplary drawing
 
16. A method comprising:
establishing a control channel of a tunnel utilizing a first encryption technique, wherein the tunnel is between a local node including one or more processors and a remote node, and wherein the control channel includes a session identifier; establishing one or more data channels of the tunnel utilizing a second encryption technique, wherein the one or more data channels are authenticated using the session identifier from the control channel and are bound to the control channel based on the session identifier, and wherein both the control channel and the one or more data channels are between the local node and the remote node, wherein the second encryption technique is chosen based on the session identifier; performing, over the control channel, device authentication and user authentication of one or more users associated with the remote node, wherein each of the one or more users includes a user identifier; and subsequent to the device authentication and the user authentication, exchanging data packets over the one or more data channels, wherein the data packets include an application Identifier (ID), one or more keep alive packets, and a corresponding user identifier, and balancing loads associated with the one or more data channels to different servers of the local node based on proprietary information provided by the remote node.