IP Library Granted Patent US 8,522,034
Granted Patent B2
US 8,522,034 · App. 13/213,943 · Granted Aug 27, 2013

Systems and methods for transparent configuration authentication of networked devices

Inventors: Úlfar Erlingsson (San Francisco, CA); Xavier Boyen (Palo Alto, CA); Darrell Anderson (Durham, NC); Wayne Gray (Sunnyvale, CA)
Assignee: Google Inc.
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 8,522,034
App. No.
13/213,943
Filed
Aug 19, 2011
Granted
Aug 27, 2013
Kind
B2
Art Unit
2493
USPC
713/176
Abstract

Methods and systems are disclosed for providing secure transmissions across a network comprising a transmitting device and a receiving device. At the transmitting device, a stream of watermark bits is generated. Next, a plurality of watermarks is generated, each of the plurality of watermarks comprising an index number and a portion of the stream of watermark bits. The watermarks are inserted into each header of a plurality of outgoing packets. At the receiving device, the plurality of outgoing packets are received and it is determined if a received packet is valid based on the watermark in the header of the received packet. The stream of watermark bits may be generated using a stream cipher such as RC4, a block cipher such as 3DES in CBC mode, or other equivalent pseudo-random stream generating techniques.

Claims (43)

1. A method for providing secure transmission's across a network comprising a client device and a server, the method comprising:

at the client device, generating a stream of watermark bits, wherein generating the stream of watermark bits comprises generating the steam of watermark bits from an authorization and synchronization packet previously exchanged between the client device and the server;

generating a plurality of different watermarks from the stream of watermark bits, each of the plurality of different watermarks comprising a respective index number and a respective portion of the stream of watermark bits, wherein each of the plurality of different watermarks comprises a different respective index number;

inserting the plurality of different watermarks into respective headers of a plurality of outgoing packets of a packet stream;

receiving, at the server, the plurality of outgoing packets; and

determining if a received packet is valid based on the watermark in the header of the received packet.

2. The method of claim 1 , further comprising activating a session by exchanging the authorization and synchronization packet between the client device and the server.

3. The method of claim 1 , further comprising:

discarding the received packet, if the watermark in the header of the received packet is not valid.

4. The method of claim 1 , wherein determining if a received packet is valid comprises:

comparing the watermark in the header of the received packet to first and second windows, each of the first and second windows comprising a set of expected watermarks; and

accepting the watermark as valid if the watermark matches one of the expected watermarks in the first or second window.

5. The method of claim 4 , wherein the set of expected watermarks are generated from the authorization and synchronization packet previously exchanged between the client device and the server.

6. The method of claim 4 , comprising:

discarding the packet, if the watermark in the header of the received packet does not match any of the expected watermarks in the first or second window.

7. The method of claim 4 , wherein comparing the watermark further comprises:

maintaining at the server a record of a pivotal index number representing the index number of the highest-numbered valid watermark received from the client device,

wherein the first window includes expected watermarks whose index numbers precede the pivotal index number and the second window includes expected watermarks whose index numbers immediately supersede the pivotal index number.

8. The method of claim 7 , comprising:

increasing the pivotal index number if a match is found in the second window and deleting the matching expected watermark from the second window.

9. The method of claim 1 , wherein the stream of watermark hits is generated by a stream cipher.

10. The method of claim 1 , wherein inserting the plurality of watermarks includes determining whether a valid session exists and inserting the plurality of watermarks only if the valid session exists.

11. The method of claim 1 , wherein each of the plurality of different watermarks comprises a different respective portion of the stream of watermark bits.

12. A system for providing; secure transmissions across a network, the system comprising:

a client device for

generating a stream of watermark bits, wherein generating the stream of watermark bits comprises generating the steam of watermark bits from an authorization and synchronization packet previously exchanged between the client device and the server;

generating a plurality of different watermarks from the stream of watermark bits, each of the plurality of different watermarks comprising a respective index number and a respective portion of the stream of watermark bits, wherein each of the plurality of different watermarks comprises a different respective index number;

inserting the plurality of different watermarks into respective headers of a plurality of outgoing packets of a packet stream; and

transmitting the outgoing packets to a server; and

a server for

receiving the plurality of outgoing packets; and

determining if a received packet is valid based on the watermark in the header of the received packet.

13. The system of claim 12 , wherein inserting the plurality of watermarks includes determining whether a valid session exists and inserting the plurality of watermarks only if the valid session exists.

14. The system of claim 12 , wherein the server further discards the packet, if the watermark in the header of the received packet is not valid.

15. The system of claim 12 , wherein the server determines if the received packet is valid by comparing the watermark in the header of the received packet to first and second windows, each of the first and second windows comprising a set of expected watermarks; and

accepting the watermark as valid if the watermark matches one of the expected watermarks in the first or second window.

16. The system of claim 15 , wherein the server discards the packet, if the watermark in the header of the received packet does not match any expected watermarks in the first or second window.

17. The system of claim 15 , wherein comparing the watermark further comprises:

maintaining at the server a record of a pivotal index number representing the index number of the highest-numbered valid watermark received from the client device,

wherein the first window includes expected watermarks whose index numbers precede the pivotal index number and the second window includes expected watermarks whose index numbers immediately supersede the pivotal index number.

18. The system of claim 17 , wherein the server increases the pivotal index number if a match is found in the second window and deletes the matching expected watermark from the second window.

19. The system of claim 12 , wherein the stream of watermark hits is generated by a stream cipher.

20. The system of claim 12 , wherein each of the plurality of different watermarks comprises a different respective portion of the stream of watermark hits.

Assignments (3)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2011
From: ERLINGSSON, ULFAR; BOYEN, XAVIER; ANDERSON, DARRELL; GRAY, WAYNE
To: GREEN BORDER TECHNOLOGIES
Reel/Frame 026780/0395 →
MERGER Recorded Aug 19, 2011
From: GREEN BORDER TECHNOLOGIES, INC.
To: GOOGLE INC.
Reel/Frame 026780/0417 →
Continuity (3)
Continuation 10627270 · Jul 25, 2003
Provisional Application 60398564 · Jul 26, 2002
Related Publication 20120036367A1 · Feb 9, 2012