A method including actions of pairing with a mobile device and receiving a user name, a password encrypted with a connector password key, and a public key of the mobile device. Additional actions include providing the password encrypted with the connector password key, receiving the password in a decrypted form, obtaining a pairing key, encrypting the pairing key using the public key, encrypting the password with a local password key, providing the pairing key encrypted using the public key and the password encrypted with the local password key, disconnecting from the mobile device, after disconnecting form the mobile device, reconnecting with mobile device, providing a workstation identification, receiving the user name and the password encrypted with the local password key, decrypting the password encrypted with the local password key, and logging in the user using the user name and the password decrypted with the local password key.
|
1. A method performed by a computer system, the method comprising:
providing, to a mobile device paired with the computer system, a nonce and an identifier for the computer system;
receiving, by the computer system from the mobile device, an encrypted message that was encrypted using a pairing key for the pairing of the computer system and the mobile device, wherein the encrypted message comprises an encrypted form of the nonce, a password encrypted with a password key for the computer system, and an initialization vector that was used to encrypt the password with the password key;
decrypting, by the computer system, the encrypted message using the pairing key for the pairing of the computer system and the mobile device;
verifying, by the computer system, that a nonce decrypted from the encrypted message matches the nonce provided to the mobile device;
in response to successfully decrypting the encrypted message using the pairing key and verifying that the nonce decrypted from the encrypted message matches the nonce provided to the mobile device, decrypting, by the computer system, the encrypted password using (i) the password key and (ii) the initialization vector decrypted from the encrypted message; and
providing, by the computer system, the decrypted password to log-in a user corresponding to the mobile device.
20. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computers of a computer system, cause the one or more computers to perform operations comprising:
providing, to a mobile device paired with the computer system, a nonce and an identifier for the computer system;
receiving, by the computer system from the mobile device, an encrypted message that was encrypted using a pairing key for the pairing of the computer system and the mobile device, wherein the encrypted message comprises an encrypted form of the nonce, a password encrypted with a password key for the computer system, and an initialization vector that was used to encrypt the password with the password key;
decrypting, by the computer system, the encrypted message using the pairing key for the pairing of the computer system and the mobile device;
verifying, by the computer system, that a nonce decrypted from the encrypted message matches the nonce provided to the mobile device;
in response to successfully decrypting the encrypted message using the pairing key and verifying that the nonce decrypted from the encrypted message matches the nonce provided to the mobile device, decrypting, by the computer system, the encrypted password using (i) the password key and (ii) the initialization vector decrypted from the encrypted message; and
providing, by the computer system, the decrypted password to log-in a user corresponding to the mobile device.
11. A system comprising:
a computer system comprising one or more computers; and
one or more computer-readable media storing instructions that, when executed by the one or more computers, cause the one or more computers to perform operations comprising:
providing, to a mobile device paired with the computer system, a nonce and an identifier for the computer system;
receiving, by the computer system from the mobile device, an encrypted message that was encrypted using a pairing key for the pairing of the computer system and the mobile device, wherein the encrypted message comprises an encrypted form of the nonce, a password encrypted with a password key for the computer system, and an initialization vector that was used to encrypt the password with the password key;
decrypting, by the computer system, the encrypted message using the pairing key for the pairing of the computer system and the mobile device;
verifying, by the computer system, that a nonce decrypted from the encrypted message matches the nonce provided to the mobile device;
in response to successfully decrypting the encrypted message using the pairing key and verifying that the nonce decrypted from the encrypted message matches the nonce provided to the mobile device, decrypting, by the computer system, the encrypted password using (i) the password key and (ii) the initialization vector decrypted from the encrypted message; and
providing, by the computer system, the decrypted password to log-in a user corresponding to the mobile device.
2. The method of
4. The method of
5. The method of
6. The method of
7. The method of
8. The method of
receiving, by the computer system from the mobile device, a badge identifier when the mobile device is in proximity to the computer system; and
determining, by the computer system from the mobile device, the badge identifier indicating that the mobile device is paired with the computer system.
9. The method of
broadcasting, by the computer system, a discover identifier; and
receiving, by the computer system from the mobile device, an indication that the mobile device is paired with the computer system.
10. The method of
providing, by the computer system to the mobile device, a request for an optical machine readable representation that may be scanned to perform a log-in operation;
receiving, by the computer system and from the mobile device, the optical machine readable representation; and
displaying, by the computer system, the optical machine readable representation.
12. The system of
14. The system of
15. The system of
16. The system of
17. The system of
18. The system of
receiving, by the computer system from the mobile device, a badge identifier when the mobile device is in proximity to the computer system; and
determining, by the computer system from the mobile device, the badge identifier indicating that the mobile device is paired with the computer system.
19. The system of
broadcasting, by the computer system, a discover identifier; and
receiving, by the computer system from the mobile device, an indication that the mobile device is paired with the computer system.
|
This application is a continuation of U.S. application Ser. No. 14/793,186, filed Jul. 7, 2015, which claims the benefit of U.S. Provisional Application Ser. No. 62/021,463, entitled “WORKSTATION LOG-IN,” filed Jul. 7, 2014. Both of these prior applications are incorporated by reference in their entirety.
This specification generally relates to logging into computers.
Access to computers may be secured by a user name and a password. To access a computer, the computer may require that a user log into the computer by entering a user name associated with a user account and a password associated with the user account. The computer may verify that the user account and password are valid and then log in the user.
In some aspect, the subject matter described in the specification may be embodied in methods that include the actions of pairing with a mobile device and receiving, from the mobile device, a user name, a password encrypted with a connector password key, and a public key of the mobile device. Additional actions include providing, to the server, the password encrypted with the connector password key and receiving, from the server, the password in a decrypted form. Further actions include obtaining a pairing key and encrypting the pairing key using the public key of the mobile device. More actions include encrypting the password with a local password key and providing, to the mobile device, the pairing key encrypted using the public key of the mobile device and the password encrypted with the local password key. Further actions include providing a workstation identification to the mobile device and receiving, from the mobile device, the user name and the password encrypted with the local password key. More actions include decrypting the password encrypted with the local password key and logging in the user using the user name and the password decrypted with the local password key.
Other features may include corresponding systems, apparatus, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices.
The details of one or more implementations are set forth in the accompanying drawings and the description, below. Other potential features and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
Techniques are described for controlling use of credentials and resources that are associated with the credentials. As examples, the credentials may be licenses issued by government organizations (e.g., a license to practice medicine, a driver's license, a passport, a travel visa, etc.), degrees issued by institutes of learning (e.g., a collegiate degree issued by a university), a status denoting membership in a particular group (e.g., a badge of employment issued by a company, a gym membership, etc.), or any type of credential an organization or institute bestows on individuals. A credential may have associated with it one or more resources, such as keys, that a user has been granted by the credential-issuing organization. For example, the keys may enable the user to access physical resources (e.g., opening a door to a secured office, operating an elevator in a building with access-controlled floors, using equipment with restricted access, etc.) or may enable the user to access logical resources (e.g., accessing information stored in a computing device, a computing network, an electronic account, etc.).
In some implementations, a mobile device-based credential management application enables multiple different credential-issuing organizations to use the application to distribute and manage electronic credentials that are issued by the credential-issuing organizations. The credential management application may be hosted by an entity that is separate from the credential-issuing organizations. In an example, the credential management application enables a user to log-in to the application using authentication information for any of the credential-issuing organizations that have issued the user a credential. In addition, other of the credential-issuing organizations can specify whether they trust the credential-issuing organization for which the user used log-in information to log-in to the credential management application, and the credential management application will enable the user to access the user's credentials and/or related resources (e.g., keys) for those credential-issuing organizations that trust the credential-issuing organization for which the user used log-in information to log-in to the credential management application.
As such, the credential management application may facilitate a user having access to different credentials and/or keys that were issued by different credential-issuing organizations, without the user necessarily being required to separately remember and provide authentication information (e.g., username and passwords) for each individual credential-issuing organization. Instead, in some implementations, the user may log-in to the credential management application using authentication information for any one of the different credential-issuing organizations (or using authentication information for the credential management application itself), and may gain access to a variety of credentials and/or keys issued by different organizations that trust that authentication information. In some examples, each credential-issuing organization can indicate different levels of trust for different types of authentication information. Further, in some implementations, the credential management application may be able to handle different types of authentication information and authentication techniques associated with different credential-issuing organizations, even those that are not necessarily part of a single-sign-on network. Thus, the credential management application may provide a flexible and secure environment in which users may more easily access credentials and/or related resources (e.g., keys) issued by different organizations.
In some implementations, the credential management application may use geo-location information (e.g., as provided by the user's client device, or by a third party, etc.) to manage credentials and/or related resources (e.g., keys) based on the location of the user's client device. As an example, the application may make recommendations about which credential issuing organization the user should use to log-in to the credential management application based on the user's location. As another example, if a user attempts to access credentials and/or keys for an organization (or resources belonging to that organization), the credential management application may first verify that the user's physical location corresponds to a geographic region associated with the organization (or resources belonging to that organization) before allowing the user the access the credentials and/or keys.
The workstation 110 may be a computing device that a user wishes to log into to use. For example, the workstation 110 may be a desktop computer running a Windows operating system or an Apple operating system. The workstation 110 may enable a user to log into the workstation 110 by a conventional process of typing in a user name and a password. However, the workstation 110 may additionally or alternatively enable a user to log into the workstation using the mobile device 120. For example, using a mobile device-based credential management application on the mobile device 120. The workstation 110 may display an optical machine readable representation, e.g., Quick Response (QR) code, which the mobile device 120 may scan and use the mobile device-based credential management application to provide a user name and password to log into the workstation 110.
In the system 100, for security purposes, the mobile device 120 may not have access to both a user name and a password. Instead, the mobile device 120 may store the user name but store the password in encrypted form where the mobile device 120 is unable to decrypt the password. Stored passwords may be each encrypted with a connector password key or a local password key associated with the workstation 110. When the mobile device 120 is used to log into a particular workstation for the first time, the mobile device 120 may recognize that the mobile device 120 does not have a password that is encrypted with a local password key for the particular workstation and instead provide the password encrypted with the connector password key.
The particular workstation may provide the password encrypted with the connector password key to the server 130 to decrypt the password. The server 130 may verify that the password should be decrypted and determine the connector to decrypt the password. The server 130 may then provide the password encrypted with the connector password key to the determined connector 140. The connector 140 may decrypt the password and provide the decrypted password to the server 130, which may then provide the decrypted password to the particular workstation. The workstation 110 may then encrypt the password using a local password key for the workstation 110 and provide the password encrypted using the local password key to the mobile device 120.
When the mobile device 120 is later used to log into the particular workstation, the mobile device 120 may provide the password that is encrypted using the local password key so that the particular workstation does not need to involve the server 130 or connector 140 to log-in the user.
User interface 200 may be initially displayed when a user wishes to log into the workstation 110. The user interface 200 may include a QR code that may be scanned by a mobile device. The user interface 200 may also indicate an amount of time that the QR code is valid. For example, the user interface 200 includes a timer that indicates that the particular QR code shown is valid for forty-nine more seconds. Once the timer expires, e.g., reaches zero, a new QR code may be displayed.
User interface 230 may be displayed while the workstation 110 is being paired with a mobile device that scanned the QR code. The user interface 230 may indicate that the pairing is in progress and that the user should wait.
User interface 260 may be displayed once the workstation 110 has successfully paired with the mobile device. The user interface 260 may indicate a mobile device with a particular identifier, e.g., “iPhone5s_ewils.” indicated by the mobile device has been successfully paired with a unique identifier, e.g., “MAC-ewilson” for the workstation 110. The identifiers for the mobile device and the workstation 110 may assure the user that the correct mobile device has been paired with the correct workstation 110.
User interface 300 illustrates that after the mobile device 120 is paired with the workstation 110, Bluetooth access may be on by default. The user may then use Bluetooth to lock and unlock the workstation 110.
User interface 330 illustrates that when Bluetooth access is off, the user may not be able to use Bluetooth for locking or unlocking the workstation 110.
User interface 360 illustrates that a user may be able to remove a mobile device pairing. When the user removes a mobile device pairing, the user may no longer able to log into the workstation 110 using Bluetooth.
User interface 380 illustrates that after a user removes a device pairing the user may select to pair a new device to be brought to the interfaces shown in FIGs. A-C.
The workstation 110, also referred to as “computer,” may generate a random session identifier and transmit a request for a QR code to the server 130. The request for the QR code may include the session identifier and a discover identifier. The discover identifier may correspond with a unique identifier for the workstation 110.
The QR code may only be valid for a predetermined period of time, e.g., five minutes or one minute, from issuance by the server 130 and after the predetermined period of time, the workstation 110 may prompt the server 130 for a new QR code using a new session identifier. In another example, the workstation 110 may prompt the server 130 for a new QR code in response to the user requesting to scan a QR code to log into the workstation 110.
The server 130 may generate the QR code to indicate the discover identifier and the session identifier. The server 130 may provide the QR code to the workstation 110. The workstation 110 may then display the received QR code and use Bluetooth to broadcast the discover identifier.
The mobile device 120 may scan the QR code and determine from the QR code to perform a log-in operation using Bluetooth. In response to determining to perform a log-in operating using Bluetooth, the mobile device 120 may determine that it is receiving from the workstation 110 a Bluetooth broadcast with a discover identifier that matches the discover identifier indicated by the QR code. In response, the mobile device 120 may determine to pair with the workstation 110 and then pair with the workstation 110.
The mobile device 120 may then generate message including the QR code, a user name, a password encrypted with a connector password key, an initialization vector, an organization identifier, a badge identifier, and a public key of the mobile device 120. The connector password key may be a symmetric key to which only the connector 140 has access. The initialization vector may be a random vector that was used by a connector to encrypt the password. The organization identifier may be an identifier of a particular organization for which the mobile device 120 may be used to log-in. The badge identifier may be an identifier of a particular connector for decrypting the password and authenticating the user name and password. The public key of the mobile device 120 may be a public key of a public-private key pair that may be used by the mobile device 120 to sign data.
The mobile device 120 may also generate a signed version of the message using a private key of the public key pair and provide both the message and the signed version of the message to the workstation 110 via Bluetooth.
The workstation 110 may receive the message and the signed version of the message and check that the organization identifier received from the mobile device 120 matches an organizational identifier that the workstation 110 is associated with. If there is a match, the workstation 110 may then provide the session identifier, the message, and the signed copy of the message to the server 130 to the server 130.
The server 130 may check if the QR code included in the message was valid. For example, the server 130 may determine that the server 130 did not receive a previous message including the same QR code and that the QR code is not yet expired. The server 130 may verify that the signed copy of the message matches the message by decrypting the signed copy of the message with the received public key of the mobile device 120. After determining the QR code is valid and verifying the message, the server 130 may determine a connector access token for the user based on the badge identifier and the user name, and determine a connector to decrypt the encrypted password based on the badge identifier.
The server 130 may provide the connector access token for the user, the user name, the encrypted password, and the initialization vector to the determined connector 140. The connector 140 may then verify that the user name matches the connector access token. In response to verifying, the connector 140 may then decrypt the password encrypted using the connector password key with the initialization vector. The connector 140 may then authenticate the user name and password by verifying that the decrypted password is the correct password for the user name. In response to verifying, the connector 140 may provide the unencrypted password to the server 130.
The server 130 may generate a pairing key. The pairing key may be a 256-bit symmetric key that is used for securing communications between a particular paired device, e.g., the mobile device 120, and a particular workstation, e.g., workstation 110. The server 130 may provide the user name, the unencrypted password, the pairing key, and the pairing key encrypted with the mobile device's public key to the workstation 110.
The workstation 110 may generate a local password key and a second initialization vector. The workstation 110 may then encrypt the received unencrypted password using the local password key and the second initialization vector. The workstation 110 may store the pairing key, the user name, and the password key, and may provide the unique identifier for the workstation 110, the pairing key encrypted with the mobile device's 120 public key, the password encrypted with the local password key, and the second initialization vector to the mobile device 120.
The mobile device 120 may decrypt the pairing key using the private key of the mobile device 120 and store the unencrypted pairing key in association with the unique identifier for the workstation 110, the password encrypted with the local password key, and the second initialization vector.
After the mobile device 120 and the workstation 110 are paired, for example, by a Bluetooth connection, and the user requests to log-in via Bluetooth, the workstation 110 may provide the unique identifier for the workstation 110 and a nonce to the mobile device 120. The nonce may be an arbitrary number used in cryptographic communication and may be changed each time the user wishes to log-in. The nonce may ensure authentication by preventing a replay attacks using old nonces.
In response, the mobile device 120 may determine if the mobile device 120 is storing, for the received unique identifier, a pairing key and a corresponding password encrypted with a local password key for the workstation 110 and an initialization vector that was used to encrypt the password.
In response to the mobile device 120 determining that information is stored, the mobile device 120 may then generate a message including the nonce, the user name, the password encrypted with the local password key, and the initialization vector that was used to encrypt the password. The mobile device 120 may also generate a signed version of the message using the pairing key. The mobile device 120 may then provide both the message and the signed message to the workstation 110.
The workstation 110 may receive the message and the signed message and decrypt the signed message to verify that the mobile device 120 signed the message, and verify that the nonce in the message matches the nonce that the workstation 110 provided to the mobile device 120. In response to successful verifications, the workstation 110 may then access the local password key stored for the user name, and decrypt the password using the local password key and the initialization vector in the message. The workstation 110 may then use the user name and decrypted password to log-in the user. If the decryption fails, or if the nonce does not match the value provided earlier, or if the password is incorrect, then log-in does not occur.
Different configurations of the system 100 may be used where functionality of the workstation 110, the mobile device 120, the server 130, and the connector 140 may be combined, further separated, distributed, or interchanged. The system 100 may be implemented in a single device or distributed across multiple devices. For example, the connector 140 may be incorporated in the server 130 so that the functions performed by the connector 140 may instead be performed by the server 130.
The features described can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions of the described implementations by operating on input data and generating output. The described features can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The elements of a computer may include a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the features can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a touchscreen and/or a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
The features can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the computers and networks forming the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as a network described above. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.
Qiao, Yong, Alavi, Ali, Gabriel, Gary, Gehret, John, Du, Xiaochen
Patent | Priority | Assignee | Title |
11343232, | Jul 07 2014 | MICROSTRATEGY INCORPORATED | Workstation log-in |
11520870, | Apr 17 2017 | MICROSTRATEGY INCORPORATED | Proximity-based access |
Patent | Priority | Assignee | Title |
10212136, | Jul 07 2014 | MICROSTRATEGY INCORPORATED | Workstation log-in |
10231128, | Feb 08 2016 | MICROSTRATEGY INCORPORATED | Proximity-based device access |
5812764, | Jan 30 1997 | International Business Machines Corporation | Password management system over a communications network |
6061790, | Nov 20 1996 | Intellisync Corporation | Network computer system with remote user data encipher methodology |
6317829, | Jun 19 1998 | Entrust Corporation | Public key cryptography based security system to facilitate secure roaming of users |
6694431, | Oct 12 1999 | GOOGLE LLC | Piggy-backed key exchange protocol for providing secure, low-overhead browser connections when a server will not use a message encoding scheme proposed by a client |
6720860, | Jun 30 2000 | SNAP INC | Password protection using spatial and temporal variation in a high-resolution touch sensitive display |
7284127, | Oct 24 2002 | TELEFONAKTIEBOLAGET L M ERICSSON PUBL | Secure communications |
7378939, | Mar 30 2004 | Intel Corporation | Method and apparatus for providing proximity based authentication, security, and notification in a wireless system |
7395549, | Oct 17 2000 | Oracle America, Inc | Method and apparatus for providing a key distribution center without storing long-term server secrets |
7400878, | Feb 26 2004 | Malikie Innovations Limited | Computing device with environment aware features |
7418596, | Mar 26 2002 | Cellco Partnership | Secure, efficient, and mutually authenticated cryptographic key distribution |
7424615, | Jul 30 2001 | Apple Inc | Mutually authenticated secure key exchange (MASKE) |
7599493, | Feb 14 2005 | VMware LLC | Asymmetric key pair having a kiosk mode |
7600676, | Dec 26 2006 | Cellco Partnership | Two factor authentications for financial transactions |
7734045, | May 05 2006 | VMware LLC | Multifactor split asymmetric crypto-key with persistent key security |
7979899, | Jun 02 2008 | Microsoft Technology Licensing, LLC | Trusted device-specific authentication |
8286227, | Aug 31 2010 | GOOGLE LLC | Enhanced multi-factor authentication |
8307406, | Dec 28 2005 | AT&T Corp | Database application security |
8327422, | Sep 26 2008 | EMC IP HOLDING COMPANY LLC | Authenticating a server device using dynamically generated representations |
8371501, | Oct 27 2008 | United Services Automobile Association (USAA) | Systems and methods for a wearable user authentication factor |
8423768, | Aug 23 2005 | GIESECKE+DEVRIENT MOBILE SECURITY GMBH | Method for controlling the location information for authentication of a mobile station |
8467770, | Aug 21 2012 | OPTIMA DIRECT, LLC | System for securing a mobile terminal |
8498618, | Jun 22 2009 | OPTIMA DIRECT, LLC | Systems for intelligent authentication based on proximity |
8601602, | Aug 31 2010 | GOOGLE LLC | Enhanced multi-factor authentication |
8621005, | Apr 28 2010 | Tangible Social, LLC | Computer-based methods and systems for arranging meetings between users and methods and systems for verifying background information of users |
8625796, | Nov 30 2012 | OPTIMA DIRECT, LLC | Method for facilitating authentication using proximity |
8711656, | Aug 27 2010 | Verifone Systems, Incorporated; VERIFONE, INC | Sonic fast-sync system and method for bluetooth |
8955081, | Dec 27 2012 | MOTOROLA SOLUTIONS, INC. | Method and apparatus for single sign-on collaboraton among mobile devices |
9075979, | Aug 11 2011 | GOOGLE LLC | Authentication based on proximity to mobile device |
9301139, | Aug 16 2013 | System and method for multifactor authentication and login through smart wrist watch using near field communication | |
9520918, | Dec 16 2011 | Intel Corporation | Login via near field communication with automatically generated login information |
9741033, | Dec 31 2012 | GCOM IP LLC | System and method for point of sale payment data credentials management using out-of-band authentication |
20020180586, | |||
20020194500, | |||
20030046589, | |||
20030065919, | |||
20040203595, | |||
20040243856, | |||
20050044393, | |||
20050221798, | |||
20050268107, | |||
20050269401, | |||
20060083208, | |||
20060242423, | |||
20070061590, | |||
20070130472, | |||
20080016537, | |||
20080052775, | |||
20080250147, | |||
20080289030, | |||
20090093215, | |||
20090313687, | |||
20100031345, | |||
20100063895, | |||
20100120406, | |||
20100275010, | |||
20110081860, | |||
20110169654, | |||
20110221590, | |||
20110314539, | |||
20120066749, | |||
20120272279, | |||
20130041938, | |||
20130159699, | |||
20130173915, | |||
20130237190, | |||
20130268881, | |||
20140040991, | |||
20140062874, | |||
20140067678, | |||
20140108810, | |||
20140164774, | |||
20140173695, | |||
20140189808, | |||
20140273845, | |||
20140298432, | |||
20140304505, | |||
20140330560, | |||
20140337956, | |||
20140366123, | |||
20150074230, | |||
20150121488, | |||
20150135310, | |||
20150178721, | |||
20150270971, | |||
20150302856, | |||
20150310452, | |||
20150319142, | |||
20150350894, | |||
20150358315, | |||
20160192194, | |||
20160267732, | |||
20160378992, | |||
20170237565, | |||
WO2010052669, | |||
WO2010052669, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 25 2014 | ALAVI, ALI | MICROSTRATEGY INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051666 | /0597 | |
Oct 11 2018 | GABRIEL, GARY | MICROSTRATEGY INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051666 | /0597 | |
Nov 19 2018 | DU, XIAOCHEN | MICROSTRATEGY INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051666 | /0597 | |
Dec 03 2018 | GEHRET, JOHN | MICROSTRATEGY INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051666 | /0597 | |
Dec 20 2018 | QIAO, YONG | MICROSTRATEGY INCORPORATED | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 051666 | /0597 | |
Jun 14 2021 | MICROSTRATEGY INCORPORATED | U S BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 056647 | /0687 |
Date | Maintenance Fee Events |
Jan 17 2019 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Oct 18 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Oct 18 2023 | M1554: Surcharge for Late Payment, Large Entity. |
Date | Maintenance Schedule |
Mar 03 2023 | 4 years fee payment window open |
Sep 03 2023 | 6 months grace period start (w surcharge) |
Mar 03 2024 | patent expiry (for year 4) |
Mar 03 2026 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 03 2027 | 8 years fee payment window open |
Sep 03 2027 | 6 months grace period start (w surcharge) |
Mar 03 2028 | patent expiry (for year 8) |
Mar 03 2030 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 03 2031 | 12 years fee payment window open |
Sep 03 2031 | 6 months grace period start (w surcharge) |
Mar 03 2032 | patent expiry (for year 12) |
Mar 03 2034 | 2 years to revive unintentionally abandoned end. (for year 12) |