Data transmission method, system, and apparatus

US9350711B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9350711-B2
Application numberUS-201414336146-A
CountryUS
Kind codeB2
Filing dateJul 21, 2014
Priority dateMay 11, 2012
Publication dateMay 24, 2016
Grant dateMay 24, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data transmission method is applied in a virtual private network (VPN) and includes: querying, by an initiating client, a VPN server for external network Internet Protocol (IP) addresses of the initiating client and a responding client; performing, by the initiating client, key negotiation with the responding client through the VPN server; after the key negotiation is completed, writing, by the initiating client, the external network IP address of the initiating client into a source address field of a to-be-sent User Datagram Protocol (UDP) packet, writing the external network IP address of the responding client into a destination address field of the to-be-sent UDP packet, and encrypting the to-be-sent UDP packet according to a key obtained through the negotiation; and sending, by the initiating client, an encrypted UDP packet to the responding client, and performing packet interaction with the responding client directly.

First claim

Opening claim text (preview).

What is claimed is: 1. A data transmission method implmented by an initiating client and applied in a virtual private network (VPN), comprising: querying a VPN server for external network Internet Protocol (IP) addresses of the initiating client and a responding client; performing key negotiation with the responding client through the VPN server; writing the external network IP address of the initiating client into a source address field of a user datagram protocol (UDP) packet after the key negotiation is completed, wherein the UDP packet is generated by the initiating client; writing the external network IP address of the responding client into a destination address field of the UDP packet; encrypting the UDP packet according to a key obtained through the key negotiation to obtain an encrypted UDP packet; sending, the encrypted UDP packet to the responding client; and performing packet interaction with the responding client directly, wherein performing the key negotiation with the responding client through the VPN server comprises: sending a probe message to the responding client through the VPN server; receiving a certification request message that is sent from the responding client and that is forwarded by the VPN server, wherein the certification request message is sent by the responding client after the probe message is received, and wherein the certification request message carries a public key of the responding client; extracting the public key of the responding client from the certification request message as the key obtained through on the key negotiation; performing identity certification on the public key of the responding client through a third-party certification server; sending a certification verification message to the responding client through the VPN server after the certification succeeds, wherein the certification verification message carries a public key of the initiating client; sending a negotiation finish message to the responding client through the VAN server; determining that the key negotiation is completed after receiving a negotiation finish acknowledgment message that is from the responding client and is forwarded by the VPN server; and determining that the key negotiation fails when the initiating client does not receive the certification verification message or the key negotiation finish acknowledgment message. 2. The method according to claim 1 , wherein querying the VPN server for the external network IP address of the initiating client and the responding client comprises: sending, a query request message to the VPN server, wherein the query request message carries an identifier of the initiating client and an identifier of the responding client, wherein the identifier of the initiating client is allocated when the initiating client logs in to the VPN server, and wherein the identifier of the responding client is allocated when the responding client logs in to the VPN server; receiving, a query response message returned by the VPN server; and extracting the external network IP address of the initiating client and the external network IP address of the responding client from the query response message. 3. The method according to claim 1 , wherein after sending the encrypted UDP packet to the responding client, the method further comprises: receiving, a UDP packet that is sent by the responding client and encrypted according to the public key of the initiating client; and decrypting a received UDP packet according to a private key of the initiating client. 4. The method according to claim 2 , wherein after sending the encrypted UDP packet to the responding client, the method further comprises: receiving, by the initiating client, a UDP packet that is sent by the responding client and encrypted according to the public key of the initiating client; and decrypting, by the initiating client, a received UDP packet according to a private key of the initiating client. 5. An initiating client device applied in a virtual private network (VPN), comprising a processor and a memory storing instructions that when executed by the processor cause the initiating client device to: query a VPN server for external network Internet Protocol (IP) addresses of the initiating client device and a responding client device; perform key negotiation with the responding client device through the VPN server; write the external network IP address of the initiating client device into a source address field of a user datagram protocol (UDP) packet after the key negotiation is completed, wherein the UDP packet is generated by the initiating client: write the external network IP address of the responding client device into a destination address field of the UDP packet; encrypt the to packet according to a key obtained through the key negotiation to obtain an encrypted UDP packet; and send the encrypted UDP packet to the responding client device, and perform packet interaction with the responding client device directly, wherein performing the key negotiation with the responding client device through the VPN server comprises: sending a probe message to the responding client device through the VPN server; receiving a certification request message that is sent from the responding client device and that is forwarded by the VPN server, wherein the certification request message is sent by the responding client device after the probe message is received, and wherein the certification request message carries a public key of the responding client device: extracting the public key of the responding client device from the certification request message as the key obtained through the key negotiation; performing identity certification on the public key of the responding client device through a third-party certification server; sending a certification verification message to the responding client device through the VPN server after the certification succeeds, wherein certification verification message carries a public key of the initiating client device; sending a negotiation finish message to the responding client device through the VPN server; determining that the key negotiation is completed after receiving a negotiation finish acknowledgment message that is from the responding client device and is forwarded by the VPN server; and determining that the key negotiation fails when the initiating client device does not receive the certification verification message or the key negotiation finish acknowledgment message. 6. The initiating client device according to claim 5 , wherein the instructions, when executed by the processor, further cause the initiating client device to: send a query request message to the VPN server, wherein the query request message carries an identifier of the initiating client device and an identifier of the responding client device, wherein the identifier of the initiating client device is allocated when the initiating client device logs in to the VPN server, and wherein the identifier of the responding client device is allocated when the responding client device logs in to the VPN server; receive a query response message returned by the VPN server; and extract the external network IP address of the initiating client device and the external network IP address of the responding client device from the query response message. 7. The initiating client device according to claim 5 , wherein the instructions, when executed by the processor, further cause the initiating client device to: receive a UDP packet that is sent by the responding client device and encrypted according to the public key of the initiating client device; and decrypt a received UDP packet according to a private key of the initiating client device.

Assignees

Inventors

Classifications

  • Virtual private networks · CPC title

  • for supporting key management in a packet data network (cryptographic mechanisms or cryptographic arrangements for key management H04L9/08) · CPC title

  • for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838) · CPC title

  • wherein the data content is protected, e.g. by encrypting or encapsulating the payload · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9350711B2 cover?
A data transmission method is applied in a virtual private network (VPN) and includes: querying, by an initiating client, a VPN server for external network Internet Protocol (IP) addresses of the initiating client and a responding client; performing, by the initiating client, key negotiation with the responding client through the VPN server; after the key negotiation is completed, writing, by t…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification H04L63/0272. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 24 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).