SECURE ACCESS TO RESTRICTED RESOURCE
A system may generate an access number, provide the access number to a user via a telephone call, and provide the access number to an authentication server. The system may regulate access by the user to a restricted resource based on the access number provided to the user and the access number provided to the authentication server.
Latest VERIZON PATENT AND LICENSING INC. Patents:
- SYSTEMS AND METHODS FOR PROVIDING DYNAMIC EDGE-BASED MULTICAST AND BROADCAST SERVICE FOR CONTENT PROVIDERS
- SYSTEMS AND METHODS FOR MANAGING A MULTI-OPERATOR RADIO ACCESS NETWORK WITH A SINGLE RADIO UNIT
- SYSTEMS AND METHODS FOR PROVIDING PRIORITIZATION FOR DATA TRANSPORT SERVICES
- SYSTEMS AND METHODS FOR DETECTING FIXED WIRELESS ACCESS CUSTOMER PREMISE EQUIPMENT COVERAGE DURING A PLANNED NETWORK OUTAGE
- SYSTEMS AND METHODS FOR MONITORING INTEGRITY AND RELIABILITY OF A NETWORK OF FIBER CABLES IN REAL-TIME
Many companies use secure devices, like token devices, to regulate access to their restricted resources. A company issues token devices to its employees and/or customers. The token devices generate numbers that change over time (e.g., every 1 minute). The company's server also generates numbers that track the numbers generated by the token devices. The numbers generated by the company's server are synchronized in time with the numbers generated by the token devices.
When a user attempts to gain access to a restricted resource of the company, the user provides the number currently shown on his token device to the company's server and a personal identification number (PIN). The company's server regulates access to the restricted resource based on the user-provided number matching the number it generated, and the user's PIN.
Token devices are expensive. While each token device alone may not be that expensive, it becomes expensive when purchasing token devices for all of a company's employees and/or customers. Also, token devices need to be periodically replaced (e.g., every 3 years). Therefore, token devices become a continuing expense. Further, it becomes impossible for an employee/customer to access the company's restricted resource if the employee/customer loses or forgets his token device.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.
Implementations described herein may facilitate selective access to a restricted resource.
Also, it may be possible for some combination of telephone device 210, service provider server 220, computer device 240, authentication server 250, and/or restricted resource 260 to be implemented within a single device. For example, telephone device 210 and computer device 240 may be implemented as single device, authentication server 250 and restricted resource 260 may be implemented as a single device, and/or computer device 240 and restricted resource 260 may be implemented as a single device.
Telephone device 210 may include any type or form of communication device, such as a cellular telephone, a cordless telephone, a wired telephone, a satellite telephone, a radiotelephone, a smart phone, etc. A user might use telephone device 210 to contact service provider server 220.
Service provider server 220 may include a device, such as a computer system, that is capable of communicating via network 230 and network 270. In one embodiment, service provider server 220 may be implemented as a single device. In another embodiment, service provider server 220 may be implemented as multiple devices that are either co-located or remotely located.
Computer device 240 may include any type or form of computation or communication device, such as a personal computer, a laptop, a personal digital assistant (PDA), etc. A user of computer device 240 may attempt to gain access to restricted resource 260 via authentication server 250. Authentication server 250 may include a device, such as a computer system, that is capable of authenticating a user for selective access to restricted resource 260. In one embodiment, authentication server 250 may permit access to restricted resource 260 based on the access number from service provider server 220. Restricted resource 260 may include any type or form of resource to which access may be controlled, such as a private network (e.g., a company intranet), a device (e.g., a computer, a memory device, or a peripheral), data (e.g., data associated with a user's account or profile), or software (e.g., an email application, a word processing program, or an operating system).
Network 230 may include a telephone network, such as a cellular network, the Public Switched Telephone Network (PSTN), or a combination of networks. Network 270 may include a local area network (LAN), a wide area network (WAN), a telephone network, such as the PSTN or a cellular network, an intranet, the Internet, or a combination of networks. It may be possible for network 230 and network 270 to be implemented as the same network.
Processor 320 may include a processor, microprocessor, or processing logic that may interpret and execute instructions. Main memory 330 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processor 320. ROM 340 may include a ROM device or another type of static storage device that may store static information and instructions for use by processor 320. Storage device 350 may include a magnetic and/or optical recording medium and its corresponding drive.
Input device 360 may include a mechanism that permits an operator to input information to the device, such as a keyboard, a mouse, a pen, voice recognition and/or biometric mechanisms, etc. Output device 370 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface 380 may include any transceiver-like mechanism that enables the device to communicate with other devices and/or systems. For example, communication interface 380 may include mechanisms for communicating with another device or system via a network, such as network 230 or 270.
As will be described in detail below, the device shown in
The software instructions may be read into memory 330 from another computer-readable medium, such as data storage device 350, or from another device via communication interface 380. The software instructions contained in memory 330 may cause processor 320 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Processing may begin with a telephone call being placed to a predetermined telephone number (block 410). For example, a user may enter a telephone number associated with service provider server 220 into telephone device 210, as shown in
The telephone call may be received and the user may be authenticated (blocks 420 and 430). For example, service provider server 220 may identify the user based on unique telephone identifying information associated with telephone device 210, such as caller ID information, International Mobile Subscriber Identity (IMSI) information, or other information unique to telephone device 210. Service provider server 220 may identify the user of telephone device 210 based on user identifying information particular to the user, such as a password or biometric data (e.g., a voice signal). For example, service provider server 220 may request that the user provide the user identifying information and may compare the user identifying information to identifying information previously associated with telephone device 210. It may be possible for multiple users to be associated with the same telephone device 210. In this case, service provider server 220 may use the user identifying information provided by the user to determine whether the user is one of these users and if so, which one.
If the user is not properly authenticated, then the call may be disconnected. If the user is properly authenticated, however, an access number may be provided to telephone device 210 and authentication server 250 (block 440). For example, service provider server 220 may include a hardware or software access number generator that is configured to generate a random string of characters (e.g., any combination of numbers, letters, and/or symbols) of a predetermined length to be used as an access number. In one implementation, the access number may include the user identifying information (or possibly the telephone identifying information) embedded therein. In this case, a random string of characters may be generated and then this string of characters may be modified to embed the user identifying information. The user identifying information may be embedded in a manner known to authentication server 250, such that authentication server 250 is capable of determining the user identifying information from the access number.
It is beneficial that the access number be generated in a non-predictable manner that is not reproducible (e.g., by hacking) The access number may have a certain expiration time (e.g., 1 minute, 5 minutes, 30 minutes, etc.) that indicates when the access number expires. For security purposes, shorter expiration times may be favored over longer expiration times. Also, the access number may be designed for a one-time use, such that the access number may be immediately expired upon use.
Service provider server 220 may send the access number to telephone device 210. In one implementation, service provider server 220 may send the access number in a message for presentation on a display of telephone device 210, as shown in
At some point, authentication server 250 may be contacted (block 450). For example, the user may access a user interface associated with computer device 240 or authentication server 250, as shown in
The access number may be presented to authentication server 250 (block 460). For example, authentication server 250 may request various pieces of information to properly authenticate the user. In one implementation, authentication server 250 may authenticate the user based on the user's user name (e.g., Billy West) and the access number (e.g., 46A9B39P), as shown in
To provide further security, authentication server 250 may authenticate the user based on the user name, the access number, and one or more additional pieces of information, such as a password that is unique to the user, biometric data that is unique to the user, a password that is unique to a group of users (e.g., employees of the same company), an address that is unique to computer device 240 used by the user, or some other information that can uniquely or semi-uniquely identify the user.
The access number may be provided to authentication server 250 in a number of ways. For example, the user might enter the access number using an input device, such as a keyboard. Alternatively, the access number may be transmitted from telephone device 210 to computer device 240 directly or indirectly via a wired or wireless connection.
The user may be authenticated based on the access number (block 470). For example, authentication server 250 may collect information from the user, as described above, and authenticate the user. In one implementation, as described above, authentication server 250 may properly authenticate the user based on the user name and a valid access number. The access number may be considered valid when it matches the access number received from service provider server 220 and the access number is received before it expires. In another implementation, authentication server 250 may use additional information to properly authenticate the user, as described above. Authentication server 250 may immediately expire the access number after use. In this case, if the user were to subsequently attempt to authenticate to authentication server 250 using the same access number, authentication server 250 would not properly authenticate the user because the access number would be identified as invalid.
Selective access to restricted resource 260 may be provided (block 480). For example, if authentication server 250 cannot properly authenticate the user, then authentication server 250 may deny the user access to restricted resource 260. In this case, the user may need to place another call to service provider server 220 to obtain a new access number (e.g., block 410). If authentication server 250 properly authenticates the user, then authentication server 250 may grant the user access to restricted resource 260. In this case, authentication server 250 may send a message to restricted resource 260, or another device that regulates access to restricted resource 260 (e.g., a firewall, a gateway, or the like), to permit access to the user. The user's access to restricted resource 260 may be unlimited (e.g., permit unrestricted access to any part of restricted resource 260) or limited (e.g., permit access to only certain part(s) of restricted resource 260) based on policies associated with restricted resource 260.
In an alternate implementation, the access number provided by service provider server 220 may not include the user identifying information (or telephone identifying information) embedded therein. In this case, authentication server 220 may authenticate the user based on the user name, the access number, and other information unique to the user, such as a password or biometric data.
In yet another implementation, service provider server 220 may authenticate the user based solely on the telephone identifying information. In this case, authentication server 220 may authenticate the user based on the user name, the access number, and other information unique to the user, such as a password or biometric data.
While no authentication server 250 is shown in
Each of restricted resources 710-730 may be configured similar to restricted resource 260, as described with regard to
In this situation, a user may be selectively provided access to any of restricted resources 710-730 using a process similar to that described above with regard to
When a user accesses service provider server 220 to obtain an access number, service provider server 220 may determine with which company, or companies, the user is associated. For example, the user may be a customer of both company A and company B. In this case, when service provider server 220 sends the access number to the user, service provider server 220 may also provide the access number to both companies in anticipation of the user attempting to gain access to a restricted resource associated with one of the companies. Alternatively, service provider server 220 may recognize that the user is associated with multiple companies and ask the user to select one of the companies for which the user is going to subsequently attempt to access a restricted resource.
User device 810 may include any type of communication or computation device, such as a telephone device similar to telephone device 210, a computer device similar to computer device 240, or a device that combines aspects of a telephone device and a computer device. In network 800, user device 810 may be used to not only receive the access number from service provider server 220, but also to use that access number to access restricted resource 260. In other words, user device 810 may contact service provider server 220 to obtain an access number. User device 810 may subsequently contact authentication server 250 and use the access number to gain access to restricted resource 260. In these implementations, no separate telephone device and computer device may be necessary.
Implementations described herein may provide a secure technique for providing a user with access to a restricted resource.
The foregoing description provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
For example, while a series of acts has been described with regard to
Also, while it has been described that a user receives the access number from service provider server 220 via a telephone call, this need not be the case. In another implementation, the user may receive the access number via a text message, such as an instant message or another form of reliable, quick communication.
Further, it has been described that access to a restricted resource is obtained via an authentication server. In another implementation, the service provider server may operate as a proxy server for the restricted resource, such that the user can gain access to the restricted resource through the service provider server.
It will be apparent that systems and methods, as described above, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these systems and methods is not limiting of the invention. Thus, the operation and behavior of the systems and methods were described without reference to the specific software code—it being understood that software and control hardware can be designed to implement the systems and methods based on the description herein.
No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.
Claims
1-23. (canceled)
24. A method comprising:
- authenticating, by a first device, a user of a second device;
- determining, by the first device, that the user is associated with a plurality of entities based on authenticating the user;
- generating, by the first device, access data for providing access to one or more restricted resources associated with one or more of the plurality of entities; and
- sending, by the first device, the access data to the second device and to a third device that is associated with the one or more of the plurality of entities to regulate access to a restricted resource, of the one or more restricted resources.
25. The method of claim 24, further comprising:
- determining first identifying information associated with the second device;
- determining second identifying information associated with the user based on the first identifying information; and
- authenticating the user based on the first identifying information and the second identifying information.
26. The method of claim 25, where generating the access data includes:
- generating a random string of characters; and
- embedding the second identifying information in the random string of characters.
27. The method of claim 24, where information identifying the user is embedded in the access data.
28. The method of claim 24, further comprising:
- receiving, by the first device and from the second device, a selection identifying the one or more of the plurality of legal entities after determining that the user is associated with the plurality of entities, the access data being generated based on receiving the selection.
29. The method of claim 24, where the plurality of entities includes a first entity and a second entity,
- where generating the access data includes: generating the access data for providing access to: a first restricted resource of the first entity, and a second restricted resource of the second entity; and
- where sending the access data includes: sending the access data to the second device, the third device, and a fourth device, the third device being associated with the first entity and the fourth device being associated with the second entity.
30. The method of claim 24, where the plurality of entities includes a first entity and a second entity, and
- where generating the access data includes: generating the access data for providing access to: a first restricted resource of the first entity, and a second restricted resource of the second entity, the third device being associated with the first entity and the second entity.
31. A device comprising:
- a processor to: receive first information from a user device, determine, based on the first information, that the user device is associated with: a first company associated with a first resource, and a second company that is associated with a second resource, generate access data for providing access to the first resource and the second resource based on determining that the user device is associated with the first company and the second company, and transmit the access data to the user device and to one or more third devices that regulate access to the first resource and the second resource.
32. The device of claim 31, where the processor is further to:
- determine, based on the first information, second information that identifies a user associated with the user device, and
- generate the access data based on the first information and the second information.
33. The device of claim 32, where, when generating the access data, the processor is further to:
- generate a random string of data, and
- include at least one of the first information or the second information into the random string of data to generate the access data.
34. The device of claim 31, where, when generating the access data, the processor is further to:
- include at least one of information identifying the user device or information identifying the user into randomized data to generate the access data.
35. The device of claim 31, where the processor is further to:
- determine that the user device is associated with a third company,
- provide information identifying the first company, the second company, and the third company to the user device,
- receive a selection of the first company and the second company from the user device, and
- generate the access data based on receiving the selection.
36. The device of claim 31, where the one or more third devices comprise a network device associated with the first company and the second company.
37. The device of claim 31, where the processor is further to:
- determine, based on the first information, information identifying the user device and information identifying a user of the user device, the access data including one or more of the information identifying the user device or the information identifying the user.
38. A non-transitory computer-readable medium comprising:
- one or more instructions which, when executed by one or more processors, cause the one or more processors to: receive a request for access data from a user device associated with a user, authenticate the user based on receiving the request, determine that the user is associated with a first resource of a first company and a second resource of a second company based on authenticating the user, generate the access data to enable the user to access the first resource and the second resource, and transmit the access data to: the user device, a first device associated with accessing the first resource, and a second device that regulates access to the second resource.
39. The non-transitory computer-readable medium of claim 38, further comprising:
- one or more instructions which, when executed by the processor, cause the processor to: determine first information that identifies the user device based on the request, determine second information that identifies the user based on the first identifying information, authenticate the user based on the first information and the second information, and generate the access data based on authenticating the user.
40. The non-transitory computer-readable medium of claim 38, where the one or more instructions to generate the access data include:
- one or more instructions to: embed information identifying the user into a random string of characters, the access data including the information identifying the user embedded into the random string of characters.
41. The non-transitory computer-readable medium of claim 38, where the one or more instructions to generate the access data include:
- one or more instructions to generate random data, and
- one or more instructions to embed information identifying the user and information identifying the user device into the generated random data.
42. The non-transitory computer-readable medium of claim 38, further comprising:
- one or more instructions which, when executed by the processor, cause the processor to: determine that the user is associated with a third company, provide information identifying the first company, information identifying the second company, and information identifying the third company to the user device, receive, from the user device, a selection of the first company and a selection of the second company, and generate the access data based on receiving the selection of the first company and the selection of the second company.
43. The non-transitory computer-readable medium of claim 38, where the first device and the second device are included in an authentication server associated with the first resource and the second resource.
Type: Application
Filed: May 18, 2012
Publication Date: Sep 13, 2012
Applicant: VERIZON PATENT AND LICENSING INC. (Basking Ridge, NJ)
Inventor: Alexander FINOGENOV (El Dorado Hills, CA)
Application Number: 13/474,966
International Classification: G06F 21/00 (20060101); H04L 9/32 (20060101);