IP Library Granted Patent US 7,441,262
Granted Patent B2
US 7,441,262 · App. 10/192,802 · Granted Oct 21, 2008

Integrated VPN/firewall system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,441,262
App. No.
10/192,802
Granted
Oct 21, 2008
Kind
B2
Abstract

Systems, devices, and methods relating to network firewalls and VPN gateways for controlling and securing access to networks. An integrated VPN/firewall system comprises at least one policy engine module, a switch module, a cryptographic engine module, and at least one flow engine module. Each flow engine module receives DTUs from either side of the integrated VPN/firewall system. The DTUs are then compared to entries in a listening table and entries in a flow table. The entries in these tables consist of characteristics of DTUs expected to arrive for specific flows. Entries to both listening tables and flow tables are made by the policy engine with listening table entries generally denoting flows potentially allowed by policy to be established between computers on opposite sides of the system. Flow tables, on the other hand, correspond to flows already allowed to be established between computers on opposite sides of the firewall system.

Claims (78)

1. A method of verifying data transmission units (DTUs) being received by a device, the method comprising the steps of:

a) receiving an incoming DTU;

b) determining if said incoming DTU has characteristics which match an entry in at least one flow table containing characteristics of DTUs associated with established network connections;

c) in the event said characteristics of said incoming DTU match said entry in said at least one flow table, forwarding said incoming DTU to a flow engine module of the device for forwarding to a destination of said incoming DTU without passing through a policy engine module of said device and without any further security policy processing;

d) in the event said characteristics of said incoming DTU does not match an entry in said at least one flow table, determining if said incoming DTU has characteristics which match an entry in at least one listening table containing characteristics of DTUs associated with network connections to be established;

e) in the event said characteristics of said incoming DTU match an entry in said at least one listening table, forwarding said incoming DTU to a policy engine module to establish a network connection;

f) in the event said characteristics of said incoming DTU does not match an entry in said at least one listening table, forwarding said incoming DTU to a policy engine module for checking against predetermined security policies;

g) in the event said incoming DTU passes said checking by said policy engine module against predetermined security policies, at least one flow table or at least one listening table is updated to list characteristics of DTUs associated with a network connection for said incoming DTU,

wherein said method is executed by a system comprising:

the policy engine module for enforcing security policies for said network and for inserting and deleting entries in at least one flow table and in at least one listening table;

at least one flow engine module for receiving data transmission units (DTUs) from sources external to said system and for forwarding said DTUs to destinations external to said system; and

a switch module for routing DTUs between different modules in said system wherein

said switch module is coupled to each one of the other modules in the system;

said flow engine module receives and forwards DTUs if said DTUs match an entry in either said flow table or said listening table.

2. A method according to claim 1 wherein said policy engine module provides a checking function on said incoming DTU, said checking function being at least one of content filtering, virus scanning, validation of new data flows, authentication of DTUs, authorization of DTUs, or Internet Key Exchange.

3. A method according to claim 1 wherein in step c), said incoming DTU passes through a cryptographic engine module for encrypting at least a portion of said incoming DTU.

4. A method according to claim 1 wherein in step c), said incoming DTU passes through a cryptographic engine module for decrypting at least a portion of said incoming DTU.

5. A method according to claim 1 wherein said incoming DTU contains an encrypted key for establishing a virtual private networking connection.

6. A method according to claim 1 wherein at least one of said characteristics is selected from a group consisting of:

a network interface;

a destination address;

a destination port;

a source address;

a source port;

a protocol identifier; and

a Security Parameter Index.

7. A method according to claim 1 wherein at least one of said established network connections is an existing virtual private networking (VPN) connection.

8. A method according to claim 4 further including forwarding a decrypted DTU to a destination external to the device, said destination being part of a virtual private network.

9. A method according to claim 1 wherein at least one of said established network connections is a TCP (transmission control protocol) connection.

10. A method according to claim 1 wherein said network connection to be established is a TCP connection.

11. A method according to claim 1 wherein at least one of said established connections is a UDP (User Datagram Protocol) connection.

12. A method according to claim 1 wherein said network connection to be established is a UDP connection.

13. A method according to claim 1 wherein said system further includes a cryptographic engine module for encrypting and decrypting DTUs.

14. A system for providing firewall and virtual private networking functions to a network, the system comprising:

a processor;

at least one flow table having entries which contain characteristics of DTUs associated with established network connections;

at least one listening table having entries which contain characteristics of DTUs associated with network connections to be established;

a policy engine module for enforcing security policies for said network and for inserting entries in said at least one flow table and in said at least one listening table;

at least one flow engine module for receiving data transmission units (DTUs) from sources external to said system and for forwarding said DTUs to destinations external to said system;

a switch module for routing DTUs between different modules in said system wherein

said switch module is coupled to each one of the other modules in the system;

