IP Library Granted Patent US 6,993,588
Granted Patent B2
US 6,993,588 · App. 09/818,302 · Granted Jan 31, 2006

System and methods for securely permitting mobile code to access resources over a network

Assignee: Sumisho Computer Systems Corporation
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 6,993,588
App. No.
09/818,302
Granted
Jan 31, 2006
Kind
B2
Abstract

A system and methods are disclosed that permit mobile code, such as an applet, to create a network connection with a content server on a network, without exposing the client computer that is running the applet, or other computers with which the client computer may communicate, to a DNS spoofing attack. This is achieved in accordance with the principles of the present invention by using network restriction software in the execution engine or runtime system under which the applet executes. When the applet attempts to create a network connection to a content server, the network restriction software checks a “name directory” on the content server for the presence of an entry whose name corresponds to the name of the computer from which the applet was downloaded. If such an entry is present, then the network restriction software permits the network connection between the applet and the content server to be created. If not, the applet may not create a network connection with the content server. Additionally, address checks may be applied to assist in preventing DNS spoofing attacks from succeeding.

Claims (51)

1. A method of creating a network connection between an applet executing on a client computer and a content server computer, the method comprising:

determining a home site name for the applet, the home site name corresponding to a host name of a computer from which the applet was downloaded to the client computer;

checking for the presence of a hostname entry in a name directory on the content server computer, the hostname entry corresponding to the home site name for the applet;

permitting the applet to create a network connection with the content server computer if the hostname entry was present in the name directory on the content server computer; and

denying permission for the applet to create a network connection with the content server computer if the hostname entry was not present in the name directory on the content server computer.

2. The method of claim 1 , wherein checking for the presence of a hostname entry in a name directory on the content server computer comprises:

generating a Uniform Resource Locator for the hostname entry on the content server computer; and

sending an HTTP request using the Uniform Resource Locator to the content server computer to determine whether the hostname entry is present in the name directory on the content server computer.

3. The method of claim 2 , wherein generating a Uniform Resource Locator comprises combining a host name of the content server computer, a path name of the name directory, and a name of the hostname entry.

4. The method of claim 2 , wherein sending an HTTP request using the Uniform Resource Locator comprises sending an HTTP HEAD-request using the Uniform Resource Locator to the content server computer to determine whether the hostname entry is present in the name directory on the content server computer.

5. The method of claim 2 , further comprising looking up an address of the content server.

6. The method of claim 5 , wherein checking for the presence of a hostname entry in a name directory on the content server computer comprises using the address of the content server to check for the presence of the hostname entry, and wherein permitting the applet to create a network connection with the content server computer if the hostname entry was present comprises using of the content server to create the network connection with the content server.

7. The method of claim 1 , wherein an execution engine executes the applet on the client computer, and wherein checking for the presence of a hostname entry in a name directory of the content server computer comprises using network restriction software in the execution engine to check for the presence of the hostname entry.

8. The method of claim 1 , wherein checking for the presence of a hostname entry in a name directory on the content server computer comprises using a consistent path name for the name directory.

9. The method of claim 8 , wherein checking for the presence of a hostname entry in a name directory on the content server computer comprises using an instruction from the applet on a path name for the name directory.

10. The method of claim 9 , wherein using an instruction from the applet on a path name for the name directory comprises using a language construct to determine the path name for the name directory.

11. The method of claim 1 , further comprising using the hostname entry to determine types of network connections that are permitted between the applet and the content server computer.

12. The method of claim 1 , wherein checking for the presence of a hostname entry in a name directory on the content server computer comprises checking for the presence of a file in the name directory that has a file name identical to the home site name for the applet.

13. The method of claim 1 , further comprising performing an address check.

14. The method of claim 13 , wherein performing an address check comprises:

determining an address list for the content server computer;

determining an address list for the computer from which the applet was downloaded; and

denying permission for the applet to create a network connection with the content server computer if the address list for the content server computer is not a subset of the address list for the computer from which the applet downloaded.

15. The method of claim 13 , wherein performing an address check comprises denying permission for the applet to create a network connection with the content server computer if the home site name for the applet is in dotted quad form, and an address specified by the dotted quad form is not identical to an address for the content server computer.

16. A client computer system that executes an applet that was downloaded from an applet home site, the client computer system comprising:

