CROSS-REFERENCE TO RELATED PATENT APPLICATIONSThis patent application claims the priority benefit of and is a divisional of U.S. patent application Ser. No. 13/895,155 filed May 15, 2013, entitled “Dual Device System for Secure Transactions”, which patent application in turn claims the priority benefit of and is a continuation-in-part of U.S. patent application Ser. No. 13/444,551 filed Apr. 11, 2012, entitled “A Method, Device and System for Secure Transactions” (now U.S. Pat. No. 8,453,223 issued May 28, 2013); and the instant patent application also claims the priority benefit of International patent application serial number PCT/US2013/036035 filed Apr. 10, 2013; all of these previously-filed patent applications are hereby incorporated by reference in their entireties into the present patent application.
This “transition” application filed after Mar. 16, 2013 contains a claim to a claimed invention that has an effective filing date on or after Mar. 16, 2013.
FIELD OF THE INVENTIONThis invention relates to secure smart devices and their communication systems. More particularly, the invention relates to a two-device system, including a SmartDevice102 and a versatile SPARCSecurity Device104, for performing authentication and secure communication.
BACKGROUND ARTThe following background information may present examples of specific aspects of the prior art (e.g., approaches, facts, or common wisdom) that, while expected to be helpful to further educate the reader as to additional aspects of the prior art, is not to be construed as limiting the present invention, or any embodiments thereof, to anything stated or implied.
By way of educational background, some aspects of the prior art generally useful to be aware of are that techniques built into smart devices to provide security may include, for example, a biometric sensor built into a smart card; a smart device application program can encrypt the message content from the smart device to its controlling institution; and certain applications can be accessed by PINs (Personal Identification Numbers).
Another aspect of the prior art generally useful to be aware of is that some prior art may use key ring devices for assorted security or operational requirements, for example, a key ring device that computes a onetime password synchronized with a central site computer, and a key ring device used to convert wireless transmission to a second type of signal.
Mobile communication devices increasingly are used for performing operations associated with privileged access, such as financial transfers of funds. A lost, stolen, and/or compromised unsecured mobile communication device may result in significant harm to users and/or institutions. If the device is lost or stolen, the security device may be successfully manipulated by a thief, the communications may be overheard by unwanted people, and fraudulent downloads may be made.
In view of the foregoing, it is clear that these traditional techniques are not perfect and leave room for more optimal approaches.
DISCLOSURE OF INVENTIONMethods and systems for operating a SmartDevice102 with a secure communication system. A SPARC Security Device (SSD)104 is in communication with one or moreSmart Devices102. SSD104 receives a request for a transaction from aSmart Device102 executing an application obtained from an Application Controlling Institution (ACI)101, and is asked to verify the validity of the transaction. A user of SSD104 is then alerted. A one-time identifier (SSD ID, which replaces the user's account number) is generated by the SPARCSecurity Device104. The one-time identifier comprises aunique SSD104 unit identifier and a one-time transaction number; and optionally comprises a date, a time, anACI101 identifier, and a subject matter field. The one-time identifier is communicated to the SmartDevice102, where the application verifies the validity of the SPARCSecurity Device104 identifier, and instructs the SmartDevice102 to forward the one-time identifier (SSD ID) and the transaction itself to theApplication Controlling Institution101 for processing. The Application Controlling Institution101 verifies the validity of the one-time identifier (SSD ID), including the one-time transaction number; and, if valid, securely processes the transaction, advances the transaction number, and sends a return message toSD102 and SSD104. In a Loyalty Application, an ACIRD81 stores on behalf of participating entities an accounting of at least one of inducements, rebates, loyalty points, and rewards earned by or attributable to users of SD's102, and communicates with the SD's102 and with the associated ACI(s)101 and SSD(s)104.
BRIEF DESCRIPTION OF THE DRAWINGSThe present invention is illustrated by way of example, and not by way of limitation, in the accompanying drawings, in which like reference numerals refer to similar elements.
FIG. 1 is a block diagram of an example of a communication system, in accordance with an embodiment of the present invention;
FIG. 2 is an elevational view of an exemplarySPARC Security Device104 ofFIG. 1, in accordance with an embodiment of the present invention;
FIG. 3 is a block/flow diagram of an exemplary method for using the communication system described with reference toFIGS. 1 and 2, in accordance with an embodiment of the present invention;
FIGS. 4A through 4C constitute a flow diagram illustrating an example of a method for using the communication system as described with reference toFIGS. 1-3, in accordance with an embodiment of the present invention;
FIG. 5 is a block diagram depicting a conventional client/server communication system, over which the present invention can operate;
FIG. 6 is a block diagram of a typical computer system that, when appropriately configured or designed, can serve as acomputer system600 in which the present invention may be embodied; and
FIGS. 7A and 7B constitute a flow diagram illustrating an example of a method for using the communication system as described with reference toFIGS. 1-3, in accordance with an embodiment of the present invention.
FIGS. 8A through 8D are block and flow diagrams illustrating the use ofSSD104 and an ACIRD (ACI Response Device)81 in an Industrial Application.
Unless otherwise indicated, illustrations in the Figures are not necessarily drawn to scale.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTSEmbodiments of the invention are discussed below with reference to the Figures. However, those skilled in the art will readily appreciate that the detailed description given herein with respect to these Figures is for explanatory purposes only, as the invention extends far beyond these limited embodiments. For example, it should be appreciated that those skilled in the art will, in light of the teachings of the present invention, recognize a multiplicity of alternate and suitable approaches, depending upon the needs of the particular application, to implement the functionality of any given detail described herein, beyond the particular implementation choices in the following embodiments that are described and illustrated. There are numerous modifications and variations of the invention that are too numerous to be listed, but that fit within the scope of the invention.
It is to be further understood that the present invention is not limited to the particular methodology, compounds, materials, manufacturing techniques, uses, and applications described herein, as these may vary. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to limit the scope of the present invention.
Singular words should be read as plural and vice versa, and masculine as feminine and vice versa, where appropriate. Alternative embodiments do not necessarily imply that the two or more embodiments are mutually exclusive.
As used in this specification including claims, the singular forms “a,” “an,” and “the” include the plural reference, unless the context clearly indicates otherwise. Thus, for example, a reference to “an element” is a reference to one or more elements, and includes equivalents thereof known to those skilled in the art. Similarly, as another example, a reference to “a step” or “a means” is a reference to one or more steps or means, and may include sub-steps and subservient means. All conjunctions used are to be understood in the most inclusive sense possible. Thus, the word “or” should be understood as having the definition of a logical “or” rather than a logical “exclusive or”, unless the context clearly indicates otherwise. Structures described herein are to be understood also to refer to functional equivalents of such structures. Language that may be construed to express approximation should be so understood, unless the context clearly indicates otherwise.
Unless defined otherwise, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art to which this invention belongs. Preferred methods, techniques, devices, and materials are described, although any methods, techniques, devices, or materials similar or equivalent to those described herein may be used in the practice or testing of the present invention. Structures described herein are to be understood also to refer to functional equivalents of such structures.
From reading the present disclosure, other variations and modifications will be apparent to persons skilled in the art. Such variations and modifications may involve equivalent and other features which are already known in the art, and which may be used instead of or in addition to features already described herein.
Although claims in this application have been formulated to particular combinations of features, it should be understood that the scope of the disclosure of the present invention also includes any novel feature or any novel combination of features disclosed herein, either explicitly or implicitly or any generalization thereof, whether or not it relates to the same embodiment as presently claimed in any claim, and whether or not it mitigates any or all of the same technical problems as does the present invention.
Features which are described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination. Applicants hereby give notice that new claims may be formulated to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.
References to “one embodiment,” “an embodiment,” “example embodiment,” “various embodiments,” etc., indicate that the embodiment(s) of the invention so described may include a particular feature, structure, or characteristic, but do not imply that every embodiment necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase “in one embodiment,” or “in an exemplary embodiment,” do not necessarily refer to the same embodiment, although they may.
As is well known to those skilled in the art, many careful considerations and compromises typically must be made when designing for the optimal manufacture of a commercial implementation of any system, and in particular, the embodiments of the present invention. A commercial implementation in accordance with the spirit and teachings of the present invention may be configured according to the needs of the particular application, whereby any aspect(s), feature(s), function(s), result(s), component(s), approach(es), or step(s) of the teachings related to any described embodiment of the present invention may be suitably omitted, included, adapted, mixed and matched, improved, and/or optimized by those skilled in the art, using their average skills and known techniques, to achieve the desired implementation that addresses the needs of the particular application.
In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not necessarily intended as synonyms for each other. Rather, in particular embodiments, “connected” may be used to indicate that two or more elements are in direct physical or electrical contact with each other. “Coupled” may also mean that two or more elements are in direct physical or electrical contact. However, “coupled” may mean that two or more elements are not in direct contact with each other, but yet still cooperate or interact with each other in some known or unknown manner.
A “computer” (or “Smart Unit”) or “computing device” refers to one or more apparati and/or one or more systems that are capable of accepting a structured input, processing the structured input according to prescribed rules, and producing results of the processing as output. Examples of a “computer” include: a stationary and/or portable computer; a non-portable computer; a computer having a single processor, multiple processors, or multi-core processors, which may operate in parallel and/or not in parallel; a general purpose computer; a supercomputer; a mainframe; a super mini-computer; a mini-computer; a workstation; a micro-computer; a server; a client; an interactive television; a Web appliance; a telecommunications device with Internet access (e.g., a Smartphone or other smart device); a hybrid combination of a computer and an interactive television; a tablet personal computer (PC); a personal digital assistant (PDA); a portable telephone; application-specific hardware to emulate a computer and/or software, such as, for example, a digital signal processor (DSP), a field-programmable gate array (FPGA), an application specific integrated circuit (ASIC), an application specific instruction-set processor (ASIP), a chip, chips, a system on a chip, or a chip set; a data acquisition device; an optical computer; a quantum computer; a biological computer; and generally, an apparatus that may accept data, process data according to one or more programs, generate results, typically including input, output, storage, arithmetic, logic, and control units.
“Software” or “program” refers to prescribed rules to operate a computer. Examples of software include: code segments in one or more computer-readable languages; graphical and or/textual instructions; applets; pre-compiled code; interpreted code; compiled code; applications; and computer programs.
A “computer-readable medium” refers to any storage device used for storing data accessible by a computer. Examples of a computer-readable medium may include: a magnetic hard disk; a floppy disk; an optical disk, such as a CD-ROM or a DVD; a magnetic tape; a flash memory; a memory chip; and any other type of media that can store machine-readable instructions thereon.
A “non-transitory computer readable medium” includes, but is not limited to, a hard drive, compact disc, flash memory, volatile memory, random access memory, magnetic memory, optical memory, semiconductor based memory, phase change memory, optical memory, periodically refreshed memory, and the like; a “non-transitory computer readable medium” does not include a pure transitory signal per se.
A “computer system” refers to a system having one or more computers, where each computer may include a computer-readable medium embodying software to operate the computer or one or more of its components. Examples of a computer system include: a distributed computer system for processing information via computer systems linked by a network; two or more computer systems connected together via a network for transmitting and/or receiving information between or among the computer systems; a computer system including two or more processors within a single computer; and one or more apparati and/or one or more systems that accept data, process data in accordance with one or more stored software programs, and generate results, typically including input, output, storage, arithmetic, logic, and control units.
A “network” refers to a number of computers and associated devices that are connected by communication facilities. A network may involve permanent connections such as cables or temporary connections, e.g., those made through telephone or other communication links. A network may further include hard-wired connections (e.g., coaxial cable, twisted pair, optical fiber, waveguides, etc.) and/or wireless connections (e.g., radio frequency waveforms, free-space optical waveforms, acoustic waveforms, etc.). Examples of a network include: an internet, such as the Internet; an intranet; a local area network (LAN); a wide area network (WAN); and a combination of networks, such as an internet and an intranet.
Exemplary networks may operate with any of a number of protocols, such as Internet Protocol (IP), asynchronous transfer mode (ATM), synchronous optical network (SONET), user datagram protocol (UDP), IEEE 802.x, etc.
Embodiments of the present invention may include apparati for performing the operations disclosed herein. An apparatus may be specially constructed for the desired purposes, or it may comprise a general-purpose device selectively activated or reconfigured by a program stored in the device.
Embodiments of the invention may be implemented in one or a combination of hardware, firmware, and/or software. They may be implemented as instructions stored on a machine-readable medium, which may be read and executed by a computing (or smart) platform to perform the operations described herein.
In the following description and claims, the terms “computer program medium” and “computer readable medium” may be used to generally refer to one or more media such as, but not limited to, a removable storage drive, a hard disk installed in a hard disk drive, and the like. These computer program products may provide software to a computer system. Embodiments of the invention may be directed to such computer program products.
An algorithm (or application) is here, and generally, considered to be a self-consistent sequence of acts or operations leading to a desired result. These acts or operations include physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It is convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like. It should be understood, however, that all of these and similar terms are to be associated with the appropriate physical quantities, and are merely convenient labels applied to these quantities.
Unless specifically stated otherwise, and as may be apparent from the following description and claims, it should be appreciated that throughout the specification, descriptions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission, or display devices.
In a similar manner, the term “processor” may refer to any device or portion of a device that processes electronic data from registers and/or memory to transform that electronic data into other electronic data that may be stored in registers and/or memory. A “computing platform” may comprise one or more processors.
Some embodiments of the present invention will be described which provide means and methods for a secure communication system. Secure communication systems include aSmart Device102 with applications for communicating and interacting with aSPARC Security Device104, a communication system that enables secure communications between aSPARC Security Device104 and external entities to secure a communication system. Secure communication protocols use a transaction identifier for protecting transmitted and received return information.
The system will now be described in detail with reference toFIGS. 1 through 8.
FIG. 1 is a block diagram of an example of a communication system in accordance with an embodiment of the present invention.
Communication system100 includes an Application Controlling Institution (ACI)101, a Smart Device (SD)102, and a SPARC (Smart Process for Applications and Remote Control) Security Device (SSD)104. The SPARC Security device (SSD)104 is provided by the Application Controlling Institution (ACI)101 to a customer when the customer orders his or her first ACI controlled application. Alternatively,SSD104 may be provided by a third party as an industry service. TheSSD104 is configured to match the communications protocol used by the customer's Smart Device (SD)102. At the time ofSSD104 installation, theACI101 provides the initial data load of theSSD104, including an assigned unique SSD number, current date, current time, and an initial transaction number (TN).
Application Controlling Institution (ACI)101 communicates bi-directionally with Smart Device (SD)102 via acommunication channel108. Smart Device (SD)102 communicates bi-directionally with SPARC Security Device (SSD)104 via acommunication channel106. Non-limiting examples forcommunication channels106 and108 include wireless, wired, and Universal Serial Bus (USB) channels.Channels106 and/or108 can comprise optical communications, e.g., in the form of a QR code. The optical communications do not have to be in a visible wavelength.
Application Controlling Institution (ACI)101 receives, transmits, and processes information. As non-limiting examples, Application Controlling Institution (ACI)101 may be a financial institution, an independent service, or an industry group such as MasterCard or VISA.
Smart Device (SD)102 receives, transmits, and processes information. Examples ofSmart Devices102 include smart phones, cellular phones, tablet computers, tokens, automated teller machines (ATM), point of sale (POS) devices, transaction devices, networks such as those belonging to Visa and MasterCard, and PayPal.
SPARC Security Device104 receives, transmits, and processes information.SSD104 can have multiple controls for communicating with multiple ACI's101.SPARC Security Device104 communicates information to its human user via anindicator portion116, and receives information from the user via a button and/orsensor portion110. As a non-limiting example,sensor110 may comprise a biometric sensor, such as a fingerprint reader.
SPARC Security Device104 also includes amemory portion112, aprocessor portion114, acommunication portion118, and apower supply portion120.
Processor portion114 receives information from button/sensor portion110 via acommunication channel122, and is adapted to signal agreement with the transaction.Processor portion114 communicates bi-directionally withmemory portion112 via acommunication channel124.Indicator portion116 receives information fromprocessor portion114 via acommunication channel126.Processor portion114 communicates bi-directionally withcommunication portion118 via acommunication channel128.Power supply portion120 provides power to button/sensor portion110,memory portion112,processor portion114,indicator portion116, andcommunication portion118, via apower supply bus130.
Button/sensor portion110 accepts receipt of digital information (e.g. “on”/“off”) and/or analog sensor information from the user. Non-limiting examples for configuration of button/sensor portion110 include a biometric sensor and an actuating button.
Memory portion112 receives, stores, and retrieves information. Non-limiting examples of information stored include operational codes and data.
Processor portion114 provides, receives, transmits, and processes information. Non-limiting examples of information received, transmitted, and processed include operational codes and data.
Indicator portion116 provides capability for communicating information to the user. As a non-limiting example,indicator portion116 may comprise a Light Emitting Diode (LED) or any other visual indicator, an audible alarm, and/or a vibrator.
Communication portion118 provides capability for receiving and transmitting information toSmart Device102. Non-limiting examples for communication provided viacommunication portion118 include wired and wireless communication.
Power supply portion120 provides power for powering the components ofSSD104. Non-limiting examples forpower supply portion120 include a rechargeable or other battery and an array of solar cells.
SPARC Security Device104 constitutes a communication and processing device for creating a secure, identifiable transaction message to an institution101 (e.g., bank or other financial institution).SPARC Security Device104 can be configured for generating a one-time identifier (“SSD ID”).SPARC Security Device104 can operate to initiate an action via another device, such as one ormore Smart Devices102.SPARC Security Device104 can communicate and process information associated with a multiplicity of applications and/or a multiplicity ofSmart Devices102. For example,SPARC Security Device104 can interact with a user'scellular phone device102 and with the user'stabular computing device102.SPARC Security Device104 contains information for supporting operation of application programs associated withSmart Device102.
Smart Device102 andSPARC Security Device104 can be configured to communicate only when geographically located within pre-established distance constraints, as specified for operation associated withcommunication channel106.SPARC Security Device104 may be an EMV (Eurocard/MasterCard/Visa) smart card or a NFC (Near Field Communications) smart card. An NFC smart card has a communication range of about 10 cm.
SPARC Security Device104 contributes message content to messages assembled for communication fromSmart Device102 toApplication Controlling Institution101.
SPARC Security Device104 and associated processes provide secure communications based upon the interaction of the two distinct devices,Smart Device102 andSPARC Security Device104, needed to complete a transaction withApplication Controlling Institution101.
The combination ofSmart Device102 withSPARC Security Device104 provides a secure two-device method for preventing misuse or unauthorized use (e.g., fraudulent message replay, counterfeiting, etc.) of a lost or stolenSmart Device102. Other devices aside fromSPARC Security Device104 are not capable of providing the required current value of the information toSmart Device102 thatSPARC Security Device104 is capable of providing. Additional security is provided by the fact thatSmart Device102 is not capable of generating the ACI-required information associated withSPARC Security Device104 toApplication Controlling Institution101 without first receiving it from theSPARC Security Device104.
The two device interaction and processing associated withSmart Device102 andSPARC Security Device104 replace the identification portion (typically, the user's account number) of transaction information used in the prior art with information valid for just a single transaction. Said information is typically reconstituted to an unencrypted value, avoiding the need to provide the cumbersome key management that is associated with encryption. For the communication betweenSmart Device102 andApplication Controlling Institution101, the user's real account number associated with a user account is replaced by the one-time identifier, which offers the following advantages:
- 1. The content of each substantive message becomes meaningless to those intercepting said message.
- 2. When a message is downloaded fromACI101 toSD102,SD102 can use the SSD ID to screen out fraudulent messages.
- 3. Someone intercepting a message cannot use the information in the message to generate a fraudulent message, because the interceptor does not know the underlying algorithm that was used to generate the TN (transaction number).
In order to generate and store the one-time identifier (SSD ID),memory portion112 includes at least two registers, containing: (1) aunique SSD104 identifier; and (2) a one-time transaction number (TN). Optionally,memory112 can also comprise the following registers associated with additional fields of the one-time identifier (SSD ID): (3) date, usually the current date; (4) time, usually the current time; (5)ACI101 identifier, in case more than oneACI101 is associated with theSSD104; and (6) one or more additional fields designating subject matter, application, transaction type, etc. The combination of these fields becomes a temporary identifier (“SSD ID”), which replaces the user's true account number. EachACI101 maintains a corresponding database with a corresponding set of registers for each user account. Verification of the SSD ID is performed byACI101 checking for agreement between the components of the SSD ID of the incoming message and the components of the SSD ID stored within theACI101.
When there is anACI101 field in the SSD ID, an application in theSD102 can tell theSSD104 whichACI101 to work with. Alternatively, theSSD104 can itself determine whichACI101 to work with, by consulting a pre-established table within theSSD104. In this embodiment,SSD104 can deal with multiple ACI's101 directly, without having to designate aprimary ACI101. If there were noACI101 field in the SSD ID, oneACI101 is designated as theprimary ACI101, and coordinates communications between or among the other ACI's101.
Any and all of theSPARC Security Device104 parameters can be made to be programmable. Such parameters can include the allowable response time before timing out, loss of an NFC signal, the range of allowable operation, etc.
AnSSD104 may be enabled to communicate using several different communications protocols, such as NFC, Bluetooth, and/or WiFi.
AnACI101 can issue several cards to the same user. These cards can be debit cards, gift cards, loyalty cards, and/or prepaid cards. The SSD ID can include a function or card field (such as field (6) described above) to enable theACI101 to distinguish among the various card holdings for the specific transaction.
Assuming thatACI101 successfully verifies the bona fides of the incoming message, the one-time transaction number (TN) is changed by theACI101. The one-time transaction number could be incremented by 1, but it is far preferable to change the one-time transaction number by a more complex incrementation algorithm. Said algorithm is securely pre-stored in both theACI101 and theSSD104. Subsequent messages having an incorrect value for the one-time transaction number are rejected byACI101. This inhibits overheard transaction re-use and fraudulent message download. Upon receipt of a valid SSD ID that matches an SSD ID within its database,ACI101 gains access to the associated true user account number. TheACI101 database (which is indexed by the SSD number or one-time transaction number), enablesACI101 to process the message using the true account number.
The one-time transaction number can comprise bits that represent other than numerical data, such as alphabetical or alphanumeric data. Thus, whenever the expression “TN” is used in this specification, it should be considered to mean “transaction identifier” in the more general sense. A given message can have a first one-time transaction identifier, and the corresponding response can have a different one-time transaction identifier. The transaction identifier serves to differentiate messages sent to and received from theACI101; and enables the detection ofduplicate SSD104 use, counterfeit messages,counterfeit SSD104 use, and illegal use of lost or stolenSmart Devices102. The number of digits comprising the transaction identifier can be expanded, when the transaction identifier is advanced, to reduce the possibility of successful attacks. A transaction identifier can be replaced by theACI101 to counteractACI101 database attacks, misuse, or theft.
Communication system100 operates via interaction ofSmart Device102,SPARC Security Device104, and the user. IfSmart Device102 andSPARC Security Device104 are not both available to the user, the processing of and communication of information toApplication Controlling Institution101 is not performed. However, when justSPARC Security Device104 is unavailable, the user can continue to useSmart Device102 for other applications not associated with SPARC Security Device104 (e.g., word processing, Internet browsing, etc.).
SPARC Security Device104 supports a multiplicity of actuatingdevices110. Non-limiting examples of actuating devices include manual, biometric (e.g., fingerprint), dual, and automatic. Furthermore, theactuating device110 variations offer two or three factor security control, as desired by the user. Two factor authentication is an approach to authentication involving the presentation of two different kinds of evidence for verification. Two factor authentication is associated with something a user knows and something for which a user is in physical possession. Three factor authentication includes two factor authentication, with the addition of something uniquely related to the identity of a person (e.g., a fingerprint).
The interaction ofSPARC Security Device104 with eachSmart Device102 can be performed via the same communications protocol for alldevices102, or by more than one protocol.
Communication system100 supports “bump” security applications. “Bump” comprises an application operating via aSmart Device102 and by a matching algorithm operating via servers connected toSD102 viacommunication channel108.
SPARC Security Device104 supports an arbitrarily large number of applications operating on a givenSmart Device102.
Applications associated withSmart Device102 and/orSPARC Security Device104 can detect an attempt to record information communicated between thedevices102,104.
Application Controlling Institution101 can modify, disable, remove, or destroy applications associated withSmart Device102.
Smart Device102 andSPARC Security Device104 support message rejection byApplication Controlling Institution101, where appropriate. This support includes reprocessing and retransmitting the message, modification of an application program, and destroying a portion (or all) of an application program.
SPARC Security Device104 supports maintenance of an audit trail for transactions initiated bySPARC Security Device104 for communication bySmart Device102 toApplication Controlling Institution101. As a non-limiting example, the audit trail can include the original SSD ID. The audit trail information can be used to replace the original account identifiers for information communicated to or fromApplication Controlling Institution101 to one or more audit computing devices (not shown). Audit trail information is typically used for generation of messages toApplication Controlling Institution101, as the associated information is not current with respect to the current time and message count content.
Applications associated withSPARC Security Device104 can be used for securing transaction messages communicated fromApplication Controlling Institution101 to computing devices other thanSD102 andSSD104. Such information transmitted byApplication Controlling Institution101 may be compared with information contained withinSPARC Security Device104.
Transmitted message content between and among thedevices101,102,104 can be verified for accuracy via parity checks. For example,Application Controlling Institution101 may perform parity checks on received information. As a non-limiting example, parity checks can be performed via a Cyclic Redundancy Check (CRC).
Applications to be run onSmart Device102 andSPARC Security Device104 can be securely uploaded and updated via the communication processes associated withSmart Device102 andSPARC Security Device104.
SPARC Security Device104 may continue to be used in the event of a lost or stolenSmart Device102.
In some embodiments, the functionality ofSPARC Security Device104 is performed by asecond Smart Device102 device, with thesecond Smart Device102 simulating the operation of aSPARC Security Device104 device.
In some embodiments,Smart Device102 is configured to refuse to perform a requested action prior to configuration for operation withSPARC Security Device104. As a non-limiting example, when an unauthorized user attempts to perform unauthorized transactions via the Smart Device102 (e.g., a financial fund transfer), theSmart Device102 does not communicate with external entities until configuration and communication withSPARC Security Device104 is performed. As a non-limiting example, unauthorized telephone toll charges may be prevented via this feature. Furthermore, this feature may be configured for functions associated withSmart Device102 in order to support monitoring for security device surveillance. This feature enables a user to monitor and control operation ofSmart Device102.
ACI101 (or a licensed third party device) assigns the associatedunique SSD104 unit identifier, and a pre-established initial transaction identifier for new application acceptance, to applications to be used onSD102. Theunique SSD104 unit identifier and the initial transaction identifier are then communicated toSPARC Security Device104 for confirmation. If confirmed,SPARC Security Device104 signals the user, e.g., by illuminatingindicator portion116 in a pre-established manner, and requests confirming actuation by the user via button/sensor portion110. If not confirmed by the user's actuating button/sensor110,SPARC Security Device104 generates an alert, e.g., a flash or other signal repeatedly illuminatingindicator116.
Smart Device102 can use an access application confirmation process for preventing unauthorized access to the applications stored inSD102. This access application confirmation process can use a biometric actuator to confirm the user's privilege to accessSD102.
For a lost or stolenSmart Device102 containing a valid SSD unit number,SSD102 is not able to create an acceptable message toACI101, becauseSD102 does not have the one-time Transaction Number.
When an incorrect SSD unit number is presented toACI101, anACI101 application detects the incorrect SSD unit number and rejects the attempted transaction.
Normally, the same human user controls both theSSD104 and theSD102.
Downloading a message fromACI101 toSSD104 requires thecorrect SSD104 number, plus the correct one-time transaction number.
An attempt to use multipleSPARC Security Devices104 with a single Smart Device results in an unusable signal received bySmart Device102, which results in rejection (byACI101 and SD102) of all messages generated by all theSPARC Security Devices104. It would be cumbersome to have aseparate SSD104 for each application.
FIG. 2 is a mechanical diagram for an exemplarySPARC Security Device104 described with reference toFIG. 1, wherein acontainment portion202 provides containment of associated electrical and mechanical devices.
SPARC Security Device104 may take a wide variety of physical forms, including but not limited to a bracelet, a ring, a key ring device, a pin-on device, a pocket device such as a pen, a set top programmable remote control device, or any similar lightweight and compact devices.SPARC Security Device104 may be configured such that, when itspower120 runs low, an alarm is generated. The alarm may be an audible alarm, a visual alarm, or a vibration of theSPARC Security Device104. Similarly, when someone attempts to useSPARC Security Device104 with no accompanying or available communications network, an alarm can be generated. Preferably, the alarm is kept local, but includes within its range theSmart Device102 with which theSPARC Security Device104 is communicating.
SPARC Security Device104 includes a button/sensor portion110, anindicator portion116, acontainment portion202, and anattachment element204.
Use of thebutton110 without anSD102 input activates apre-specified SD102 application program on thecorresponding Smart Device102.Button110 may comprise a biometric sensing actuating device.SSD104 may not require an actuator at all; in this scenario,SSD104 gives its SSD ID to the Smart Device automatically, as long as the distance requirement is satisfied.
Indicator116 can have several different settings, corresponding to several different applications.
Containment portion202 provides mechanical containment of associated electronic and mechanical devices associated withSPARC Security Device104.Containment portion202 has alength206, aheight208, and awidth210. As a non-limiting example,length206 may be two inches,height208 may be ½ inch, andwidth210 may be ¼ inch.
Attachment element204 provides capability for attachment ofSPARC Security Device104 to other devices.Element204 can be, e.g., a keychain, key ring, safety pin for attachment to clothing, etc.
FIG. 3 is a flow diagram of an exemplary communication system described with reference toFIG. 1-2, wherein a transaction associated with anApplication Controlling Institution101,Smart Device102, andSPARC Security Device104 is securely executed.
With reference toFIG. 3, a flow diagram300 presents the communication flow between and amongApplication Controlling Institution101,Smart Device102, andSPARC Security Device104.
Let us assume that an application associated withSmart Device102 wishes to request a transaction withApplication Controlling Institution101. Non-limiting examples of information communicated fromSmart Device102 toApplication Controlling Institution101 include an account identifier, anApplication Controlling Institution101 designation, transaction type, fund type requested, requested fund amount, currency type (e.g., U.S. dollars),Smart Device102 communications address, and a transaction password for routine security.
With reference to step304, the user ofSD102 initiates this transaction via selection of a transmit button onSD102 or via a SEND function on the associated application.Smart Device102 communicates certain information (see line305) toSPARC Security Device104 overlogical line305. Non-limiting examples of this information that is communicated toSSD104 include account identifier and transaction type.
Atstep306,SPARC Security Device104 stores in its memory the received account identifier and transaction type. Atstep308,SPARC Security Device104 illuminates itsindicator portion116, signaling the user to verify that the transaction should proceed. Atstep310,SPARC Security Device104 receives an indication that its user has actuated button/sensor110. Atstep312, illumination ofindicator portion116 is terminated.
Atstep314, the SSD ID identifier is created bySPARC Security Device104. This SSD ID identifier is communicated toSmart Device102 overlogical line315.
Atstep316,Smart Device102 receives and validates the unique SSD ID received fromSSD104. If valid, the process continues. If not, the process terminates. Furthermore,Smart Device102 communicates the SSD ID and the requested transaction toApplication Controlling Institution101 overlogical line317. All or part of the SSD ID can be stored inSD102, to detect attacks involving use of acounterfeit SSD104.
Atstep318,ACI101 receives and processes this information.ACI101 uses theSPARC Security Device104 unit identifier for retrieving information from its database indexed by theSSD104 unit identifier. Furthermore,ACI101 performs a comparison of the retrieved transaction identifier information with transaction identifier information in its database in order to verify that information received overline317 is valid. Furthermore,Smart Device102 can also validate the information received overline317 via the date, time,ACI101, and/or subject matter fields in the SSD ID.
Smart Device102 then retrieves a user account identifier from its database vialine317A for performing the transaction processing.
IfACI101 validates the transaction,ACI101 processes the transaction.ACI101 prepares and communicates any relevant information toSmart Device102 overlogical line319. As a non-limiting example, the information sent overline319 includes the uniqueSPARC Security Device104 unit identifier.
Atstep320,Smart Device102 validates the transaction using information received overlogical line317A.Smart Device102 transmits information overlogical line321 toSPARC Security Device104 to complete the validation. Information sent overlogical line317A constitutes a copy of information sent overlogical line317, to validate the return message from theACI101.
Atstep322,SPARC Security Device104 completes validation of the transaction. As a non-limiting example,SPARC Security Device104 validates that the receivedunique SSD104 unit identifier is correct. Furthermore,SSD104 communicates information overlogical line323 toSmart Device102. As a non-limiting example, information sent overlogical line323 includes a signal authorizingSmart Device102 to execute the transaction. As a non-limiting example, executing the transaction may include moving funds associated with a bank account.
Atstep324,Smart Device102 executes the transaction. As a non-limiting example,Smart Device102 posts funds received fromACI101.
FIGS. 4A through 4C illustrate an exemplary method for using the secure communication system as described with reference toFIGS. 1 through 3, in accordance with an embodiment of the present invention.
Referring toFIG. 4A,method400 initiates instep402.
Instep404, an application is provided toSmart Device102 byApplication Controlling Institution101. As a non-limiting example,Smart Device102 receives an application fromApplication Controlling Institution101 viacommunication channel108.
Instep406,SPARC Security Device104 receives an interrogation fromSmart Device102. As a non-limiting example, SPARC Security Device104 (FIG. 1) receives an interrogation message from Smart Device102 (FIG. 1) viacommunication channel106.
Instep408,SPARC Security Device104 selects itsmemory112 section associated with the application identifier for the received application. As a non-limiting example, SPARC Security Device104 (FIG. 1) selects a memory section associated with memory portion112 (FIG. 1) associated with the application identifier.
Instep410, an indicator is illuminated. As a non-limiting example, indicator portion116 (FIGS. 1-2) is illuminated.
Instep412, a determination for input received from button/sensor110 is performed. For a determination of “no input received” instep412, in step414 a determination for a timeout condition is performed. For a determination of “no timeout” instep414, the execution ofmethod400 transitions to step412. For a determination of “an input received” instep412, instep416, activation associated with button/sensor110 is received bySPARC Security Device104. As a non-limiting example, processor portion114 (FIG. 1) receives an indication from button/sensor portion110 (FIG. 1) via communication channel122 (FIG. 1).
Instep418, illumination of an indicator is terminated. As a non-limiting example, illumination of indicator portion116 (FIG. 1) is terminated.
Instep420, a comparison is performed between received biometric information and stored biometric information to authenticate that an authorized user is performing actuation of sensor. As a non-limiting example, biometric information (e.g., a fingerprint) provided by button/sensor portion110 (FIG. 1) is compared with biometric information stored in memory portion112 (FIG. 1) by processor portion114 (FIG. 1).
Instep422, a determination for pass/fail for the biometric comparison performed instep420 is made. For a determination of “fail” instep422, in astep424,SPARC Security Device104 communicates a failure message toSmart Device102. As a non-limiting example, SPARC Security Device104 (FIG. 1) communicates a failure message to Smart Device102 (FIG. 1) via communication channel106 (FIG. 1). For a determination of “pass” instep422, instep426, illustrated with reference toFIG. 4B,SPARC Security Device104 communicates its unique SPARC Security Device unit identifier toSmart Device102. As a non-limiting example, SPARC Security Device104 (FIG. 1) communicates the unique unit identifier associated with SPARC Security Device104 (FIG. 1) to Smart Device102 (FIG. 1).
Instep428, a determination forSmart Device102 receiving SPARC Security Device unit identifier fromSPARC Security Device104 is performed. For a determination ofSmart Device102 not receiving the uniqueSPARC Security Device104 unit identifier instep428, instep430, a determination for a timeout condition is performed. For a determination of “not a timeout condition” instep430, the execution ofmethod400 transitions to step428. For a determination of receiving the uniqueSPARC Security Device104 unit identifier instep428, instep438, theApplication Controlling Institution101 identifier is communicated fromApplication Controlling Institution101 toSmart Device102.
Instep440, a determination for receipt of theApplication Controlling Institution101 identifier is performed bySmart Device102. For a determination of not receivingApplication Controlling Institution101 identifier bySmart Device102 instep440, instep442, a determination for a timeout condition is performed. For a determination of “not a timeout condition” instep442, the execution ofmethod400 transitions to step440.
FollowingSPARC Security Device104 communicating a “fail” toSmart Device102 in step424 (FIG. 4A), determination of a timeout in step414 (FIG. 4A), step430 (FIG. 4B) and 442 (FIG. 4B), in a step444 (FIG. 4B) indicator portion116 (FIGS. 1-2) is illuminated in a flashing manner.
Following flash illumination of the indicator instep444 and for a determination of receiving anApplication Controlling Institution101 identifier instep440, instep446, a determination for a properly configuredSmart Device102 is performed.
For a determination of a “not configuredSmart Device102” instep446, the execution ofmethod400 returns to step446.
For a determination of a properly configuredSmart Device102 instep446, instep448, as illustrated with reference toFIG. 4C, the user creates a transaction on Smart Device102 (FIG. 1) as described with reference to step304 (FIG. 3).
Instep450,SPARC Security Device104 receives an account identifier and transaction type fromSmart Device102. In some embodiments, response to the transaction request may be discrete data or a continuous data stream, or both.
As a non-limiting example, SPARC Security Device104 (FIG. 1) receives an account identifier and transaction type from Smart Device102 (FIG. 1) as described with reference to step306 (FIG. 3).
Instep452, an indicator is illuminated. As a non-limiting example, indicator portion116 (FIGS. 1-2) is illuminated as described with reference to step308 (FIG. 3).
Instep454,SPARC Security Device104 receives actuation information associated with a button or sensor. As a non-limiting example, processor portion114 (FIG. 1) receives information associated with actuation of button/sensor portion110 (FIG. 1) via communication channel122 (FIG. 1) as described with reference to step310 (FIG. 3).
Instep456, illumination of an indicator is terminated as described with reference to step314 (FIG. 3).
Then instep458,SPARC Security Device104 generates an SSD ID as described with reference to event314 (FIG. 3).
Instep460,SPARC Security Device104 communicates the SSD ID toSmart Device102 as described with reference to step315 (FIG. 3).
Instep462,Smart Device102 replaces the SSD ID with the one-time SSD ID as described with reference to step316 (FIG. 3). Instep463,Smart Device102 transmits a transaction request toACI101.
Instep464, Application Controlling Institution (ACI)101 uses the SSD ID to retrieve the user's account number.ACI101 processes the transaction if valid. In some embodiments, a transaction request passes through theACI101 to asecond ACI101 for evaluation or action.ACI101 uses the SSD ID identifier to respond toSmart Device102 with reference to step318 (FIG. 3).
Instep466,Smart Device102 receives and validates the transaction processed byApplication Controlling Institution101, and communicates the SSD ID toSPARC Security Device104 as described with reference to step320 (FIG. 3).
Instep468,SPARC Security Device104 receives and validates a second one-time SSD ID as described with reference to step322 (FIG. 3). In step469,SPARC Security Device104 notifiesSmart Device102 to proceed.
Instep470,Smart Device102 receives and processes transaction acceptance fromSPARC Security Device104 as described with reference to step324 (FIG. 3).
Instep472, execution ofmethod400 terminates.
FIG. 5 is a block diagram depicting a conventional client/server communication system, over which the present invention can operate.
With reference toFIG. 5,communication system500 includes a multiplicity of networked regions, with a sampling of regions denoted asnetwork region502 andnetwork region504,global network506, and a multiplicity of servers, with a sampling of servers denoted asserver device508 andserver device510.
Network region502 andnetwork region504 can be adapted to operate to represent a network contained within a geographical area or region. Non-limiting examples of representations for the geographical areas for the networked regions include postal zip codes, telephone area codes, states, counties, cities, and countries. Elements withinnetwork regions502 and504 can communicate with external elements within other networked regions, or within elements contained within thesame network region502,504.
In some implementations,global network506 is adapted to operate as the Internet.
It will be understood by those skilled in the art thatcommunication system500 may take many different forms. Non-limiting examples of forms forcommunication system500 include local area networks (LANs), wide area networks (WANs), wired telephone networks, cellular telephone networks, or any other network that supports data communication between and among respective entities via hardwired or wireless communication networks.Global network506 may operate to transfer information between or among the various networked elements.
Server device508 andserver device510 are adapted to operate to execute software instructions, store information, support database operations, and communicate with other networked elements. Non-limiting examples of software and scripting languages which can be executed onserver device508 andserver device510 include C, C++, C#, and Java.
Network region502 can be adapted to operate to communicate bi-directionally withglobal network506 viacommunication channel512. Similarly,network region504 can be adapted to operate to communicate bi-directionally withglobal network506 viacommunication channel514.Server device508 can be adapted to operate to communicate bi-directionally withglobal network506 viacommunication channel516. Similarly,server device510 can be adapted to operate to communicate bi-directionally withglobal network506 viacommunication channel518.Network regions502 and504,global network506, andserver devices508 and510 can be adapted to operate to communicate bi-directionally with each other, and also communicate bi-directionally with other networked devices located withincommunication system500.
Server device508 includes anetworking device520 and aserver522.Networking device520 can be adapted to operate to communicate bi-directionally withglobal network506 viacommunication channel516, and withserver522 viacommunication channel524.Server522 can execute software instructions and store information.
Network region502 includes a multiplicity of computing devices, with sample clients denoted asclient526 andclient528.Client526 includes anetworking device534, aprocessor536, aGUI538, and aninterface device540. Non-limiting examples of devices forGUI538 include monitors, televisions, cellular telephones, smartphones, and PDAs (Personal Digital Assistants). Non-limiting examples ofinterface device540 include a pointing device, mouse, trackball, scanner, and printer.Networking device534 may communicate bi-directionally withglobal network506 viacommunication channel512 and withprocessor536 viacommunication channel542.GUI538 may receive information fromprocessor536 viacommunication channel544 for presentation to a user for viewing.Interface device540 can send control information toprocessor536 and receive information fromprocessor536 viacommunication channel546.
Similarly,network region504 includes a multiplicity of client computing devices, with sample clients denoted asclient530 andclient532.Client530 includes anetworking device548, aprocessor550, aGUI552, and aninterface device554. Non-limiting examples of devices forGUI538 include monitors, televisions, cellular telephones, smartphones, and PDAs (Personal Digital Assistants). Non-limiting examples ofinterface device540 include pointing devices, mice, trackballs, scanners, and printers.Networking device548 may communicate bi-directionally withglobal network506 viacommunication channel514, and withprocessor550 viacommunication channel556.GUI552 may receive information fromprocessor550 viacommunication channel558 for presentation to a user for viewing.Interface device554 can send control information toprocessor550 and receive information fromprocessor550 viacommunication channel560.
For example, consider the case where a user interfacing withclient526 wants to execute a networked application. A user enters the IP (Internet Protocol) address for the networked application usinginterface device540. The IP address information is communicated toprocessor536 viacommunication channel546.Processor536 then communicates the IP address information tonetworking device534 viacommunication channel542.Networking device534 then communicates the IP address information toglobal network506 viacommunication channel512.Global network506 then communicates the IP address information tonetworking device520 ofserver device508 viacommunication channel516.Networking device520 then communicates the IP address information toserver522 viacommunication channel524.Server522 receives the IP address information, and after processing the IP address information, communicates return information tonetworking device520 viacommunication channel524.Networking device520 communicates the return information toglobal network506 viacommunication channel516.Global network506 communicates the return information tonetworking device534 viacommunication channel512.Networking device534 communicates the return information toprocessor536 viacommunication channel542.Processor536 communicates the return information toGUI538 viacommunication channel544. The user then views the return information onGUI538.
FIG. 6 illustrates a typical computer system that, when appropriately configured or designed, can serve as acomputer system600 for which the present invention may be embodied.
With reference toFIG. 6,computer system600 includes a quantity of processors602 (also referred to as central processing units, or CPUs) that are coupled to storage devices including a primary storage606 (typically a random access memory, or RAM), and a primary storage604 (typically a read-only memory, or ROM).CPU602 may be of various types, including micro-controllers (e.g., with embedded RAM/ROM) and microprocessors such as programmable devices (e.g., RISC or SISC based, or CPLDs and FPGAs), and devices not capable of being programmed, such as gate array ASICs (Application Specific Integrated Circuits) or general purpose microprocessors. As is well known in the art,primary storage604 acts to transfer data and instructions uni-directionally to the CPU, andprimary storage606 typically is used to transfer data and instructions in a bi-directional manner. The primary storage devices discussed previously can include any suitable computer-readable media, such as those described above. Amass storage device608 can also be coupled bi-directionally toCPU602, provides additional data storage capacity, and can include any of the computer-readable media described above.Mass storage device608 can be used to store programs, data, and the like, and typically is used as a secondary storage medium, such as a hard disk. It will be appreciated that the information retained withinmass storage device608 can, in appropriate cases, be incorporated in standard fashion as part ofprimary storage606 as virtual memory. A specific mass storage device such as a CD-ROM614 can also pass data uni-directionally to the CPU.
CPU602 can also be coupled to aninterface610 that connects to one or more input/output devices, such as such as video monitors, track balls, mice, keyboards, microphones, touch-sensitive displays, transducer card readers, magnetic or paper tape readers, tablets, styluses, voice or handwriting recognizers, or other well-known input devices such as, of course, other computing devices. Finally,CPU602 optionally can be coupled to an external device, such as a database or a computer or telecommunications or Internet network using an external connection shown generally as anetwork612, which can be implemented as a hardwired or wireless communications link using suitable conventional technologies. With such a connection, the CPU can receive information from the network, or output information to the network in the course of performing the method steps described in the teachings of the present invention.
FIGS. 7A and 7B illustrate an exemplary method for using the secure communication system as described with reference toFIGS. 1 through 3, in accordance with an embodiment of the present invention.
Method700 initiates instep702.
Then instep704,Smart Device102 uses an application program provided by a control center. As a non-limiting example, Smart Device102 (FIG. 1) initiates operation of an application provided by Application Controlling Institution101 (FIG. 1).
Instep706, the application performs a request. As a non-limiting example, Smart Device102 (FIG. 1) transmits a request for creditingSmart Device102 funds of $200 from Application Controlling Institution101 (FIG. 1). Non-limiting examples of information communicated include an account identifier, institution designation, transaction type (e.g., funds request), requested funds amount, currency type (e.g. U.S. dollars), Smart Device's communications address, and a transaction password provided for routine security.
Instep708, a determination is performed as to whether a pre-established distance constraint is met. As a non-limiting example, the distance between SPARC Security Device104 (FIG. 1) and Smart Device102 (FIG. 1) is determined to be within a pre-established distance constraint. As a non-limiting example, the devices may be required to be less than Near Field Communications (NFC) distance (roughly 4 inches).
Instep710, a person holdingSmart Device102 depresses a transmit button. As a non-limiting example, a person depresses button/sensor portion110 (FIG. 1), as theSmart Device102 has some or all of the same controls as anSSD104.
Instep712, a transmit program is activated and information is transmitted. As a non-limiting example, a program for transmitting information from Smart Device102 (FIG. 1) to SPARC Security Device104 (FIG. 1) is activated, and information is transmitted from Smart Device102 (FIG. 1) to SPARC Security Device104 (FIG. 1). Non-limiting examples of information transmitted include instructions to activate indicator portion116 (FIG. 1), select button/sensor portion110 (FIG. 1), deactivate indicator portion116 (FIG. 1); an account identifier; and a transaction type.
Instep716, an indicator is illuminated. As a non-limiting example, indicator portion116 (FIG. 1) is activated.
Instep718, a determination for selecting a button is performed. As a non-limiting example, a determination for selection of button/sensor portion110 (FIG. 1) is performed.
For a determination of not pushing the button instep718, execution ofmethod700 is terminated instep720. As a non-limiting example, for a determination of not selecting button/sensor portion110 (FIG. 1) within a preselected period of time, execution ofmethod700 is terminated instep720.
For a determination of pushing the button instep718, instep722, an indicator is not illuminated. As a non-limiting example, indicator portion116 (FIG. 1) is deactivated.
Instep724, a security device stores an account identifier and transaction type in a register. As a non-limiting example, SPARC Security Device104 (FIG. 1) stores an account identifier and a transaction type in a register.
Instep726, a security device creates a one-time security device account. As a non-limiting example, SPARC Security Device104 (FIG. 1) creates a one-time SSD ID. As a non-limiting example, the SSD ID includes a SPARC transaction code, a SPARC unit number, the current date, the current time, and a one-time transaction identifier.
Instep728, a security device transmits an identifier to a smart device program. As a non-limiting example, SPARC Security Device104 (FIG. 1) transmits an SSD ID to a program executing on Smart Device102 (FIG. 1).
Instep730, a smart device processes an identifier. As a non-limiting example, Smart Device102 (FIG. 1) replaces an account identifier in a request message with the SSD ID.
Instep732, a smart device transmits a request message to a control center. As a non-limiting example, Smart Device102 (FIG. 1) transmits a request message to Application Controlling Institution101 (FIG. 1).
Instep734, the control center receives the message. As a non-limiting example, Application Controlling Institution101 (FIG. 1) receives the message from Smart Device102 (FIG. 1).
Referring toFIG. 7B, instep736, the control center processes the message. As a non-limiting example, Application Controlling Institution101 (FIG. 1), recognizes the SSD ID, and uses theunique SPARC104 unit identifier for database lookup. Furthermore, the result of the lookup provides a transaction identifier. Furthermore, a transaction identifier comparison validates the message. In some embodiments, an application may validate the date and time for further validation processing. Furthermore, a database associated withACI101 provides an account identifier for transaction processing. The primary purpose of the database is to store the true account number corresponding to the SSD ID. In some alternate embodiments, a non-limiting additional use of theACI101 database is to store a “Personal Profile” and “Preferences” for theSSD104 user. The Personal Profile describes the physical, educational, and societal background of theSSD104 user. The Preferences section is a non-limiting list of the data streams for which the user wants to stay up-to-date. Non-limiting examples include Google Alerts®, select stock markets, RSS feeds, and Google Ads®. Including the results of these additional data streams offers a revenue opportunity to theACI101, and an improved data flow for theSSD104 user.
Instep738, the transaction is processed and the control center transmits a response message. As a non-limiting example, Application Controlling Institution101 (FIG. 1) processes the message and generates a response message. As a non-limiting example, the response message includes theunique SSD104 unit identifier used for Smart Device102 (FIG. 1) to perform validation.
Instep740, a smart device transmits an identifier. As a non-limiting example, Smart Device102 (FIG. 1) transmits the receivedSSD104 unit identifier to SPARC Security Device104 (FIG. 1) for evaluation.
Instep742, a security device verifies the identifier. As a non-limiting example, SPARC Security Device104 (FIG. 1) establishes that the receivedSSD104 unit identifier is correct.
Instep744, the smart device is informed to accept funds. As a non-limiting example, SPARC Security Device104 (FIG. 1) informs Smart Device102 (FIG. 1) to accept the funds.
Instep746, funds are posted to a smart device application program. As a non-limiting example, funds are posted to the application program associated with Smart Device102 (FIG. 1).
Instep748, execution ofmethod700 terminates.
Use of theunique SSD104 unit identifier with the one-time transaction number in place of an account number makes content meaningless to those overhearing the communications.
If an incorrect transaction number is received, the receivingentity101,102,104 normally erases or destroys the message as being fraudulent, because an incorrect transaction number is an indication of fraud. Such a message may contain a virus or other malware. In this case, the receivingSD102 orSSD104 sends a notice to theACI101.
An incorrect value in the one-time transaction number indicates a fraudulent download. Any of the three types ofdevices101,102,104 described in this secure communications system could send a message with an incorrect SSD number or transaction number. In that case, the other two devices conclude that something is awry.
The processes described herein pertaining to theSSD104 may replace the customary bank card, PIN number, and keyboarding that one uses when withdrawing cash from an ATM (Automated Teller Machine). In these embodiments, the ATM is controlled by anACI101.
The combination of theSD102 and theSSD104 can provide identification and access control for any number of industries, including medical, retail, supermarket, government, education, student, and travel.
TheSSD104 processes described herein may be incorporated as the basis for a revenue producing insurance program, in which screening for valid messages is done by anACI101 or anSSD104. In this embodiment of the present invention,SD102 first establishes a “white list” of acceptable correspondents and/or types of messages for whom it wishes to send or receive messages.SD102 conveys this white list toACI101 and/orSSD104, which screen messages sent toSD102 adhering to the criteria of the white list.ACI101, for an appropriate insurance premium that it charges to the user ofSD102, insures said user that only acceptable types of messages, to or from acceptable correspondents, are sent to or received fromSD102.
In one embodiment, independent of the usage of theSSD104, when anSD102 is used with a magnetic stripe reader (for example, one provided by the company Square), two messages are produced by a software application within theSD102. One of the messages corresponds to the user account number, and the other message pertains to the remaining content. “Remaining content” can comprise expiration date and/or bank number. This embodiment also can be used when twoSmart Devices102 are interacting with each other (e.g., in a chip interface). The interaction may be by physical contact, or by proximity in the case of protocols such as NFC.
Theunique SSD104 unit number is not stored on theSmart Device102. This is a precaution, in case theSD102 is lost or stolen. Conversely, one does not want to store user account numbers in theSSD104, even if they are stored in theSD102.
A message content check can be added to a message downloaded toSD102 to detect any attempt to add a destructive program (for example, a virus) to the message. (“Downloaded” refers to a message that is received by theSmart Device102.) In this case, theACI101 adds the same message content check for transaction messages that are received bySD102. The message content check can comprise the SSD ID and/or something else.
TheSmart Device102 may be configured to require the cooperation ofSSD104 prior to any message being sent fromSD102. This can be accomplished by means of a lockout switch onSD102.
This security feature can be strengthened even further by means of requiring that all incoming messages to, as well as all outgoing messages from, theSD102 require cooperation of thecorresponding SSD104. Again, this can be accomplished by a switch, or can be hard-wired into theSD102.
In these embodiments, theSSD104 acts like an “ignition key” for theSmart Device102. In other words,SD102 is useless unlessSSD104 is present. The distance requirement still has to be met. In WiFi and Bluetooth, the battery in each of theSD102 andSSD104 has to be functioning. In the NFC protocol only one battery has to be functioning, in eitherSD102 orSSD104, because in the NFC protocol, the device with the non-functioning battery is powered by the RF signal over whichSD102 andSSD104 communicate.
TheSD102 can comprise a holding buffer memory for containing incoming messages until validated by the associatedSSD104. In these embodiments, if the incoming message does not have the correct SSD ID, the message is destroyed bySD102 on the grounds that there is a high possibility that the message contains malware.
Vital data in theSD102 may be disguised and protected from external examination if theSD102 is lost or stolen, by adding the unique unit number of the associatedSSD104 to each such vital data item.
OneSSD104 can be employed withmultiple ACIs101. In these embodiments, identifiers for theACI101 are stored in theSSD104. Thevarious ACIs101 can represent different financial resources, such as Credit 1,Credit 2, Debit 1,Debit 2, Mortgage 1, Transfer 1, Travel, Point of Sale (POS), ATM (Automated Teller Machine). In these embodiments, the combination of theSD102 and theSSD104 constitutes a payment device, which can completely replace coins, paper currency, and credit or debit cards. Theseveral ACIs101 can share thesingle SSD104 by means of sendingACI101 toACI101 messages amongst themselves.
The SSD ID described herein replaces a PIN, a password, and encryption. Encryption can still be used at various places in this communications system for additional security or protection of vital data, but a downside with encryption is that it requires a relatively cumbersome key-management system.
In one embodiment, moving theSmart Device102 out of the communications range of the associatedSSD104 causes an alarm to be activated. The alarm can be auditory, visual, and/or vibrational. In certain embodiments, any use ofSmart Device102 automatically triggers the “waking up” of the associatedSSD104.
Typically anACI101 toSSD104 message contains only the SSD ID.
TheSSD104 security scheme described herein is compatible with security concepts used successfully for nearly 50 years for bank card security, i.e., use of a central database for security decisions. This is achieved by using theunique SSD104 unit number for transaction authorization at theACI101. TheACI101 database uses theSSD104 unit number to look up the user account number for the transaction. This successfully removes the actual user account number from the transmitted data.
An important alternative for the format of the SSD ID is, but not limited to, to make said format consistent with the established database number in existingACI101 databases, namely the ANSI x4.16-1983 (ISO 3554) Magnetic Stripe Card,Track 2 Standard. In this Standard, the SSD ID content comprises 40 digits of 5 bits each, including a parity check bit. The primary ID number is 19 digits, includingACI101 identification and theunique SSD104 identification number. Also included are 17 digits of additional data comprising the one-time transaction number, and optional fields, such as the date, time,ACI101 number, and any sub-account designation. The remaining bits comprise control and check digits. In thisTrack 2 Standard, the transaction number is truly a number, i.e., it is not an alphanumeric expression.
The processes described herein can be said to convert the security problem to a database process. In summary:
SD102 Performs these Steps:
- Actuate Smart Device102 application. Select transaction and enter amount.
- Actuate “Send” function. Send signal to SPARC Security device (SSD)104.
ThenSSD104 Performs these Steps:
- Receive signal. Ask user to actuateSSD104.
- Generate SSD ID, including one-time transaction number (TN).
- Send SSD ID toSD102.
- Advance TN for next transaction. EachSSD104 contains a unique algorithm for TN advance.
ThenSD102 Performs these Steps:
- Receive SSD ID. Replace account number. Optionally, indicate sub-account.
- Complete transaction message and send toApplication Controlling Institution101.
ThenACI101 Performs these Steps:
- ReceiveSD102 message in its buffer.
- Access database—retrieve account number, compare TN value with expected number.
- If TN is OK, process message. If not, erase transaction and notifySD102. Prepare response.
- Advance TN and prepare SSD ID transmit reply message toSD102.
ThenSD102 Performs these Steps:
- Receive and hold message inSD102 buffer. Send SSD ID toSSD104.
ThenSSD104 Performs these Steps:
- Evaluate SSD ID. If OK, adviseSD102 to process transaction. If not, destroy message.
- Advance TN value for next message.
ThenSD102 Performs these Steps:
- Process reply message content. Display result. Clear buffer.
Loyalty ApplicationsIt can be highly desirable to apply theSSD104 functionality described herein to perform and safeguard “Loyalty Applications”. As used herein, a “Loyalty Application” is one which is principally used by a participating entity or a group of participating entities that share a common nomenclature, and a common set of objectives and practices; and that provide a common set of products or services, in exchange for earned income or loyalty. “Participating entities” can include, without limitation, one or more merchants, corporations, fraternal organizations, and/or nonprofit organizations. For example, the group of participating entities may be a chain of supermarkets, wherein the chain awards a bonus of $10 worth of groceries to users who purchase $200 worth of groceries at the chain in a given month. As another example, the participating entity may be a corporation that offers its employees incentive credits to use local health/wellness facilities, as a means for controlling its health care costs. As yet another example, the participating entity may be a charitable organization that wishes to make it easier for contributors to make charitable contributions to the organization.
An SSD104 Loyalty Application can comprise the user of SD102 and SSD104 interacting with the process to purchase an article or to use a service so as to: (1) uniquely identify and provide the purchaser with a secure method to accept incentives offered by the entity or group of entities (including but not limited to inducements, rebates, loyalty points, or rewards from participating merchants, corporations, fraternal organizations, or nonprofit organizations, some of whom may not even be known to the user); (2) provide a purchasing or loyalty incentive based on the purchaser's or user's prior account relationship and actual account utilization with a preferred provider or group of providers, or through an ACI101 member base; (3) capture the potential price or incentive value earned in response to selecting a Loyalty Application purchase decision or the use of a service; (4) provide the payment function associated with the selected Loyalty Application purchase or service use, and convert the potential price or loyalty/incentive value into an actual sale or use, with incentive or loyalty point capture; (5) capture the value of the Loyalty Application based transaction for future incentive or loyalty point calculation and use; (6) capture the transaction details in a database for future account activity analysis and actual purchase or procurement incentives assessment; and (7) utilize Loyalty Application specialized functionality, such as with health and educational services, so as to complete a transaction paid for by prior incentive value accumulation, or via monetization to provide a charitable donation.
The product requirements for a Loyalty Application are illustrated inFIG. 8A. In addition toconventional SSD104 system components as described herein, the Loyalty Application embodiments of the present invention comprise new stand-alone, programmable ACI Response Device (ACIRD)81 withcommunications82 anddisplay83 functionality.Device81 is used at each purchase or service nexus to respond to theSmart Device102/SSD104 action. AnACIRD81 can be reset or interrogated remotely by a central control system, such as anACI101.
TheACIRD81 provides a remote and interim substitute forACI101 functions. Examples of its use are these:
- 1. A local (toSD102/SSD104) inquiry device with access to pre-stored data, such as a supermarket shelf product identification device or compilation of gymnasium incentive point values for specified exercise levels.
- 2. A controlled/secured entry to ACIRD81 content to observe, upload, download, or change theACIRD81 content.
- 3. Initiation of anACIRD81 action as a prelude to requiringsecure ACI101 access for a controlled/confidential transaction.
The operation of theACIRD81 andSSD104 in a Loyalty Application will now be described with respect toFIGS. 8A through 8D.
ACIRD81 is a self-contained unit with itsown power supply84,logic device86,database85,communications module82, anddisplay83.Device81 accepts the following types of input messages: 1) An inquiry. This message activates aprepared display83 message. The message can include a description of the item or service connected with thedevice81 operation. 2) An order. This message allows the user to specify the quantity of product or service requested. 3) A change message, which allowsACIRD81 to change the unit content and responses. 4) A remote inquiry message, requesting that activity content stored withinACIRD81 is forwarded to theACI101 for record processing, inventory control, and/or preparation of summaries of services delivered.
For security purposes,ACIRD81 has a content equivalent to that provided by anSSD104, and includes said content with data being transferred to theACI101. This allows theACI101 to securely assess its input from a variety ofSSD104 andACIRD81 sources. There can be oneSSD104 formultiple ACIRDs81.
Device81 is usually physically located in or near the storage area for the cognizant product or service. As non-limiting examples, theACIRD81 can be integral to an admission acceptance or service location; integral to a manufacturing or fabrication location; integral to a direction setting location for a transportation or physical conveyance location; integrated into a communications originating location, a set top box, a smart device, a smart TV, etc.; or located at an educational or health services location, a sports event, or an entertainment venue.
FIG.8B1 shows local operation or inquiry of anACIRD81 where anSSD104 is not required for the transaction. As non-limiting examples, these are transactions where transaction data is being captured for future assessment or use, or monetization or redistribution to family members or charitable causes.
In FIG.8B1,SD102 initiates a transaction atstep810. Atstep811,ACIRD81 receives the transaction request, and, atstep812, accesses an appropriate database. Atstep813,ACIRD81 displays the results of the access on itsdisplay83. Atstep814,ACIRD81 performs the transaction, in this case a redistribution of funds, and confirms the transfer toSD102. Atstep815,SD102 displays the results of the transfer on its display. Atstep816, the process ends.
FIG.8B2 shows an example whereACIRD81 is a particular species, namely an ATM (Automated Teller Machine)91. Atstep820,ATM91 initiates a transaction and sends the request toSSD104. Atstep821,SSD104 receives the requested transaction. Atstep822,SSD104 illuminates itsindicator116, or otherwise notifies its user that a transaction request is pending. Atstep823, the user acknowledges the transaction request by means of actuating button orsensor110 as previously described, or by any other means. Atstep824, theprocessor114 withinSSD104 enables the transaction to take place, and atstep825, thecommunications module118 withinSSD104 instructsATM91 to process the transaction. In this example, the transaction comprises authorizingATM91 to dispense cash to the user ofATM91.
Atstep826,logic device86 withinATM91 checks to see whether the transaction may take place. In this case, for example,ATM91 checks its store of cash to see whether enough cash is available to dispense, and checks to see whether the user ofATM91 is authorized to receive that amount of cash on that particular day. If these verification steps are not completed successfully, the process ends atstep827 with no cash being dispensed. If, on the other hand, the verification steps do succeed, the cash is dispensed to the user atstep828. ThenATM91 updates its database atstep829, and displays on itsdisplay83 at step830 a message to the user that the cash is being dispensed. The process ends atstep831.
While FIG.8B2 has been described in terms of ACIRD81 being anATM91, the method just described can be used whereACIRD81 is a ticket dispenser for any activity requiring a ticket, such as a ride on public transportation, a theater event, a sporting event, etc. Similarly,ACIRD81 can be a repository of loyalty information. In this embodiment, the transaction can involve the distribution of loyalty coupons to the user, and corresponding update ofdatabase85.
FIG.8B3 illustrates an embodiment of the present invention in which thedatabase85 ofACIRD81 is updated, changed, or unloaded. In this embodiment,ACIRD81 initiates the transaction atstep840, and sends a transaction request toSSD104. Atstep841,SSD104 receives the transaction request, and, atstep842,SSD104 signals its user, by any of the means previously described (such as by illuminating indicator116) that a request has been received. When the user authorizes the transaction, he or she actuates button/sensor110, or uses any other technique, to notifySSD104, atstep843. Atstep844,SSD104 enables and processes the transaction request, utilizing itsprocessor114. Atstep845,SSD104 communicates the transaction to ACIRD81 via itscommunications module118. Atstep846,ACIRD81 receives this transaction message and accesses appropriate areas within itsdatabase85. Atstep847,ACIRD81 implements the cognizant transfer or change using itslogic device86. Atstep848,ACIRD81 displays the transaction on itsdisplay83. The method ends atstep849.
FIG. 8C illustrates confidential load and unload of ACIRD81 data locally. In this context, “locally” means without needing to communicate with anACI101. The method includes, e.g.,ACIRD81 accumulating the device or service value of multiple purchases or service actions to determine accumulated incentive value and position.
Atstep860,SD102 creates a transaction request and sends it to ACIRD81. Atstep861,ACIRD81 receives the transaction request. Atstep862,ACIRD81 checks the SSD unit identifier that was given to it with the transaction request, and forwards the transaction request toSSD104. Atstep863,SSD104 receives the transaction request, and, atstep864, notifies its user (by any of the means previously discussed, such as by activation of indicator116) that a transaction request is pending. Assuming that the user desires to go ahead with the transaction,SSD104 receives actuation from the user atstep865 via any of the means previously discussed, such as the user activating button/sensor110. Atstep866,SSD104 authorizes and processes the transaction using itsprocessor114, and conveys this fact to ACIRD81 via itscommunications module118.
Atstep867,ACIRD81 opens logic within itslogic device86 to decode the transaction. If the transaction is to unload data fromACIRD81 toSD102,ACIRD81 prepares instructions to accomplish this atstep868 and, atstep869, so notifiesSD102. Atstep870,SD102 stores the data it has just received fromACIRD81 and, atstep871, displays a message to its user. The process then ends atstep872.
If, on the other hand, the transaction is to load data fromSD102 to ACIRD81, atstep873,ACIRD81 prepares instructions to accomplish this and sends the instructions toSD102. Atstep874,SD102 then prepares the necessary data package and transfer instructions, and sends this to ACIRD81. Atstep875,ACIRD81 then stores the data it has just received fromSD102. The process then ends atstep876.
FIG. 8D illustrates the confidential exchange ofACIRD81 data withACI101 data. In this method, selected data accumulated over time withinACIRD81 is forwarded to the account basedACI101, and stored there as identified in the transaction captured data. TheACIRD81 is used as a buffer and a data aggregator to avoid overwhelming theACI101 with a mass of individual transactions and their detailed data. From the perspective of time,ACIRD81 acts as an interim data capture facilitating device. As before,ACI101 provides stored, retrieved, and generated data. Note that the method described inFIG. 8D occurs, at least in part, online, because anACI101 is involved. Thus, it is not considered to be a “local” method.
Atstep880,SD102 creates a transaction request and sends it to ACIRD81. Atstep881,ACIRD81 receives the transaction request, and atstep882 checks the SSD unit identifier that was given along with the transaction request. If the SSD unit identifier checks out,ACIRD81 forwards the transaction request toSSD104, which receives it atstep883 and stores it within itsmemory112.
Atstep884,SSD104 sends a message to its user by any of the means previously described, such as by illuminatingindicator116, that a transaction request is pending. Assuming that the user wishes the transaction to proceed, the user actuates button/sensor110, or notifiesSSD104 by any other means, atstep885. Atstep886,SSD104 uses itsprocessor114 to enable and process the transaction, and so notifies ACIRD81 in a message that includes the unit identifier forSSD104 as a security precaution. Atstep887,ACIRD81 processes the message and considers appropriate options that it may offer to the user ofSD102, and forwards this message toSD102. These options can include, for example, offers to redeem loyalty points at participating merchants, or incentives to participate in a corporate wellness program. Atstep888,SD102 displays the message on its display. Atstep889,SD102 then authorizes the data transfer and sends the transfer message toACI101 using the SSD ID as an index. Atstep890,ACI101 verifies the validity of the SSD ID. Atstep891,ACI101 generates appropriate housekeeping and storage commands. Atstep892,ACIRD81 stores the data in its database.
The remaining steps inFIG. 8D are optional. Atstep893,ACI101 retrieves selected information from its database and, atstep894, sends a confirmatory response containing the SSD unit identifier toSSD104. Atstep895,SSD104 confirms the validity of the SSD unit identifier, and forwards the confirmatory message to ACIRD81. Atstep896,ACIRD81 updates its database with this confirmation and forwards the confirmation toSD102. Atstep897,SD102 puts a confirmation message on its display so as to notify its user that the transaction has been successfully completed. Atstep898, the method ends.
Example of ACIRD81 UseAs an example of an ACIRD81-based transaction sample, consider a purchase environment such as purchase of a supermarket shelf item. The user brings his or herSmart Device102 into the communications required range of the shelf item. An application withinSD102 transmits a signal to the user'sSPARC Security Device104. TheSSD104 executes the following sequence of events: 1) it interrogates ACIRD81 (which can be physically located on the supermarket shelf) to receive a description of the shelf item, its cost, and transaction loyalty value; 2) it exercises a purchase action, supported by theSD102; 3) it transmits the purchase transaction to theACI101 associated with that application, including the loyalty value of the transaction; and 4) it initiates a value transaction to theACIRD81, where the value transactions for a preset period are accumulated for that user for later transfer to theACI101. The application withinSD102 can use the value for deciding whether subsequent purchases are worth making, and for generating reports of the user's purchases.
Summary of ACIRD81 UseIn summary, theACI101 processes the user's account based monetary data and/or other transactions, after assuring correct security content of the transaction messages. TheACIRD81 processes the incentive, loyalty, or quantity related value data and transactions, again using a security identification. The content of the value data includes a broad spectrum of value factors that are selected and set by the users and participating entities prior to inclusion in the process. As in the non-ACIRD embodiments described herein, theSSD104 provides a vital control function which preventsSmart Device102 misuse when thedevice102 is lost or stolen. As described previously,SSD104 prevents use of overheard transmission to steal vital transaction or identification data, provides a means to prevent downloading fraudulent applications, and allows loyalty incentive monetization programs.
Those skilled in the art will readily recognize, in light of and in accordance with the teachings of the present invention, that any of the foregoing steps and/or system modules may be suitably replaced, reordered, and/or removed, and additional steps and/or system modules may be inserted, depending upon the needs of the particular application. The systems of the foregoing embodiments may be implemented using any of a wide variety of suitable processes and system modules, and are not limited to any particular computer hardware, software, middleware, firmware, microcode, or the like. For any method steps described in the present application that can be carried out on a computing machine, a typical computer system can, when appropriately configured or designed, serve as a computer system in which those aspects of the invention may be embodied.
It will be further apparent to those skilled in the art that at least a portion of the novel method steps and/or system components of the present invention may be practiced and/or located in location(s) possibly outside the jurisdiction of the United States of America.
All the features disclosed in this specification, including any accompanying abstract and drawings, may be replaced by alternative features serving the same, equivalent, or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is only one example of a generic series of equivalent or similar features.
Having fully described at least one embodiment of the present invention, other equivalent or alternative methods of remote authorization according to the present invention will be apparent to those skilled in the art. The invention has been described above by way of illustration, and the specific embodiments disclosed are not intended to limit the invention to the particular forms disclosed. For example, the particular implementation ofSmart Device102 may vary depending upon the particular type of computing device used. The computing devices described in the foregoing were primarily directed to smartphone device implementations; however, similar techniques using laptop computing devices are contemplated as within the scope of the present invention. The invention is thus intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the following claims.