Abstract:
A person&#39;s smartphone serves as a security token—used variously to establish the user&#39;s authorization, and to test the bona fides of the counter-party system. In one illustrative ATM arrangement, a bank&#39;s computer system and the user&#39;s smartphone share secret information across a network. The smartphone employs this shared secret to generate a corresponding image, which is displayed on its screen. The displayed image is sensed by a camera in the ATM, which sends corresponding data back to the bank computer system. The bank computer system analyzes the received data and responds by sending information to the ATM authorizing a transaction. By such arrangement, authentication of the transaction involves one-way optical communication of visual information between the ATM and the smartphone, and two-way network communication of information between the ATM and the bank computer system. A great number of other features and arrangements are also detailed.

Description:
TECHNICAL FIELD 
       [0001]    The present technology concerns use of smartphones and other mobile devices as security tokens, e.g., in trusted transactions with other systems. 
       Introduction 
       [0002]    With the proliferation of man-machine transactions, it is vitally important for each party to be able to trust the other—to be assured that the counterparty is authentic, and that the transaction is secure. 
         [0003]    A familiar example is a person withdrawing cash from an ATM machine. A plastic card and a four digit PIN code do not comprise a robust security system. (Things were different 40 years ago, when the current ATM usage model was introduced.) 
         [0004]    Moreover, the issue is not simply whether the machine can trust the human; the trustworthiness of the machine should also be questioned. There are increasing reports about false-fronts ATMs and self-service gas pumps, which read data from a user&#39;s bank card and harvest the user&#39;s PIN code—to be repurposed later for fraudulent purposes. 
         [0005]    In accordance with certain embodiments of the present technology, a person&#39;s smartphone serves as a security token—used variously to establish the user&#39;s authorization, and to test the bona fides of the counter-party system. 
         [0006]    In one illustrative arrangement, a bank&#39;s computer system and the user&#39;s smartphone share secret information across a network. The smartphone employs this shared secret to generate a corresponding image, which is displayed on its screen. The displayed image is sensed by a camera in the ATM, which sends corresponding data back to the bank computer system. The bank computer system analyzes the received data and responds by sending information to the ATM authorizing a transaction. By such arrangement, authentication of the transaction involves one-way optical communication of visual information between the ATM and the smartphone, and two-way network communication of information between the ATM and the bank computer system. 
         [0007]    While this example—and most that follow—particularly concern ATM transactions, it will be recognized that this is for purposes of expository convenience. The technology is much more broadly applicable. 
         [0008]    The foregoing and other features and advantages of the present technology will be more readily apparent from the detailed description, which proceeds by reference to the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0009]      FIG. 1  shows various systems involved in an exemplary embodiment of the present technology. 
           [0010]      FIGS. 2 and 3  show flow charts of an illustrative method. 
           [0011]      FIGS. 4 and 5  show flow charts of another illustrative method. 
       
    
    
     DETAILED DESCRIPTION 
       [0012]    An illustrative embodiment  10  that includes certain features of the technology is shown in  FIG. 1 . This embodiment includes a user&#39;s portable system  12 , a target system  14 , and a server computer system  16 . The portable system  12  can comprise, e.g., a smartphone. The target system  14  can comprise, e.g., a bank&#39;s automated teller machine (ATM). The server computer system  16  can comprise a bank computer that helps govern operation of the target system (ATM)  14 . 
         [0013]    The server computer system  16  communicates with the other systems across network connections—shown by solid lines  18   a  and  18   b . The portable system  12  and the target system  14  communicate differently—such as by optical communications (indicated by the dashed arrow). 
         [0014]    In a first particular embodiment, the target system  14  includes a display portion, which presents an image that is sensed by a camera portion of the portable system  12 . In a second particular embodiment, the display and camera portions are reversed, with the portable system  12  including a display portion, which presents an image that is sensed by a camera portion of the target system  14 . 
         [0015]    The first particular embodiment can employ a method such as is detailed in the flowchart of  FIG. 2 . 
         [0016]    In this arrangement, the portable system  12  and the server computer system  16  communicate to share a secret. The secret can comprise, for example, a seed value for a random number generator, from which each system can independently create the same sequence of pseudo random numbers. Alternatively, the secret data can comprise a random number (e.g., 128 bits). In any event, the portable system and the server computer system share some common state information. 
         [0017]    The server  16  then generates watermark data that is dependent on this state information, and provides this information across the network  18   b  to the target system. 
         [0018]    In an exemplary arrangement, this watermark data comprises a plural-bit data payload that is a function of the secret data. For example, it can be an exclusive-OR (XOR) operation between the secret data and a pseudo-random number (PRN-1) generated by the server system for this particular transaction. In another arrangement, this watermark data defines a location mapping function by which other payload data is placed into a watermark pattern, or it comprises a cryptographic key that is necessary to decode payload information encoded into the watermark. 
         [0019]    The target system  14  receives this information from the server system and uses it to generate a digitally watermarked image that it presents using the display of the target system. The host image into which the digital watermark is encoded can be a static image (e.g., a bank logo) or it can be an image that varies over time, or with different users. (For example, it can be a SiteKey image that the user earlier selected to denote that user&#39;s account.) When watermarked, this image becomes effectively serialized, or unique—and serves as a one-time authentication component of the transaction between the user and the target system. 
         [0020]    (In a variant arrangement, the target system  14  does not generate a watermarked image. Instead, this operation is performed by the server system  16 , which transmits the watermarked image to the target system for display.) 
         [0021]    Continuing with the right half of  FIG. 2 , the portable system  12  senses the image from the target system using a camera arrangement. The resulting image data is then processed to generate authentication information—by applying the secret data (or a derivative thereof) in some manner. 
         [0022]    In one particular example, in which the watermark payload comprises the secret data XOR&#39;d with the pseudo-random number PRN-1 generated by the server system, the processing by the portable system  12  includes decoding the watermark payload, and then XOR&#39;ing it with the secret data. If the same secret data was used by both the server system and the portable system, then this operation should reverse the XOR&#39;ing by which the watermark payload data was generated, and yield as output the original PRN-1 number. Authentication information (e.g., the original PRN-1) number is then sent to the server  16 . 
         [0023]    When the server  16  receives this authentication information, it confirms to the server that it and the portable system share the same secret data. Based on such confirmation, the server system  16  then issues information to the target system  14  authorizing it to operate in a prescribed manner. In the case of an ATM, for example, the server  16  authorizes the ATM to conduct banking transactions with the user. (The server can also send information to the portable system, confirming that the portable system has been authenticated successfully.) 
         [0024]    The particulars of the just-detailed process, of course, are exemplary only. For example, the mapping function by which the portable system  12  operates on the secret data and the watermark payload data to yield the authentication information, can take a great variety of forms different than the simple XOR&#39;ing arrangement detailed. 
         [0025]      FIG. 3  is another illustration of this arrangement.  FIG. 3  starts with a user (portable system) authentication process on a web site. Such processes are familiar to artisans and so are not belabored here. (They commonly involve a user entering a user name and password at a web site. In some implementations, the password is changed occasionally and is provided to the user through a channel different than the web site, e.g., a key fob that provides a password that changes with time.) Following such authentication, the server sets its state to a known value, and shares associated state information with the user&#39;s portable system (here, a smartphone). 
         [0026]    The server next sends watermark payload information to the target system (e.g., ATM). This payload information uniquely corresponds to the state information shared by the smartphone and server. 
         [0027]    The smartphone reads the watermark payload from imagery displayed by the ATM, applies its knowledge of the state information to the payload, and reports the results (“authentication key”) back to the server. 
         [0028]    The server then checks that the authentication data received from the smartphone corresponds—in an expected manner—with key information known only to the server. Upon confirming this fact, the server then communicates with the ATM, authorizing the user&#39;s transaction. 
         [0029]    Also shown in  FIG. 3  is that, upon concluding the just-detailed transaction, the server updates its state information (i.e., to STATE  1  at the bottom of  FIG. 3 ). This can be done, for example, by producing a next pseudo-random number in a series defined by a seed value. The process then repeats as before, with this state information shared with the smartphone, and a watermark displayed by the ATM that corresponds to this state information, etc. 
         [0030]    As noted earlier, the portable system and the target system are linked optically, by display and image sensor. While the just-described embodiment described the portable system as including the camera, the portable system can instead include the display (and the target system can include the image sensor). The latter arrangement can be used, e.g., for access control applications—such as a building door lock, or an airline boarding gate. Such a method is shown in the flowchart of  FIG. 4 . 
         [0031]    This arrangement starts as before, with the portable system  12  and the server computer system  16  sharing state information. Using this state information, the portable system  12  generates a digitally-watermarked image, and displays it for reading by the target system  14 . 
         [0032]    The target system senses the image presented by the portable system. A digital watermark decoding operation then follows. (This operation can be performed by the target system, or image-related data can be sent to the server computer, which can perform the decoding operation.) Information resulting from the watermark decoding operation is then authenticated at the server computer  16 , by reference to the secret data—such as detailed above. If the result of the watermark decoding operation is as-expected (based on the server state data), then the server issues a communication to the target system authorizing a transaction with the user. 
         [0033]      FIG. 5  is similar to  FIG. 3 , but illustrates the process in which the target system senses—rather than presents—the watermarked image. 
         [0034]    It will be recognized that the detailed arrangements are not based on the security of the watermark. Even if the watermark technology is hacked, and an attacker is able to encode and/or decode watermarks of the variety used, this information does not threaten system security because authentication also requires knowledge of the shared state information. 
       Concluding Comments 
       [0035]    Having described and illustrated principles of the technology with reference to illustrative embodiments, it will be recognized that the technology can be implemented in many other, different, forms. 
         [0036]    For example, in one variant, the user presents a physical credential (e.g., a card with a magnetic stripe, RFID chip, or other identifier, or a dongle, etc.) to the target system  14 , to serve as a partial transaction authorization. The target system reports this encounter to the server  16 , which then synchronizes state information with the portable system of the thereby-identified user, and otherwise continues as detailed herein. 
         [0037]    In another variant, the process starts by the target system  14  sensing a watermarked image presented by the portable system  12 . The watermark data is decoded (by the target system or the server system) and serves to identify the user who wishes to engage the target system in a transaction. The server  16  then synchronizes state information with that user&#39;s portable system, and otherwise continues as detailed herein. 
         [0038]    As noted, while the illustrative embodiments discussed target system  14  as an ATM, any system can be used as the target system. For example the target system can comprise a web browser. The web browser may be used exclusively by one user, or it may be on a system that is accessed by multiple users (in which case cookie data can store information unique to particular users). 
         [0039]    Moreover, the target system  14  needn&#39;t be distinct from the computer system  16 . For example, the target system may comprise a secure web browser running in an environment hosted by the computer system  16 . 
         [0040]    Likewise, the portable system  12  needn&#39;t be a smartphone. It can comprise a laptop, tablet, headworn- or other wearable-apparatus, etc. 
         [0041]    While in the detailed arrangements, the state information is shared from the server computer system  16  to the portable system  12 , in other embodiments the state information can be shared from the portable system to the server computer system. 
         [0042]    Reference was repeatedly made to use of the shared state information. It will be recognized that different derivatives of such information can be shared or utilized on the different systems. Provided such derivatives yield information that can be cross-checked for authentication, then such variants are suitable for use in the detailed system. 
         [0043]    Consider public key cryptography. In the FIG.  2 / FIG. 3  arrangement, the server system  16  may provide, to the portable system  12 , state information that is encrypted with the server&#39;s private key. This information can be used in its encrypted form, or it can be decrypted by the portable system using the server&#39;s public key. Encrypted information can similarly provide the basis for the watermark encoded in the image presented by the target system. 
         [0044]    In similar fashion, all of the information exchanged between the illustrated systems can be encrypted with one key of a public key cryptography system, and decrypted with the second key. 
         [0045]    Although not particularly detailed, it will be recognized that the various network communications involved in the foregoing transactions are desirably secured using one or more known technologies. Examples include Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols. 
         [0046]    While presentation of imagery is commonly done by flat panel display panel, it will be recognized that other arrangements can be used—such as through use of projection displays. 
         [0047]    The secret information (state information) that is shared between the server and the portable system can be derived algorithmically from location information for one of the systems, and/or from time information. 
         [0048]    In some other embodiments, digital watermarking is not used. Instead, other optical communication arrangements are employed—such as presentation and sensing of a barcode pattern, recognition of displayed text, etc. 
         [0049]    Other features and arrangements can also be included in embodiments of the present technology. A partial listing follows: 
         [0050]    To prevent “man in the middle” (MITM) attacks, the computer can be used merely as a relay device. A watermark, e.g., on a web page, simply identifies the address of the browser on the machine. Only phone authenticates the user via the server. The watermark payload on the computer is non-specific to a user—the login happens purely through the phone—preventing MITM &amp; phishing attacks 
         [0051]    The website can display the image on a phone to prevent phishing attack—the same image is displayed on website during login process. 
         [0052]    An alternative email ID of the user can be another authentication channel. 
         [0053]    The mobile user can use a second password to sign the watermark. This may comprise a alphanumeric password or a printed watermarked image. 
         [0054]    A similar protocol can be implemented using the smartphone compass/accelerometer/headphone jack/GPS location (e.g., user walks in a pre-determined route) for data transfer instead of a watermark. The first two limit the communication from the device to the smartphone only. 
         [0055]    An audio watermark may be used instead of an image. 
         [0056]    Watermarked images can be combined with Captchas (e.g., a watermarked image also depicts a Captcha). In such arrangement, the user has to identify the Captcha information and the device reads the watermark. 
         [0057]    The transactions can additionally be conditioned upon the GPS location of the user. 
         [0058]    A watermark payload and a shared key (between phone and server) can be combined into an alphanumeric password which the user enters into the computer/terminal to gain access. 
         [0059]    The user may initiate a session with the server using the mobile phone; the server responds with a watermarked image that contains a one-time password. The user inputs this password to gain access, but since the password cannot be re-used, it provides protection in case the device/terminal is compromised. 
         [0060]    A biometric (fingerprint/face/Iris/voice) reader can be added for extra security. 
         [0061]    The design of smartphones and other computer systems referenced in this disclosure is familiar to the artisan. In general terms, each includes one or more processors (e.g., of an Intel, AMD or ARM variety), one or more memories (e.g. RAM), storage (e.g., a disk or flash memory), a user interface (which may include, e.g., a keypad, a TFT LCD or OLED display screen, touch or other gesture sensors, a camera or other optical sensor, a compass sensor, a 3D magnetometer, a 3-axis accelerometer, a microphone, etc., together with software instructions for providing a graphical user interface), interconnections between these elements (e.g., buses), and an interface for communicating with other devices (which may be wireless, such as GSM, CDMA, W-CDMA, CDMA2000, TDMA, EV-DO, HSDPA, WiFi, WiMax, mesh networks, Zigbee and other 802.15 arrangements, or Bluetooth, and/or wired, such as through an Ethernet local area network, a T-1 internet connection, etc.). 
         [0062]    More generally, the processes and system components detailed in this specification may be implemented as instructions for computing devices, including general purpose processor instructions for a variety of programmable processors, including microprocessors, graphics processing units (GPUs, such as the nVidia Tegra 4), digital signal processors (e.g., the Texas Instruments TMS320 series devices), etc. These instructions may be implemented as software, firmware, etc. These instructions can also be implemented to various forms of processor circuitry, including programmable logic devices, FPGAs (e.g., Xilinx Virtex series devices), FPOAs (e.g., PicoChip brand devices), and application specific circuits—including digital, analog and mixed analog/digital circuitry. Execution of the instructions can be distributed among processors and/or made parallel across processors within a device or across a network of devices. 
         [0063]    Software instructions for implementing the detailed functionality can be readily authored by artisans, from the descriptions provided herein, e.g., written in C, C++, Visual Basic, Java, Python, Tcl, Perl, Scheme, Ruby, etc. In addition, libraries that allow mathematical operations to be performed on encrypted data can be utilized to minimize when and how sensitive information is stored in clear-text. Smartphones according to the present technology can include software modules for performing the different functions and acts. 
         [0064]    Commonly, each of the noted systems includes operating system software that provides interfaces to hardware resources and general purpose functions, and also includes application software which can be selectively invoked to perform particular tasks desired by a user. Known browser software, communications software, and media processing software can be adapted for many of the functions detailed herein. Software and hardware configuration data/instructions are commonly stored as instructions in one or more data structures conveyed by tangible media, such as magnetic or optical discs, memory cards, ROM, etc., which may be accessed across a network. Some embodiments may be implemented as embedded systems—special purpose computer systems in which the operating system software and the application software is indistinguishable to the user (e.g., as is commonly the case in basic cell phones). The functionality detailed in this specification can be implemented in operating system software, application software and/or as embedded system software. 
         [0065]    Some of the applicant&#39;s previous work relates to the present technology and is detailed in U.S. Pat. Nos. 6,590,996, 8,103,877, published application 20100150434, and in pending application Ser. No. 13/978,108, filed Oct. 12, 2012, and Ser. No. 13/792,764, filed Mar. 11, 2013. 
         [0066]    In the interest of conciseness, the myriad variations and combinations of the described technology are not cataloged in this document. Applicant recognizes and intends that the concepts of this specification can be combined, substituted and interchanged—both among and between themselves, as well as with those known from the cited prior art. Moreover, it will be recognized that the detailed technology can be included with other technologies—current and upcoming—to advantageous effect. 
         [0067]    To provide a comprehensive disclosure, while complying with the statutory requirement of conciseness, applicant incorporates-by-reference each of the documents referenced herein. (Such materials are incorporated in their entireties, even if cited above in connection with specific of their teachings.) These references disclose technologies and teachings that can be incorporated into the arrangements detailed herein, and into which the technologies and teachings detailed herein can be incorporated. The reader is presumed to be familiar with such prior work.