a processor that executes programmed instructions; and a memory that stores a plurality of programmed instructions, including programmed instructions for an execution engine that executes the applet, the execution engine including network restriction software that, when executed by the processor, causes the client computer to:

receive a request from the applet to create a network connection with a content server computer;

check for the presence of a hostname entry in a name directory on the content server computer, the hostname entry corresponding to a name of the applet home site;

deny permission for the applet to create a network connection with the content server computer if the hostname entry was not present in the name directory on the content server; and

permitting the applet to create a network connection with the content server if the hostname entry was present in the name directory on the content server.

17. The client computer system of claim 16 , wherein the network restriction software causes the client computer to check for the presence of the hostname entry in the name directory file by:

generating a Uniform Resource Locator for the hostname entry on the content server computer; and

sending an HTTP request using the Uniform Resource Locator to the content server computer to determine whether the hostname entry is present the name directory on the content server computer.

18. The client computer system of claim 17 , wherein the HTTP request comprises an HTTP HEAD-request.

19. The client computer system of claim 17 , wherein the Uniform Resource Locator comprises a host name of the content server computer, a path name of the name directory, and a name of the hostname entry.

20. The client computer system of claim 16 , wherein the network restriction software further causes the client computer to look up an address of the content server.

21. The client computer system of claim 20 , wherein the network restriction software causes the client computer to use the address of the content server to check for the presence of the hostname entry and to create the network connection with the content server if permission to create the network connection with the content server is not denied.

22. The client computer system of claim 16 , wherein the name directory comprises a directory in a file system of the content server computer.

23. The client computer system of claim 22 , wherein the hostname entry comprises an empty file in the name directory on the content server computer.

24. The client computer system of claim 16 , wherein the name directory comprises a file on the content server computer.

25. The client computer system of claim 16 , wherein the name directory on the content server computer has a consistent pathname.

26. The client computer of claim 16 , wherein the applet provides instructions that determine a pathname for the name directory on the content server.

27. The client computer of claim 26 , wherein the instructions that determine the pathname for the name directory on the content server comprise programming language constructs.

28. The client computer system of claim 16 , wherein a name of the hostname entry is identical to a host name of the applet home site.

29. The client computer system of claim 16 , wherein the hostname entry comprises information on the types of network connections that may be made between the applet and the content server computer.

30. The client computer system of claim 16 , wherein the network restriction software further causes the client computer to perform an address check.

31. The client computer system of claim 30 , wherein the network restriction software causes the client computer to perform the address check by:

determining an address list for the content server computer;

determining an address list for the computer from which the applet was downloaded; and

denying permission for the applet to create a network connection with the content server computer if the address list for the content server computer is not a subset of the address list for the computer from which the applet was downloaded.

32. The client computer system of claim 30 , wherein the network restriction software causes the client computer to perform the address check by denying permission for the applet to create a network connection with the content server computer if the home site name for the applet is in dotted quad form, the dotted quad form specifying an address, and the address specified in the dotted quad form is not identical to an address for the content server computer.

Assignments (5)
CHANGE OF NAME Recorded Feb 13, 2012
From: SUMISHO COMPUTER SYSTEMS CORPORATION
To: SCSK CORPORATION
Reel/Frame 027694/0372 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2004
From: CURL CORPORATION
To: SUMISHO COMPUTER SYSTEMS CORPORATION
Reel/Frame 014683/0938 →
RELEASE OF SECURITY INTEREST RECORDED 2/26/02 AT REEL 012683, FRAME 0248 Recorded May 21, 2004
From: BAKER COMMUNICATIONS FUND, L.P. AND EQUITY GROUP HOLDINGS III LLC
To: CURL CORPORATION
Reel/Frame 014634/0511 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2002
From: DAVIS, DONALD T.; KRANZ, DAVID A.; MARTIN, ELIZABETH A.
To: CURL CORPORATION
Reel/Frame 012722/0863 →
SECURITY INTEREST Recorded Feb 26, 2002
From: CURL CORPORATION
To: BAKER COMMUNICATIONS FUND, L.P. (AS COLLATERAL AGENT)
Reel/Frame 012683/0248 →
Continuity (2)
Provisional Application 6027882800 · Mar 26, 2001
Related Publication 20020138634A1 · Sep 26, 2002