1. Field of the Invention
The present invention relates to a remote verification system and, more particularly, to such a system that provides users with a secure web browser to access sensitive information on a computer.
2. Description of the Related Art
Several designs for remote verification systems have been designed in the past. None of them, however, include a system using a microcontroller, such as a USB, that when inserted into a computer verifies a user's identity with a server and when authorized with a secure web browser allows the user to access websites that hold confidential data.
Applicant believes that the closest reference corresponds to U.S. patent No. 2007/0061566 issued to Baily et al. The Bailey reference teaches of a server connected to a network using a remote computer that communicates with a USB device through software programs downloaded on the remote computer. However, it differs from the present invention because the present invention uses a secure web browser that is generated and can only be accessed by the user who owns the USB. A secure web browser allows the user to access web pages, such as those for banks, making a payment, on a computer while eliminating the risks associated with data being saved on a computer's local memory and not having to create multiple passwords for different websites. The Bailey reference does not teach or motivate one to develop a specialized system that does not require the use of any programs that may capture a user's data locally. The Bailey reference does not teach of a secure web browser to be accessed by authentication when a user enters a USB into the computer.
The present invention also differs from the Bailey reference because the present invention continuously verifies whether the USB is still plugged into the computer. The Bailey reference does not teach of verifying whether the USB is still plugged into the computer while the user is using the system. This leads to vulnerabilities in the safety and reliability of the system.
Other documents describing the closest subject matter provide for a number of more or less complicated features that fail to solve the problem in an efficient and economical way. None of these patents suggest the novel features of the present invention.
It is one of the main objects of the present invention to provide a system that allows a user to access confidential and personal information on websites using a secure web browser that does not allow any of a user's sensitive information to be stored locally on a computer.
It is another object of this invention to provide a system that continuously authorizes a user during his session using the system.
It is yet another object of this invention to provide such a verification system that is inexpensive to implement and maintain while retaining its effectiveness.
Further objects of the invention will be brought out in the following part of the specification, wherein detailed description is for the purpose of fully disclosing the invention without placing limitations thereon.
With the above and other related objects in view, the invention consists in the details of construction and combination of parts as will be more fully understood from the following description, when read in conjunction with the accompanying drawings in which:
Referring now to the drawings, where the present invention is generally referred to with numeral 10, it can be observed that it basically includes a secure web browser as an executable program or a script within the browser. A USB having a microcontroller is then inserted into the computer. The custom browser sends a random start seed to the USB to start the encryption process.
The microcontroller/key uses an encryption procedure to encrypt data (encrypt data as an OTP, a ‘One Time Password’). The OTP can be automatically generated or can be generated by a user activating a switch connected to the microcontroller within the USB. The present invention's program only needs the encryption for a short time because it will generate a new encrypted code anyway after a short, predetermined time. The encryption code is created using a combination of a random starter seed, long counter, blank time stamp, random data and key ID. The key ID is in the microcontroller of the USB. The encrypted data package is sent to the secure web browser, which then forwards the encrypted data package to the server. The received encrypted data package is then decrypted. The key ID allows the server to retrieve the user's information from the server's database.
The long counter generated by the microcontroller/key is in the server's database when the microcontroller adds one to the long counter, the server uses the long counter from the microcontroller to match it with the long counter it has stored in its database after a one is added to it. This is done until the user ends their session or disconnects the USB. The decrypted data package is re-encrypted and sent back to the secure web browser, which forwards it to the microcontroller inside the USB. The microcontroller decrypts the re-encrypted data packet it received from the secure web browser. If the decrypted data packet matches the key ID in the microcontroller and the long counter in the decrypted packet is correct, then the microcontroller adds the server-originated time stamp into the new data packet created by the microcontroller.
The microcontroller then generates a new random array of integers to include in the new data packet. The microcontroller then adds one to the long counter received from the server and includes it in the new data packet. The microcontroller then adds the key ID to the new data packet. The microcontroller encrypts the newly formed data packet and sends it back to the secure web browser. The secure web browser then sends the newly encrypted data packets to the server.
If the key ID or long counter received by the microcontroller from the server were incorrect, the microcontroller sends a notification packet of invalidity to the secure web browser, which forwards the notification to the server, the server then sends a command back to the secure web browser to initiate exit procedures. Assuming the key ID and the long counter were correct, after the server receives new encrypted data packet from the microcontroller via the secure web browser, the received encrypted data packet is decrypted.
Upon the server receiving the data packet it decrypts the data packet to obtain the associated key ID. Then, the long counter and time stamp are obtained from the newly decrypted data packet. The long counter obtained should now reflect the plus one to the long counter added by the microcontroller. If not, the server sends a notification to the secure web browser of invalidity and exit procedures are commenced.
If the long counter is correct, it is stored in the server's database along with the key ID. The server then generates a new time stamp, matches it with the time stamp sent by the microcontroller and calculates whether the time stamp sent by the microcontroller is within the allowable time frame. In one embodiment, the deviation allowed between time stamps is three seconds. If within the allowable deviation, the server then adds the new time stamp to the new data packet. If outside the allowed time frame, the server sends a notification to the secure web browser of invalidity and exit procedures are commenced.
The server then generates a new random array of integers to replace the old random array of integers. The new random integers are added to the data packet. The long counter and key ID are added to the new data packet.
The foregoing description conveys the best understanding of the objectives and advantages of the present invention. Different embodiments may be made of the inventive concept of this invention. It is to be understood that all matter disclosed herein is to be interpreted merely as illustrative, and not in a limiting sense.
The present application is a continuation-in-part of U.S. patent application Ser. No. 13/279,244, filed on Aug. 26, 2011, which is hereby incorporated by reference. U.S. patent application Ser. No. 13/279,244 is the parent application of provisional application 61/405,643 filed on Oct. 21, 2010 that is also incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
5784463 | Chen | Jul 1998 | A |
6449651 | Dorfman | Sep 2002 | B1 |
6609115 | Mehring | Aug 2003 | B1 |
7093137 | Sato | Aug 2006 | B1 |
7219138 | Straut | May 2007 | B2 |
7260726 | Doe | Aug 2007 | B1 |
7664960 | Clubb | Feb 2010 | B1 |
7979716 | Fiske | Jul 2011 | B2 |
8004491 | Maynard | Aug 2011 | B2 |
8146164 | Eshun | Mar 2012 | B2 |
8176324 | Krishnamurthy | May 2012 | B1 |
8239679 | Lu | Aug 2012 | B2 |
8611544 | Herbach | Dec 2013 | B1 |
20020046353 | Kishimoto | Apr 2002 | A1 |
20020182578 | Rachman | Dec 2002 | A1 |
20040073797 | Fascenda | Apr 2004 | A1 |
20040139182 | Chang | Jul 2004 | A1 |
20050235144 | Jacobs | Oct 2005 | A1 |
20070061566 | Bailey | Mar 2007 | A1 |
20070083540 | Gundla | Apr 2007 | A1 |
20070155204 | Klitsner | Jul 2007 | A1 |
20070180507 | Lu | Aug 2007 | A1 |
20070234064 | Nihei | Oct 2007 | A1 |
20090029771 | Donahue | Jan 2009 | A1 |
20090063626 | Nakagawa | Mar 2009 | A1 |
20090064302 | Colella | Mar 2009 | A1 |
20090187687 | Hulbert | Jul 2009 | A1 |
20090271633 | Cohen | Oct 2009 | A1 |
20100062834 | Ryan | Mar 2010 | A1 |
20100198674 | Boucard | Aug 2010 | A1 |
20100199334 | Ehrensvard | Aug 2010 | A1 |
20100313078 | Burckart | Dec 2010 | A1 |
20100325435 | Park | Dec 2010 | A1 |
20110029433 | Thoo | Feb 2011 | A1 |
20110101093 | Ehrensvard | May 2011 | A1 |
20110119155 | Hammad | May 2011 | A1 |
20110197266 | Chu | Aug 2011 | A1 |
20110265156 | Bombay | Oct 2011 | A1 |
20110321139 | Jayaraman | Dec 2011 | A1 |
20120018506 | Hammad | Jan 2012 | A1 |
20120210119 | Baxter | Aug 2012 | A1 |
20120233684 | Denis | Sep 2012 | A1 |
20120254955 | Suginaka | Oct 2012 | A1 |
20130018979 | Cohen | Jan 2013 | A1 |
20140282945 | Smith | Sep 2014 | A1 |
20140310729 | Chaniotakis | Oct 2014 | A1 |
20150116084 | Yeara | Apr 2015 | A1 |
20150242609 | Zheng | Aug 2015 | A1 |
Number | Date | Country |
---|---|---|
WO 2009025605 | Feb 2009 | SE |
Number | Date | Country | |
---|---|---|---|
20150113273 A1 | Apr 2015 | US |
Number | Date | Country | |
---|---|---|---|
61405643 | Oct 2010 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13279244 | Oct 2011 | US |
Child | 14525206 | US |