said flow engine module receives and forwards DTUs to destinations external to said system if said DTUs match an entry in said flow table, said DTUs being forwarded not passing through said policy engine module and without any further security policy processing,

wherein said system with use of said processor executes a process for verifying DTUs being received by the system, the process comprising the steps of:

a) receiving an incoming DTU at the flow engine module;

b) determining if said incoming DTU has characteristics which match at least one set of criteria;

c) in the event said characteristics of said incoming DTU match said at least one set of criteria, forwarding said incoming DTU to a separate component of the device for further processing;

d) in the event said characteristics of said incoming DTU does not match said at least one set of criteria, forwarding said incoming DTU to a policy engine module for further checking,

e) in the event said incoming DTU passes said checking by said policy engine module against predetermined security policies, at least one flow table or at least one listening table is updated to list characteristics of DTUs associated with a network connection for said incoming DTU.

15. A system according to claim 14 wherein said separate component is the policy engine module for checking said incoming DTUs against at least one network access security policy.

16. A system according to claim 14 wherein said separate component is one of said at least one flow engine module for forwarding said incoming DTU to a location external to said device.

17. A system according to claim 14 wherein said separate component is a cryptographic engine module for encrypting at least a portion of said incoming DTU.

18. A system according to claim 14 wherein said separate component is a cryptographic engine module for decrypting at least a portion of said incoming DTU.

19. A system according to claim 14 wherein said system further comprises a cryptographic engine module for encrypting and decrypting DTUs.

20. A system according to claim 14 wherein at least one of said characteristics is selected from a group consisting of:

a network interface;

a destination address;

a destination port;

a source address;

a source port;

a protocol identifier; and

a Security Parameter Index.

21. A system according to claim 14 wherein said system is implemented on at least one integrated circuit (IC).

22. A system according to claim 14 wherein said system is implemented on a single IC.

23. A system according to claim 14 wherein said policy engine module provides a checking function on said incoming DTU, said checking function being at least one of content filtering, virus scanning, validation of new data flows, authentication of DTUs, authorization of DTUs, or Internet Key Exchange.

24. A device for interconnecting at least two networks, the device comprising:

a processor;

at least one policy engine module for enforcing security policies of a first network against data traffic coming from and going to at least one second network, said at least one policy engine module inserts and deletes entries in at least one flow table and at least one listening table and provides checking functions for incoming data transmission units (DTUs), said checking function being at least one of content filtering, virus scanning, validation of new data flows, authentication of DTUs, authorization of DTUs, or Internet Key Exchange;

at least one flow engine module for receiving and transmitting said data traffic between said first network and said at least one second network; and

a switch module for forwarding relevant data traffic between modules internal to said device;

wherein said switch module is coupled to each one of the other modules in the device and the or each of said flow engine modules receives and forwards said data traffic if said data traffic matches entries in said at least one flow table or in said at least one listening table,

and wherein each flow table has entries with characteristics of DTUs associated with established network connections and each listening table has entries with characteristics wherein DTUs which match an entry in a flow table is forwarded to their destination without passing through a policy engine module, and without any further security policy processing,

wherein said device with use of said processor executes a process for verifying DTUs being received by the device, the process comprising the steps of:

a) receiving an incoming DTU at the at least one flow engine module;

b) determining if said incoming DTU has characteristics which match at least one set of criteria;

c) in the event said characteristics of said incoming DTU match said at least one set of criteria, forwarding said incoming DTU to a separate component of the device for further processing;

d) in the event said characteristics of said incoming DTU does not match said at least one set of criteria, forwarding said incoming DTU to the at least one policy engine module for further checking;

e) in the event said incoming DTU passes said checking by said at least one policy engine module against predetermined security policies, at least one flow table or at least one listening table is updated to list characteristics of DTUs associated with a network connection for said incoming DTU.

25. A device according to claim 24 further comprising a cryptographic engine module for encrypting and decrypting at least a portion of said data traffic.

Assignments (20)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: NORTH STAR INNOVATIONS INC.
Reel/Frame 037694/0264 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Feb 2, 2007
From: FREESCALE SEMICONDUCTOR, INC.; FREESCALE ACQUISITION CORPORATION; FREESCALE ACQUISITION HOLDINGS CORP.; FREESCALE HOLDINGS (BERMUDA) III, LTD.
To: CITIBANK, N.A. AS COLLATERAL AGENT
Reel/Frame 018855/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2006
From: SEAWAY NETWORKS INCORPORATED
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 017645/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2005
From: SEAWAY NETWORKS (DELAWARE) INCORPORATED; SEAWAY NETWORKS INC.
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 016998/0720 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2002
From: HUI, MAN HIM; LAPP, DAVID PHILIP
To: SEAWAY NETWORKS INC.
Reel/Frame 013100/0402 →