The present invention relates generally to computerized systems and more particularly to methods for communicating network computerized data with integrity between users of computerized systems.
The following publications are believed to represent relevant prior and/or state of the art:
The disclosures of all publications and patent documents mentioned in the specification, and of the publications and patent documents cited therein directly or indirectly, are hereby incorporated by reference.
The following terms may be construed either in accordance with any definition thereof appearing in the prior art literature or in accordance with the specification, or as follows:
Concatenated to any Relatively Prime n celled nLFSR (Linear Feedback Shift Register) (2n) Counter—Any stand alone maximum length LFSR (Linear Feedback Shift Register) produces a unique pseudo-random sequence of all non-zero Words. Any p celled Mersenne Prime (MP) LFSR (Linear Feedback Shift Register) generates a prime number (2p−1) unique number of Words. There is an assumed short list of Mersenne Primes where both p and 2p−1 are prime numbers. If a counter composed of individual length MP LFSR (Linear Feedback Shift Register)s are concatenated, the combined sequence (regardless of the initial set value of each of the counters) length will be the multiple, M1, of the lengths of all of the (2p1−1) (2p2−1) . . . (2pn−1) counters; the reason being that the only common denominator of all MP counters is 1. Any maximum length n celled nLFSR (2n Word length—where n is any positive integer) which includes the all ‘0’ Word in the sequence is only divisible by 2s and therefore is relatively prime to the Mersenne Prime concatenation. The length M2 of the above described Mersenne concatenation chained to the nLFSR counter is (2n)·M1. The length of the H concatenation (H1) of the two unique 32 bit HAIFA Word sequence generated by relatively prime linear shift register sequences is 263<H1<264 64 bit Words.
Certain embodiments of the present invention seek to provide a computerized system and method for authenticated negotiation for vending or other applications.
Certain embodiments of the present invention seek to provide a Negotiation initiating client managed negotiation scheme for purchasing goods and a wide range of services from a seller.
Conventionally, it is the domain of the seller to make an offer, and the recipient to accept. In contrast certain embodiments of the present invention provide computerized voucher negotiation e.g. so as to digitally enable recipients to create a “recipient managed voucher”, including a computerized request to a specific computerized entity for a product (say) on specific terms. For the seller the engine automatically assesses this offer “the negotiation” and returns one of, say an “accept”, “reoffer” or “reject” response. This retailer response is automated and the resultant response is dependent upon a sophisticated rule based negotiation process incorporated into the Voucher Transaction tool.
Typically, the Negotiation initiating client will have an option to continue negotiation after receiving a “reoffer voucher”.
The Negotiation initiating client Managed Voucher (negotiated computerized voucher) is a computerized document typically created by the recipient, negotiated according to certain embodiments of the present invention typically according to a vendor's voucher rule set. The rules relate to a range prices, terms of delivery, and product specification. If the offer to buy fits in to the range, the seller accepts the offer. If the offer is in a defined close proximity, the seller prepares a counter offer. If the offer is outside the close proximity, the seller sends a rejection, i.e., an n-Voucher,
A recipient managed voucher transaction engine (CMVTE) or “negotiated computerized voucher transaction engine” typically comprises a computer based vendor functionality, typically protected by conventional hardware symmetric or asymmetric business level cryptography, that enables Negotiation initiating client Managed Vouchers to be requested by the recipient, negotiated and responded to by the seller. It is a secured computerised software process that may be incorporated as a distinct functional component into other software solutions such as a seller's website or e-commerce site, or can be run independently across multiple sellers.
Certain embodiments of the present invention seek to provide a system to enable a recipient to register his own user account. A system for each recipient to input and generate his/her own profile data (e.g. CID).
Certain embodiments of the present invention seek to provide a system where the recipient account (CA) can be associated with additional recipient data held by the vendor (e.g. CVD) or other 3rd Parties (e.g. C3D).
Certain embodiments of the present invention seek to provide a system wherein a registered Negotiation initiating client is able to generate his/her own recipient managed voucher (negotiated computerized voucher).
Certain embodiments of the present invention seek to provide a system as above where the negotiated computerized voucher includes relevant terms (CMVT) typically defined by the vendor, whereby the recipient can adjust the value/parameters of such terms in order to negotiate more favourable terms for them as part of a negotiation process with the vendor.
Certain embodiments of the present invention seek to provide a system whereby each negotiated computerized voucher request is automatically evaluated and negotiated on behalf of the vendor and the recipient using a negotiation engine (VNE). The negotiation is determined based on a set of rules (VRS) predefined and updated by each vendor in the negotiated computerized voucher transaction engine and relevant data held on the recipient in the recipient data base (e.g. CD).
Certain embodiments of the present invention seek to provide a system whereby each negotiated computerized voucher interactive negotiation phase results in an automated response (CMVR) to the recipient from the vendor.
Certain embodiments of the present invention seek to provide a system whereby the recipient can continue to negotiate with the vendor by means of amended the negotiation initiating client managed voucher response (CMVR) until the CMVR is either an acceptance or rejection of the CMVR.
Certain embodiments of the present invention seek to provide a system whereby a recipient with an agreed negotiated computerized voucher (known as an “A” Voucher) can be issued with a physical or digital Voucher Redemption Token (VRT), a means of redeeming the negotiated computerized voucher.
Certain embodiments of the present invention seek to provide a system whereby the agreed Voucher Redemption Token (VRT), e.g. an agreed negotiated computerized voucher with acceptable terms can be redeemed by the recipient for goods and services under the agreed terms.
Certain embodiments of the present invention seek to provide a system which incorporates a Voucher Reader that provides vendors with an easy to use route of reading and redeeming the Voucher Redemption Token (VRT).
Certain embodiments of the present invention seek to provide a system that can interface with multiple sales channels—online and offline including point of sale systems to enable the A Voucher to be redeemed in as many places and in as many ways as possible.
Certain embodiments of the present invention seek to provide a system whereby the Voucher Redemption Token (VRT) can be delivered in multiple formats including but not limited to paper, digital, virtual (smartcard activation), mobile, NFC
Certain embodiments of the present invention seek to provide a recipient controlled system for voucher negotiation. This system digitally enables recipients to create their own promotion with a “recipient managed voucher”, enabling an efficient request to a specific vendor for a product or service on specific terms. For the seller the engine automatically assesses this offer “the negotiation” and returns an “accept”, “reoffer” or “reject” response. This vendor response is automated and the resultant response is dependent upon a sophisticated rule based negotiation process incorporated into the Voucher Transaction tool
Certain embodiments of the present invention seek to provide a secure network recipient managed purchasing of goods and or services voucher negotiation and payment system for networked purchases instigated by uniquely defined recipients in a recipient's uniquely selected sellers data base system:
wherein the recipient submits a seller acceptable format draft voucher to the seller; and/or wherein the draft voucher is subsequently used interactively in a negotiation process between the recipient and seller; and/or wherein in each negotiation stage the seller can return one of three formatted voucher; a reoffer voucher, a refuse i nvalidated voucher, an acceptance voucher; or following agreed upon payment, a final redeemable voucher, enabling delivery of cited goods by common carriers, for delivery via a specific retail outlet, for delivery via specific wholesale outlet, or for delivery in any one of many retail wholesale outlets.
Optionally, at point of delivery redeemable vouchers are invalidated.
Optionally, at retail wholesale point of delivery the deliverer will have a list of at least one unique expected recipient's voucher
Optionally, the redeemable voucher will have a keyed hash value, which is readable by the seller or the seller's proxy
Optionally, the redeemable voucher will contain sufficient information to identify the recipient Optionally, payment can be made using standard EMV, cash, stored value mobile phone devices or PayPal or similar mutually recipient seller, or seller proxy as agreed upon.
There is thus provided, in accordance with at least one embodiment of the present invention, wherein;
The present invention typically includes at least the following embodiments:
A system for facilitating computerized negotiations between populations of computerized first and second entities, the system including:
a first entity-controlled joint venture processor enabling a first entity in a population of computerized first entities, to present to at least one second entity in a population of computerized second entities, a first version of a proposed joint venture between the first entity and at least one second entity, the first version including a first set of values for each of a corresponding set of joint venture parameters; and
a second entity-controlled joint venture processor enabling a second entity in the population of computerized second entities, to receive the first version of the proposed joint venture from the first entity and to communicate to the first entity, a selectable communication from among a joint venture acceptance communication and a joint venture modification communication including a change of at least one value in the first set of values, thereby to define a second version of the proposed joint venture including a second set of values for each of the corresponding set of joint venture parameters,
wherein the first entity-controlled joint venture processor is also operative to enable the first entity to receive the second version of the proposed joint venture from the second entity and to communicate to the second entity, a selectable communication from among a joint venture acceptance communication and a joint venture modification communication including a change of at least one value in the second set of values as most recently received from the second entity-controlled joint venture processor, thereby to define an additional version of the proposed joint venture including an additional set of values for each of the corresponding set of joint venture parameters.
A system according to embodiment 1 and wherein at least one of the joint venture processors determines whether to communicate a joint venture acceptance communication or a joint venture modification message, using pre-programmed joint venture processor-specific accept vs. reoffer negotiating rules.
A system according to embodiment 1 wherein at least one of the joint venture processors is operative to communicate to the other of the joint venture processors, a selectable communication from a joint venture acceptance message, a joint venture modification message, and a joint venture refusal message.
A system according to embodiment 1 and wherein at least one of the joint venture processors determines whether and how to change at least one of the parameter values as most recently received from the other of the joint venture processors, using pre-programmed joint venture processor-specific re-offer generation rules.
A system according to embodiment 4 and wherein the pre-programmed re-offer generation rules comprise joint venture processor-specific rules for:
determining a joint venture partner desirability score based at least partly on parameter values as most recently received from the other of the joint venture processors;
determining weights of unit gaps between values presented by the first and second joint venture processors for each of the parameters, and
at least reducing gaps between values most recently presented by the first and second joint venture processors such that a sum of resulting gap reductions, over all parameters, respectively weighted by the weights, corresponds to the desirability score.
A system according to embodiment 5 wherein the sum of resulting gap reductions, over all parameters, respectively weighted by the weights, corresponds to the joint venture partner desirability score in that the greater the joint venture partner desirability score of an individual joint venture processor, computed using rules of a negotiating joint venture processor negotiating with the individual joint venture processor, the greater the gap reduction between values most recently presented by the individual and negotiating joint venture processors, that is mandated by the rules used by the negotiating joint venture processor.
A system according to embodiment 5 and wherein the pre-programmed re-offer generation rules comprise joint venture processor-specific rules for
determining a joint venture partner desirability score of a specific joint venture processor based at last partly on prior knowledge regarding the specific joint venture processor.
A system according to embodiment 1 wherein the first entity-controlled joint venture processor interfaces with human users via a website including presenting information to and receiving information from, the human users.
A system according to embodiment 1 wherein the joint venture includes provision of a resource from a provider to a recipient and wherein the first entity, who presents the first version, comprises the recipient and the second entity comprises the provider.
A computerized method for facilitating computerized negotiations between populations of computerized first and second entities, the method including:
providing a first entity-controlled joint venture processor enabling a first entity in a population of computerized first entities, to present to at least one second entity in a population of computerized second entities, a first version of a proposed joint venture between the first entity and at least one second entity, the first version including a first set of values for each of a corresponding set of joint venture parameters; and
providing a second entity-controlled joint venture processor enabling a second entity in the population of computerized second entities, to receive the first version of the proposed joint venture from the first entity and to communicate to the first entity, a selectable communication from among a joint venture acceptance communication and a joint venture modification communication including a change of at least one value in the first set of values, thereby to define a second version of the proposed joint venture including a second set of values for each of the corresponding set of joint venture parameters,
wherein the first entity-controlled joint venture processor is also operative to enable the first entity to receive the second version of the proposed joint venture from the second entity and to communicate to the second entity, a selectable communication from among a joint venture acceptance communication and a joint venture modification communication including a change of at least one value in the second set of values as most recently received from the second entity-controlled joint venture processor, thereby to define an additional version of the proposed joint venture including an additional set of values for each of the corresponding set of joint venture parameters.
A computerized method according to embodiment 10 wherein the providing a first entity-controlled joint venture processor comprises maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between at least first and second exchange participants, the method comprising:
computing a first, non-transmitted, hash value from at least one first frame generated by the first exchange participant;
computing a second, transmitted hash value from at least the first frame and the first, non-transmitted hash value, and
transmitting at least the first frame and the second hash value to at least the second participant.
A computerized method according to embodiment 10 wherein the providing a second entity-controlled joint venture processor comprises maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between first and second exchange participants, the method comprising:
receiving at least a first message frame and a second hash value from the first participant;
reconstructing a first hash value from the at least first message frame and the second hash value; and
using the first hash value as a secret key for continued exchange of at least one frame with the first participant.
A computerized method according to embodiment 12 wherein the secret key is used for hashing at least one frame to be transmitted to the first exchange participant.
A computerized method according to embodiment 12 wherein the secret key is used for hashing at least one additional frame received from the first exchange participant.
A computerized method according to embodiment 12 wherein the continued exchange comprises the receiving and the reconstructing and wherein a resulting first hash value is used as an additional secret key for even further continued exchange of at least one more frame with the first participant.
A computerized method according to embodiment 15 wherein the additional secret key is used for hashing at least one additional frame to be transmitted to the first exchange participant.
A computerized method according to embodiment 11 or embodiment 12 wherein at least one the participant comprises a Cipher Feedback Mode based pseudorandom hardware device.
A computerized method according to embodiment 17 wherein each Cipher Feedback Mode based pseudorandom hardware device is programmable to alternate between serving as a generator and transmitter of data operative to generate a hash digest of at least one frame and serving as a receiver including generating a hash digest of received data.
A computerized method according to embodiment 18 wherein each Cipher Feedback Mode based pseudorandom hardware device is programmable to alternate randomly between serving as a generator and transmitter of data operative to generate a hash digest of at least one frame and serving as a receiver including generating a hash digest of received data.
A computerized method according to embodiment 18 and also comprising using the second hash value to verify the hash digest and the first hash value.
A computerized method according to embodiment 11 wherein the at least first and second exchange participants includes the first participant and a plurality of second exchange participants and wherein the transmitting comprises transmitting at least the first frame and the second hash value to the plurality of second exchange participants.
A computerized method according to embodiment 11 wherein computing the first, non-transmitted, hash value comprises computing a hash digest of at least the first frame.
A computerized method according to embodiment 11 wherein at least the first frame is transmitted as a commercial-level encoded frame.
A computerized method according to embodiment 22 wherein the hash digest comprises first frame, encoded at a commercial-level.
A computerized method according to embodiment 11 wherein the transmitting comprises transmitting a concatenation of at least the first frame and the second hash value to the second participant.
A computerized method according to embodiment 12 wherein a final hash value is generated by the continued exchange and wherein the final hash value is digitally signed by the participants.
A computerized method according to embodiment 26 wherein at least one frame represents at least one characteristic of a proposed transaction and wherein the final hash value represents at least one characteristic of a transaction agreed between the participants and wherein the method also comprises:
storing, in a computerized database, final hash values digitally signed by participants in a multiplicity of exchanges; and
storing indications of consummation of transactions represented by final hash values in the database such that authorization of transactions by accessing the database prevents transactions from being consummated more than once.
A computerized method according to embodiment 26 or embodiment 27 wherein a public key signature process is employed to digitally sign the final hash value.
A computerized method according to embodiment 12 and also comprising using the second hash value to verify the first hash value and the first message.
A computerized method according to embodiment 15 wherein a final hash value is generated by the even further continued exchange and wherein the final hash value is digitally signed by the participants.
A computerized method according to embodiment 15 wherein the additional secret key is used for hashing at least one frame, other than the first frame, received from the first exchange participant.
A computerized system for maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between first and second exchange participants, the system comprising:
a receiver operative for receiving at least a first message frame and a second hash value from the first participant;
a hasher operative for reconstructing a first hash value from the at least first message frame and the second hash value; and
an encoder operative for using the first hash value as a secret key for continued exchange of at least one frame with the first participant.
A computerized system for maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between at least first and second exchange participants, the system comprising:
a hasher operative for computing a first, non-transmitted, hash value from at least one first frame generated by the first exchange participant and for computing a second, transmitted hash value from at least the first frame and the first, non-transmitted hash value, and
a transmitter receiving from the hasher, and transmitting to at least the second participant, at least the first frame and the second hash value.
A computerized method for maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between at least first and second exchange participants, the method comprising:
computing a first, non-transmitted, hash value from at least one first frame generated by the first exchange participant;
computing a second, transmitted hash value from at least the first frame and the first, non-transmitted hash value, and
transmitting at least the first frame and the second hash value to at least the second participant.
A computerized method for maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between first and second exchange participants, the method comprising:
receiving at least a first message frame and a second hash value from the first participant;
reconstructing a first hash value from the at least first message frame and the second hash value; and
using the first hash value as a secret key for continued exchange of at least one frame with the first participant.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method for maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between at least first and second exchange participants, the method comprising:
computing a first, non-transmitted, hash value from at least one first frame generated by the first exchange participant;
computing a second, transmitted hash value from at least the first frame and the first, non-transmitted hash value, and
transmitting at least the first frame and the second hash value to at least the second participant.
A computer program product, comprising a computer usable medium having a computer readable program code embodied therein, the computer readable program code adapted to be executed to implement a method for maintaining data integrity of an exchange of at least one computerized frame, each frame including at least one message, each message including at least one word, between first and second exchange participants, the method comprising:
receiving at least a first message frame and a second hash value from the first participant;
reconstructing a first hash value from the at least first message frame and the second hash value; and
using the first hash value as a secret key for continued exchange of at least one frame with the first participant.
Optionally, the first hash value tag authenticator detects a faulty hash value on a data section, RX requests a repeat of the transmission.
Optionally, the chaining value generated at the end each authenticated section is stored in a shadow memory of the complete chaining value, such that the stored in shadow memory values can reconcile the chaining value of the device ready to receive the perfect transmission which produces the true authentication.
Optionally, each section, after the first section of data of authenticated data consists of a data section concatenation where the first portion is a hash value/tag from the previous data section.
Optionally, each section, after the first section of data of authenticated data consists of a data section concatenation where the first portion is a first hash value/tag generated by both TX and RX, from the previous data section, and a second hash value/tag digested from concatenated data and the first hash value, transmitted by TX to and authenticated by RX.
Optionally, the first data section is initialized with a secret key wherein all subsequent encrypted data cannot be feasibly decrypted, and all subsequent hash value/tags cannot feasibly be authenticate the data sections by an entity who does not have access to the secret key and does not have the resources to make a successful brute force search of the original secret key.
Optionally, any first continuous sections of authenticated data can be deleted without eliminating the efficacy of the final sections and the signed token.
Optionally, the final Hash Value/Tag, or parts thereof, is concatenated to data stream which includes a voucher with a
Optionally, a central computer is aware of all coupons e.g. vouchers out there and does not allow a voucher to be presented more than once.
Also provided is a computer program product, comprising a computer usable medium or computer readable storage medium, typically tangible, having a computer readable program code embodied therein, and the computer readable program code adapted to be executed to implement any or all of the methods shown and described herein. It is appreciated that any or all of the computational steps shown and described herein may be computer-implemented. The operations in accordance with the teachings herein may be performed by a computer specially constructed for the desired purposes or by a general purpose computer specially configured for the desired purpose by a computer program stored in a computer readable storage medium.
Any suitable processor, display and input means may be used to process, display e.g. on a computer screen or other computer output device, store, and accept information such as information used by or generated by any of the methods and apparatus shown and described herein; the above processor, display and input means including computer programs, in accordance with some or all of the embodiments of the present invention. Any or all functionalities of the invention shown and described herein may be performed by a conventional personal computer processor, workstation or other programmable device or computer or electronic computing device, either general-purpose or specifically constructed, used for processing; a computer display screen and/or printer and/or speaker for displaying; machine-readable memory such as optical disks, CD ROMs, magnetic-optical discs or other discs; RAMs, ROMs, EPROMs, EEPROMs, magnetic or optical or other cards, for storing, and keyboard or mouse for accepting. The term “process” as used above is intended to include any type of computation or manipulation or transformation of data represented as physical, e.g. electronic, phenomena which may occur or reside e.g. within registers and/or memories of a computer.
The above devices may communicate via any conventional wired or wireless digital communication means, e.g. via a wired or cellular telephone network or a computer network such as the Internet.
The apparatus of the present invention may include, according to certain embodiments of the invention, machine readable memory containing or otherwise storing a program of instructions which, when executed by the machine, implements some or all of the apparatus, methods, features and functionalities of the invention shown and described herein. Alternatively or in addition, the apparatus of the present invention may include, according to certain embodiments of the invention, a program as above which may be written in any conventional programming language, and optionally a machine for executing the program such as but not limited to a general purpose computer which may optionally be configured or activated in accordance with the teachings of the present invention. Any of the teachings incorporated herein may wherever suitable operate on signals representative of physical objects or substances.
The embodiments referred to above, and other embodiments, are described in detail in the next section.
Any trademark occurring in the text or drawings is the property of its owner and occurs herein merely to explain or illustrate one example of how an embodiment of the invention may be implemented.
Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions, utilizing terms such as, “processing”, “computing”, “estimating”, “selecting”, “ranking”, “grading”, “calculating”, “determining”, “generating”, “reassessing”, “classifying”, “generating”, “producing”, “stereo-matching”, “registering”, “detecting”, “associating”, “superimposing”, “obtaining” or the like, refer to the action and/or processes of a computer or computing system, or processor 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. The term “computer” should be broadly construed to cover any kind of electronic device with data processing capabilities, including, by way of non-limiting example, personal computers, servers, computing system, communication devices, processors (e.g. digital signal processor (DSP), microcontrollers, field programmable gate array (FPGA), application specific integrated circuit (ASIC), etc.) and other electronic computing devices.
The present invention may be described, merely for clarity, in terms of terminology specific to particular programming languages, operating systems, browsers, system versions, individual products, and the like. It will be appreciated that this terminology is intended to convey general principles of operation clearly and briefly, by way of example, and is not intended to limit the scope of the invention to any particular programming language, operating system, browser, system version, or individual product.
Certain embodiments of the present invention are illustrated in the following drawings:
a is a simplified semi-block diagram semi-pictorial illustration of an example system for facilitating computerized negotiations between populations of computerized first and second entities, according to certain embodiments of the present invention.
b is a simplified semi-block diagram semi-pictorial illustration of a Registration Process for partners to a computerized negotiation using a computerized voucher to represent a status or outcome of the computerized negotiation, all operative according to certain embodiments of the present invention, which is useful e.g. for generating input for block 18 of
c is a simplified semi-block diagram semi-pictorial illustration of a scheme, useful e.g. in optionalizing block 18 of
d is a simplified semi-block diagram semi-pictorial illustration of a Negotiation initiating client Managed Voucher Negotiation Process, useful e.g. in operationalizing block 1011 of
e is a simplified semi-block diagram semi-pictorial illustration of a negotiated computerized voucher Redemption Process, useful e.g. in operationalizing block 1013 of
f and 1g, taken together, form a simplified logic flow diagram of a Voucher Negotiation Engine useful e.g. in operationalizing block 1010 of
a is a simplified flow chart illustration of a method, including some or all of the illustrated steps, suitably ordered e.g. as shown, for negotiation of a Negotiation initiating client Managed Voucher.
b demonstrates a simplified schematic that describes how a potential negotiation initiating client activates an account with an intended vendor.
The following terminology is employed in the drawings:
Described herein is an accelerated transparent authenticated Data Exchange system wherein the chronology of alternating senders' and receivers' messages is authenticated typically at each step; e.g. each time a message is sent or received, with an easy to use provision for resending, in the event of faulty transmission, typically such that the final message hash value authenticates the negotiation chronologically from first to final message, wherein the final hash value is operative to enable a signature of an entity or entities which binds such entity to the whole data exchange, which signature may be in clear text, encoded, and/or encrypted with authentication integrity. The system is useful for managing computerized negotiations including client-initiated computerized negotiations and including computerized financial transactions.
Reference is now made to
11 Negotiation initiating client goes to the vendor's website online
12 Negotiation initiating client login's and browses website as per normal activities
13 Negotiation initiating client selects products to purchase (data held in Negotiation initiating clients standard e-commerce product database).
14 Negotiation initiating client sends product selection to basket of vendor's website. Once negotiation initiating client has selected all the products/services it requires the recipient moves to the basket section of the vendors website as if to complete the transaction.
15 The Vendor's website contains an interface to the Negotiation initiating client Managed Voucher Generator (CMVG) in the basket section. At this stage the recipient can opt to create a negotiated computerized voucher (or of course they can just complete their purchase as normal).
16 If they opt to create negotiated computerized vouchers for the goods they have selected then they need to login to the Negotiation initiating client Managed Voucher Generator (CMVG) with their username and password.
17 If the recipient is registered then the recipient can move straight to creating the negotiated computerized voucher Request, if not then the recipient may need to register with the negotiated computerized voucher transaction engine through the Negotiation initiating client Managed Voucher Generator (CMVG); e.g., in
18. The recipient can create a negotiated computerized voucher and set his/her own terms (CMVT), subject to the Vendor Rule Set (VRS) for that product (e.g. in
19. Once completed the recipient can generate a negotiated computerized voucher Request (CMVR) which is sent to the Voucher Negotiation Engine (VNE) component of the system to be negotiated (110)
1011. The negotiated computerized voucher is negotiated (e.g. in
1012. If the voucher falls outside the Vendor Rule Set (VRS) and is rejected then a rejection notice is sent to the recipient via the Negotiation initiating client Managed Voucher Generator (CMVG) interface (114).
1013. If the voucher is acceptable then a Voucher Redemption Token (VRT) is issued (e.g. in
1015. The Voucher Negotiation Engine can also send an amended offer to the recipient via the Negotiation initiating client Managed Voucher Generator (CMVG) interface for the recipient to accept or reject. If they accept this amended offer then a Voucher Redemption Token (VRT) is created (e.g. in
b illustrates a process for registering as a recipient according to certain embodiments of the present invention. The steps of
21. Through the Negotiation initiating client Managed Voucher Generator (CMVG) interface a new recipient can register for a recipient account on the negotiated computerized voucher transaction engine system.
22. Negotiation initiating client selects new recipient set-up
23. A new account is created in the Negotiation initiating client database with a unique username and password
24. The new recipient is prompted to enter profile data (CID) which is stored in the Negotiation initiating client Database (CD).
25. The Negotiation initiating client Database (CD) holds all the information on the recipient and contains both the Negotiation initiating client Input Data (CID) and additional information from the vendors own recipient databases (e.g. CVD) (26) (e.g. in
28. Once the recipient account has been created the recipient can start to generate negotiated computerized voucher Requests via the Negotiation initiating client Managed Voucher Generator (CMVG) interface.
c illustrates a process whereby a Vendor creates the negotiated computerized voucher Terms according to certain embodiments of the present invention. The steps of
31. The Vendor can manage the negotiated computerized voucher Terms via the negotiated computerized voucher transaction engine Vendor interface. This component enables the vendor to set the limits of the negotiated computerized voucher Terms that the recipient can select for each product.
32. The Vendor can create an account on the negotiated computerized voucher transaction engine using the account set-up routine.
33. The Vendor account information is stored in the Vendor Database.
34. The Vendor can create a rule set for each product/service defining the variable terms that the Negotiation initiating client can use in creating the negotiated computerized voucher Request.
35. The limits can be set for price, volume, discount, dates.
36. And can be attributed to each item in the vendor's product database, on an item by item basis, group of product items or as a whole.
37. The negotiated computerized voucher Terms rules are stored in the Vendor Rule Set (VRS) and are used as part of the Voucher Negotiation process.
38. The Vendor can also specify Negotiation initiating client profile factors as part of the Vendor Rule Set (VRS); i.e., previous purchases of the recipient, age, profile etc.
39. The negotiated computerized voucher Terms are applied to the Negotiation initiating client Managed Voucher Generator (CMVG) and used by the recipient when they create a negotiated computerized voucher request.
d illustrates a negotiated computerized voucher Request Negotiation Process operative according to certain embodiments of the present invention. The steps of
41. Negotiation initiating client may create a negotiated computerized voucher Request using the Negotiation initiating client Managed Voucher Generator (CMVG) interface (e.g. in
42. Request is posted to the Voucher Negotiation Engine (VNE) a component of the negotiated computerized voucher transaction engine
43. The automated voucher negotiation process is undertaken by the Voucher Negotiation Engine (VNE). The process involves the system comparing the negotiated computerized voucher Terms in the negotiated computerized voucher Request against the Vendor Rule Set (44) for that product.
44. Where the Vendor Rule Set (VRS) specifies a specific recipient profile factor (i.e. prior spend, age, etc) the system may utilise the data in the Negotiation initiating client Database (45). This data is created using Negotiation initiating client Input Data (CID) (46), Negotiation initiating client Vendor Data (CVD) (47) and Negotiation initiating client 3rd Party Data (C3D) (48).
49. The system may analyse the CMVR (negotiation initiating client managed voucher response OR negotiated computerized voucher Request, depending on context) and compare to the Vendor Rule Set (VRS) for each product and if the terms of the CMVR are within the tolerance of the Vendor Rule Set (VRS) rules then the CMVR is accepted, if delta tolerance is within reoffer range then the system may reoffer the negotiated computerized voucher at restated terms or if not then the offer may be rejected.
4010. If the CMVR is rejected this is communicated to the recipient via the Negotiation initiating client Managed Voucher Generator (CMVG) Interface
4011. If the offer is within the reoffer tolerances then the system may create a Reoffer negotiated computerized voucher for the recipient. This is communicated to the recipient via the Negotiation initiating client Managed Voucher Generator (CMVG) Interface.
4012. If the offer is accepted then a Voucher Redemption Token (VRT) may be issued by the Voucher Negotiation Engine (VNE),
e illustrates a negotiated computerized voucher Redemption Process according to certain embodiments of the present invention. The steps of
51. In the event that the Voucher Negotiation Engine (VNE) has accepted (52) the CMVR or the Negotiation initiating client has accepted the CMVR reoffer then Voucher Negotiation Engine (VNE) may generate a Voucher Redemption Token (VRT).
53. The voucher redemption token can be generated in different formats (Voucher Formats); the format generated may depend on the vendor's preference for the product or service being offered.
54. The voucher token formats are as follows:
55. The Voucher Redemption Token (VRT) can be issued as a physical paper or printed voucher carrying a unique barcode that can be identified and redeemed at the vendors point of sale. The recipient can print this direct from the Negotiation initiating client Managed Voucher Generator (CMVG) or delivered via email.
56. The Voucher Redemption Token (VRT) can be issued as a mobile barcode sent to the mobile phone of the recipient or as an activation of the NFC smart chip in the recipients mobile.
57. The Voucher Redemption Token (VRT) can be issued as a virtual activation of the smartcard device held by the recipient (either a contact or contactless card).
58. The Voucher Redemption Token (VRT) can be issued as a voucher code that the recipient can input into the website of the vendor to redeem the offer or as a direct database link to the vendors e-commerce basket so that the recipient can complete the purchase transaction at the new agreed terms.
59. The negotiated computerized voucher transaction engine also comes with a Voucher Reader designed to work directly with the negotiated computerized voucher transaction engine. The voucher reader can read and redeem all physical, mobile and digital Voucher Redemption Token (VRT) s created by the system. The Voucher Reader is a standalone unit or can be integrated into the vendor's point of sale systems.
f-1g, taken together, illustrate an example logic flow for a Voucher Negotiation Engine according to certain embodiments of the present invention. The steps of
A Two stage process may be employed:
Stage 1: the negotiated computerized voucher Generator checks the negotiated computerized voucher terms input by the recipient against the min and max negotiated computerized voucher range established by the vendor:
61, 62 and 63 negotiated computerized voucher Terms 1 to n established by vendor
64, 65 and 66 Maximum and Minimum range set by vendor for each term
67, 68 and 69 Negotiation initiating client inputs term request within the negotiated computerized voucher Generator for each term.
610, 611 and 612 each input is checked against vendor range, if within range then accepted and a negotiated computerized voucher Request is generated (616)
613, 614 and 15 If a term is not within the range then the recipient is notified via the Negotiation initiating client Managed Voucher Generator (CMVG) interface and has the opportunity to adjust until within vendor range. If they do want this option then the process is terminated.
Stage 2: the negotiated computerized voucher Request is checked against the Vendor Rules.
617, 618 and 19 The Vendor Rule Set set-up by the vendor within the negotiated computerized voucher transaction engine.
620, 621, 622 and 23 Queries against the Negotiation initiating client Database (one for each Vendor Rule Set (VRS)) and the output is created (VRO).
624, 625 and 26, For each item of the Vendor Rule Set (VRS) the VRO is matched against the negotiated computerized voucher Request if the terms are in accordance with all the VRO's then the negotiated computerized voucher Request is accepted and a Voucher Redemption Token (VRT) (627) is issued for the recipient to use.
628, 629 and 30 If for each Vendor Rule Set (VRS) the VRO does not match against the negotiated computerized voucher Request then a digit of 1 is added to the rejection counter and the negotiated computerized voucher Request is matched against the next item of the Vendor Rule Set (VRS). For each rejection the counter is progressed by one.
631 and 32 once all the Vendor Rule Set (VRS) have been checked a reoffer can be issued. The nature of the reoffer is predetermined by the vendor. The system enables multiple re-offers to be issued depending on the number of Vendor Rule Set (VRS) mismatches. For 1 mismatch (counter 1) then Reoffer 1 can be issued.
633, 634, 635 and 36 for each additional mismatch (counter 2 . . . n) then another one of the predetermined reoffers can be issued. In this way a negotiated computerized voucher Request for a recipient that is a close match to the Vendor Rule Set (VRS) can get a better reoffer than a recipient with only a loose match to the Vendor Rule Set (VRS); i.e., a recipient that spends more (if spend is a Vendor Rule Set (VRS)) gets a better reoffer than a recipient that has a limited prior spend with the vendor.
Examples of applications for the negotiated computerized voucher transaction engine shown and described herein include but are not limited to the following:
1) Computerized negotiations in the Airline Industry—A recipient wants to book a flight to Amsterdam, on a certain date, with a specific airline; wherein he is known to be loyal. He wants to obtain an incentive to travel. The recipient can go to the airline website, select the flight details, click on the airlines negotiated computerized voucher generator and build their negotiated computerized voucher request: This request maybe for a price discount, an upgrade, or even access to a lounge, a willingness to accept a late night flight, a willingness to spend discounted loyalty points, a discount on food or on board duty free purchases, agree not to accept free on board food or drink, get full or extra frequent flyer points for a discounted or super economy ticket, a discount on a hotel room, etc. This request may be analysed against the criteria selected by the airline and based on the recipient profile a response may be issued. If accepted the voucher may serve as the standard electronic ticket or the recipient may be sent a digital Voucher Redemption Token (VRT) that they can redeem online as part of the purchasing process.
2) Computerized negotiations in Retail purchasing—A recipient wants to purchase a specific item from a retailer (or wholesaler or manufacturer). The recipient generates a recipient managed voucher direct from the retailers (vendors) negotiated computerized voucher generator attached to the retailer's website. The negotiated computerized voucher Request is analysed by the retailer using the negotiated computerized voucher transaction engine and an automatic response is generated based on the profile of the recipient and other computerized management factors (such as stock levels).
3) Computerized negotiations in the Entertainment Industry—A football fan wants to obtain a ticket to a specific game. The fan generates a recipient managed voucher via the teams own website. This request is analysed by the teams negotiated computerized voucher transaction engine. In response to the negotiation the fan may receive an acceptance (A-voucher), a rejection (N-voucher) or a re-offer (R-voucher); e.g., the fan may receive the voucher as requested; or a standard price offer with added hospitality as an incentive or in a typically rarer case, an outright rejection.
The methods shown and described herein may be operative to safely prove identity of a valid entity in a system, to supply information to a cryptographically operated reader, with relative small memory size able to allow off-line entry to an applicant for entrance pendant on recent or immediate status of the applicant, as to the point of entry, the expected time interval of entry, and in some instances to revert in due time to an on-line mode as would be necessary in a crowd control environment, or time and attendance entrance points for university or hotel employees.
Automatic transactions may take place in hardware e.g. as described herein with reference to the embodiments of
Older, commercially available Fortress GB Ltd. systems, some of which were deployed several years ago, handle up to 50,000 dynamically changing system clients, and presently deployed systems are able to accommodate up to 250,000 system clients in a disbursed environment with a plurality of entry points. Fortress GB Ltd's competitors have not been able to control access to such large clientele. The new systems may accommodate up to 1,000,000 potential users of such a system, where each of the 1,000,000 applicants for entry are recognizable in any one of the plurality of off-line points of entry. With new low-cost orders of magnitude large non-volatile memory, future entry controllers may accommodate, off-line, hundreds of millions of users' tokens and tens of millions of reader devices, embedded in a plurality of conventional and futuristic devices.
These systems have been and are being deployed with a multiplicity of security levels, methods and devices. Typically, the connections between the readers, servers, issuing computers and door and gate controllers have been protected with Public Key and symmetric Cryptographic means, e.g., RSA, DES, 3DES and Wolfram methods. Multi-application and multi-vendor applications have typically been implemented on public key protected smart cards and SIM chips. Users have had the benefit of multi-application public key protected smart cards and a plurality of emulated public key applications, using contactless Inside and Mifare devices.
In applicant's Provisional U.S. application No. 60/565,393, methods and apparatus for communicating with contactless smart cards are described, wherein the antenna in the terminal device, e.g., mobile phones, USB secured mass memory devices (Intellifiers) depicted in
According to Wikipedia, “A dynamic web page is . . . prepared with fresh information (content and/or layout), for each individual viewing. It is not static because it changes with the time (e.g. news content), the user (e.g. preferences in a login session), the user interaction (e.g. web page game), the context (e.g. parametric customization), or any combination thereof.”
A dynamic web page may be generated on the fly e.g. by piecing together blocks of code, procedures or routines. A dynamically-generated web page may recall information items from a database and put them together in a pre-defined format to present the reader with a coherent page. A dynamically-generated web page may interact with users e.g. by reading cookies recognizing users' previous history, session variables, server side variables etc., or by using direct interaction such as but not limited to form elements and mouse rejections. A dynamically-generated web page may display the current state of a dialogue between users, and/or provide information specific to an individual user.
A website may have with dynamic content displayed in plain view. Variable content is displayed dynamically on the fly e.g. by retrieving content stored in a database. According to Wikipedia, “A website with dynamic content refers to how its messages, text, images and other information are displayed on the web page and more specifically how its content changes at any given moment. The web page content varies based on certain criteria, either pre-defined rules or variable user input.”
There is a wide range of software systems, such as but not limited to ANSI C servlets, Java Server Pages (JSP), the PHP, Perl, Python, and Ruby programming languages, ASP.NET, Active Server Pages (ASP), YUMA and ColdFusion (CFML) that are available to generate dynamic web systems and dynamic sites. Sites may include content that is retrieved from one or more databases or by using XML-based technologies such as RSS.
Such databases may employ a database management system (DBMS) such as but not limited to Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, MySQL and SQLite.
Dynamic web sites may be Client-side scripted or server-side scripted. Client-side scripting and content creation may be employed to change interface behaviors within a specific web page, in response to mouse or keyboard actions or at specified timing events. Wikipedia describe that such web pages may use presentation technology called rich interfaced pages. Client-side scripting languages such as but not limited to JavaScript or Action Script, used for Dynamic HTML (DHTML) and Flash technologies respectively, may be used to orchestrate sound, animations, changing text, and other media items of the presentation. Client-side scripting may involve remote scripting, by which a DHTML page requests additional information from a server, using any suitable technology such as but not limited to hidden Frame, XML Http Requests, or a Web service.
Client-side content may be generated on a website user's computer. The web browser may retrieve a page from the server; process in the JavaScript (e.g., code embedded in the page) and displays the retrieved page's content to the user. The inner HTML property (or write command) is useful for client-side dynamic page generation.
Server-side scripting and content creation are now described. According to Wikipedia, “Server-side scripting is a web server technology in which a user's request is verified by running a script directly on the web server to generate dynamic web pages.” Server-side scripting may be used “to provide interactive web sites that interface to databases or other data stores. This is different from client-side scripting where scripts are run by the viewing web browser, usually in JavaScript.” Server-side scripting yields “the ability to highly customize the response based on the user's requirements, access rights, or queries into data stores.” According to Wikipedia, “A program running on the web server (server-side scripting) is used to change the web content on various web pages, or to adjust the sequence of or reload of the web pages. Server responses may be determined by such conditions as data in a posted HTML form, parameters in the URL, the type of browser being used, the passage of time, or a database or server state. Such web pages are often created with the help of server-side languages such as ASP, ColdFusion, Perl, PHP, and other languages. These server-side languages often use the Common Gateway Interface (CGI) to produce dynamic web pages. Two notable exceptions are ASP.NET and JSP, which reuse CGI concepts in their APIs but actually dispatch all web requests into a shared virtual machine. Server-side dynamic pages can also use the first kind of dynamic content on the client side.”
Combining client and server side technology is also known. For example, Ajax is a web development technique for dynamically interchanging content with the server-side, without reloading the web page.
Optionally, a transaction participant may be prompted to input a price and a source establishing the reasonableness of the suggested price e.g. a webpage offering the same or a related price.
Optionally, a transaction participant's Time to Answer No to a Vendor's last offer is recorded since certain windows of values for this parameter may indicate that the transaction participant is just fishing.
Optionally, a transaction participant's Time to Answer Yes to a Vendor's last offer is recorded. U.S. application Ser. No. 13/143,172 describes how we use cipher mode feedback to encrypt and hash, or to encrypt without hash, or to hash without reading the encryption. This is operable in the system described herein because in this system, optionally, hashing and encryption need not employ two different initializations and/or keys.
Typically, a long set of frames, or words encrypted as file data, is sent. The sender affixes a string of All ‘5’ (say) hexadecimal words e.g. 5555 5 55 . . . 5555 (binary 010101010 . . . ). The receiver decrypts the encrypted all ‘5’s; assuming that no false bit was sent (the encryption of data would also output gibberish but this might not be detected), and the receiver's machine detects and counts the All ‘5’s, and knows that all previous bits in the transmission are correct. Hash Digest herein typically comprises the feedback of encrypted words into what might be termed a pseudo random function PRF (Pseudo Random Function). The output of the PRF (Pseudo Random Function), the cipher mask, is identical in both Sender and receiver; it encrypts clear text, and deciphers cipher text. In the Cipher Feedback Mode, every Message bit diffuses into all of the variable bits in the cipher machine.
Elements which may, some or all, be provided in secured Negotiated Network Purchasing Based on Encryption with Integrity are now described in detail with reference to
In
a is an overview describing the negotiation of a Negotiation initiating client Managed Voucher negotiated computerized voucher (CMV) process according to certain embodiments of the present invention. The steps of
1001 Negotiation initiating client logs on to the Internet 1002.
1002 Negotiation initiating client researches 3rd Party product offering websites 1320 thereby drawing information from 3rd Party Data (C3D) Data Bases 1330 in preparation for creating a privileged CMV.
Negotiation initiating client logs into Vendors Negotiation initiating client Managed Generator website 1300; selects product to purchase from data held in Vendor's Product Offering website 1300 drawing product information from 1305 Vendor Product Database. At this stage the Negotiation initiating client is ready to prepare a negotiated computerized voucher (CMV) in the Negotiation initiating client Managed Voucher Generator.
1003. At the end of negotiation process, Negotiation initiating client's eCommerce Basket receives an A-Voucher and a Voucher Redemption Token enabling Negotiation initiating client to receive purchased Product.
1004 When a transaction is completed, Negotiation initiating client logs off, and Negotiation initiating client Managed Voucher Generator (CMVG) stores relevant data in the Negotiation initiating client Database CD 1310.
1005 Negotiation initiating client logs into Negotiation initiating client Managed Voucher Transaction Engine, CMVTE
1006 If the Negotiation initiating client is not Registered, Negotiation initiating client formally Registers in
1007 Negotiation initiating client prepares Term parameters for Negotiation initiating client's proposed CMV.
1008 The Negotiation initiating client creates a negotiated computerized Voucher and defines the Negotiation initiating client's own terms in Negotiation initiating client Managed Voucher Transaction Engine CMVTE, subject to the Vendor Rule Set VRS for product in
1011: The Vendor's Voucher Negotiation Engine VNE assesses Negotiation initiating client's CMV, and decides either: to Reject 1014 and Terminate in 1017; or to accept and issue an A-Voucher in 1013; or to request a new Reoffer R-Voucher from the Negotiation initiating client 1015.
1016 The Vendor issues a Voucher Redemption Token with an A-Voucher.
1018 The Vendor assesses the negotiated computerized voucher (CMV) and decides either to: Accept and issue an A-Voucher in 1013; to Terminate in 1017; or to request a Reoffer from the Negotiation initiating client in 1015.
b illustrates a process for registering a new Negotiation initiating client according to certain embodiments of the present invention. The steps of
2001 The Negotiation initiating client's Registration Interface BRI formally accepts a new Negotiation initiating client.
2002 A new Negotiation initiating client account CA is created granting the Negotiation initiating client a unique Username and Password.
2003 The Negotiation initiating client is prompted to enter Negotiation initiating client Input profile Data CID which is stored in; the Negotiation initiating client Database CD 20042007 When the Negotiation initiating client's account is activated and relevant, Negotiation initiating client launches a Negotiation initiating client Managed Voucher Generator Negotiation initiating client Managed Voucher Generator (CMVG) Negotiation, e.g. as shown in
3001: The Vendor's Negotiation initiating client Managed Voucher Transaction Engine, CMVTE, creates a set of attributes for a negotiation process, including,
3002: Stored data of product basic limits.
3003: The Vendor's Negotiation initiating client Database CD contains each Negotiation initiating client's profile;
3004: from which relevant data for specific terms of negotiation are collected to be aggregated in element 3006.
3005: Chosen product attributes, e.g., stock, cost price, availability, etc. are drawn from Vendor's Product Database CVD
3006: wherein Vendor Aggregates negotiated computerized voucher (CMV) Term parameters with Basic Limits 3002, graded by the Negotiation initiating client Profile Factors 34 and Product Term Attributes—to develop (at element 3007) a Vendor Rule Set, VRS, for a specific Negotiation initiating client's CMV—said VRS is processed in—3008 the negotiated computerized voucher (CMV) Generator CMVG, to launch a negotiation.
4001 Using the Negotiation initiating client Managed Voucher Generator (CMVG), the Negotiation initiating client launches a negotiated computerized Negotiation initiating client Voucher Request or Response in 4002 the automated Voucher Negotiation Engine (VNE) following the 4003 Vendor Rule Set VRS to decide—e.g. at element 4004—how to process the CMV; either in, 4005 the Voucher Negotiating Engine (VNE) 4002 which sends a Rejection N-Voucher, and the Negotiation is Terminated in 4008; or, 4006 the Voucher Negotiating Engine (VNE) 4002 which sends a request to Reoffer, an R-Voucher to the Negotiation initiating client Managed Voucher Generator (CMVG) to aid the Negotiation initiating client to assemble a Reoffer; or, if the negotiated computerized voucher (CMV) is acceptable the Vendor prepares an A-Voucher and a Voucher Redemption Token, VRT.
5001: Culminating the process, the Vendor issues a Voucher Redemption Token and an A-Voucher in any one of the at least four sample formatted Voucher Redemption Tokens, VRT:
5002: the Voucher Redemption Token (VRT) may be issued as a commercially pre-printed or a home, over the Internet, printed Voucher 5005 carrying a unique barcode that can be identified and redeemed at the Vendor's Redemption Token and A-Voucher Reader 5006; wherein the Redemption Token 5002 is transmitted over the Internet, or delivered via email or by post mail; or,
5003: the Voucher Redemption Token (VRT) may be issued as a mobile barcode sent to or copied onto the Mobile Phone 5006 of the Negotiation initiating client or as a network activation via an NFC smartcard chip in the Negotiation initiating client's mobile phone; or,
5004: the Voucher Redemption Token VRT may be a remotely activated virtual Voucher Redemption Token VRT in the Negotiation initiating client's contact or contactless smartcard device 5007, transmitted by fix line or wireless telephone or over the Internet; or,
5005: the Voucher Redemption Token VRT may be issued as a Voucher code that the Negotiation initiating client may download from the Vendor's website
5006: The Vendor's Voucher Readers may be designed to work directly with the negotiated computerized Voucher Transaction Engine
Into element 6007, 6008 and 6009 Term Parameters, the Negotiation initiating client optionally enters new Parameter requests/response wherein, elements 6010, 6011 and 6012 each input is checked against the adapting Min-Max ranges; if the 2 to N−1 negotiated computerized voucher (CMV) Term is within the range the term is accepted and the Term negotiation sequence proceeds to the next term; From accepted Term N the sequence proceeds to Save All N Terms in 6002.
In elements 6013, 6014 and 6015 the Voucher Negotiating Engine (VNE) checks to see if a term is within a reasonable small Delta proximity near to the Min-Max Range, the Negotiation initiating client is allowed to proceed to make a new offer; if Terms are not included in the small Delta of the Range, the negotiation is terminated in 6025, 6026 and 6027.
In elements 6016, 6017 and 6018 a Trial Counter is incremented at each attempt by the Negotiation initiating client to modify the CMVR Term; wherein, elements 6019, 6020 and 6021 the Voucher Negotiating Engine (VNE) rejects any trial Reoffer in excess of the Count Max and Terminates in—elements 6025, 6026 and 6027 with an N-Voucher; wherein via elements 6022, 6023 and 6024 the Negotiation initiating client submit s a changed Term Parameter to—6007, 6008 and 6009; wherein the Voucher Negotiating Engine (VNE) reassesses the new Parameters in 6010, 6011, and 6012, and from which the negotiation process is repeated.
The processes of
The above U.S. Ser. No. 13/143,172, published as US2011/0286596, describes at least the following embodiments which may be used in conjunction with systems and methods shown and described herein:
A method comprises: applying a share encoding function on data to produce a plurality of encoded shares; generating a plurality of random numbers; obtaining a set of personalized authenticating values regarding user access to the data; generating a plurality of hidden passwords based on the set of personalized authenticating values; for each encoded share of the plurality of encoded shares: generating an encryption key based on a corresponding one of the plurality of hidden passwords and a corresponding one of the plurality of random numbers; and encrypting the encoded share utilizing the encryption key to produce an encrypted share; and facilitating storage of the plurality of random numbers and each of the encrypted shares.
The method of Embodiment 1, wherein the share encoding function comprises at least one of a dispersed storage error encoding function; and a secret sharing function.
The method of embodiment 1, wherein the generating the corresponding plurality of random numbers comprises: obtaining a plurality of base random numbers; and expanding each base random number of the plurality of base random numbers based on security parameters to produce the corresponding plurality of random numbers.
The method of embodiment 1, wherein the set of personalized authenticating values includes at least one of: a user device identifier (ID); a user ID; a personal information number (PIN); a badge ID; a district ID; a work-shift ID; an assignment ID; a mission ID; a passcode; a password; a picture file; a video file; an audio file; a retinal scan; a facial scan; a fingerprint scan; a personal secret; and a password index number.
The method of embodiment 1, wherein the generating the corresponding plurality of hidden passwords comprises: transforming the set of personalized authenticating values in accordance with a set of transformation functions to produce a set of transformed personalized authenticating values; and for each password of the corresponding plurality of hidden passwords: combining, in accordance with a combining function, one of the set of transformed personalized authenticating values with at least one of a constant and another one of the set of transformed personalized authenticating values to produce the password.
The method of Embodiment 5, wherein the transformation function includes at least one of: a null function; a concatenation function; an inverting function; a hashing function; an encryption function; a compressing function; and a mask generating function.
The method of embodiment 5, wherein the combining function includes at least one of: an addition function; a subtraction function; a multiplication function; a division function; a logical exclusive OR function; a logical OR function; and a logical AND function.
The method of embodiment 1, wherein the generating the encryption key comprises: transforming the corresponding one of the plurality of hidden passwords utilizing a mask generating function, security parameters, and the corresponding one of the plurality of random numbers.
The method of embodiment 1, wherein the facilitating storage of the corresponding plurality of random numbers and the encrypted shares comprises at least one of: sending the encrypted share and the corresponding one of the corresponding plurality of random numbers to a dispersed storage (DS) processing unit; dispersed storage error encoding the encrypted share to produce a plurality of encoded share slices and outputting the plurality of encoded share slices for storage; and dispersed storage error encoding the corresponding one of the corresponding plurality of random numbers to produce a plurality of encoded random number slices and outputting the plurality of encoded random number slices for storage.
A computer comprises: an interface; a memory; and a processing module operable to: apply a share encoding function on data to produce a plurality of encoded shares; generate a plurality of random numbers; obtain a set of personalized authenticating values regarding user access to the data; generate a plurality of hidden passwords based on the set of personalized authenticating values; for each encoded share of the plurality of encoded shares: generate an encryption key based on a corresponding one of the plurality of hidden passwords and a corresponding one of the plurality of random numbers; and encrypt the encoded share utilizing the encryption key to produce an encrypted share; and facilitate storage of the plurality of random numbers and each of the encrypted shares.
The computer of embodiment 10, wherein the share encoding function comprises at least one of: a dispersed storage error encoding function; and a secret sharing function.
The computer of Embodiment 10, wherein the processing module functions to generate the corresponding plurality of random numbers by: obtaining a plurality of base random numbers; and expanding each base random number of the plurality of base random numbers based on security parameters to produce the corresponding plurality of random numbers.
The computer of embodiment 10, wherein the set of personalized authenticating values includes at least one of: a user device identifier (ID); a user ID; a personal information number (PIN); a badge ID; a district ID; a work-shift ID; an assignment ID; a mission ID; a passcode; a password; a picture file; a video file; an audio file; a retinal scan; a facial scan; a fingerprint scan; a personal secret; and a password index number.
The computer of embodiment 10, wherein the processing module functions to generate the corresponding plurality of hidden passwords by: transforming the set of personalized authenticating values in accordance with a set of transformation functions to produce a set of transformed personalized authenticating values; and for each password of the corresponding plurality of hidden passwords: combining, in accordance with a combining function, one of the set of transformed personalized authenticating values with at least one of a constant and another one of the set of transformed personalized authenticating values to produce the password.
The computer of Embodiment 14, wherein the transformation function includes at least one of: a null function; a concatenation function; an inverting function; a hashing function; an encryption function; a compressing function; and a mask generating function.
The computer of embodiment 14, wherein the combining function includes at least one of: an addition function; a subtraction function; a multiplication function; a division function; a logical exclusive OR function; a logical OR function; and a logical AND function.
The computer of embodiment 10, wherein the processing module functions to generate the encryption key by: transforming the corresponding one of the plurality of hidden passwords utilizing a mask generating function, security parameters, and the corresponding one of the plurality of random numbers.
The computer of embodiment 10, wherein the processing module functions to facilitate storage of the corresponding plurality of random numbers and the encrypted shares by at least one of: sending, via the interface, the encrypted share and the corresponding one of the corresponding plurality of random numbers to a dispersed storage (DS) processing unit; dispersed storage error encoding the encrypted share to produce a plurality of encoded share slices and outputting, via the interface, the plurality of encoded share slices for storage; and dispersed storage error encoding the corresponding one of the corresponding plurality of random numbers to produce a plurality of encoded random number slices and outputting, via the interface, the plurality of encoded random number slices for storage.
From the Receiver RX 8BTX PRF (Pseudo Random Function) input, Hash Value Function Automaton, 12RX, counts the number of received alleged Hash Value Words. Simultaneously, Receiver RX 8BTX PRF (Pseudo Random Function), Switch @B, decrypts the t alleged Hash Value Words, and outputs the decryption, ideally a sequence of All ‘5’ Words to the Hash Value Function Automaton, 12RX.
Following the input of t alleged Hash Value Words into Receiver RX 8BTX PRF (Pseudo Random Function), the Hash Value Function Automaton 12RX outputs two binary signals to the Chaining Value Reconciliation Automaton
t HV/Tag Words Received=‘1’; if Hash Value Received Word Counter output equals t.
The Shared Word Init Values, input into TX 8ATX PRF (Pseudo Random Function) Switches @A, and RX 8AB Switches @A are identical in
In
By following the steps in
Each HVTi in
Procedural block renditions of final approval steps following successful negotiated computerized voucher (CMV) negotiations, as shown in the repeated
In this, the final N′th negotiation data exchange, the Vendor, TX, inputs agreement documents, herein, for example, an abstract of the offering, a Proforma Invoice and an A-Voucher, and generates the final aggregating Hash Value HVTN.
Now, the sender prepares a hashed token, with HVTN, a pseudo random number, with the “Sign Hash” Hash Value, which proves to any negotiator of the token, the verity of “Sign Hash” Hash Value. If either the Negotiation initiating client and/or the Vendor affixes a verifiable (manual or digital) signature on the “Sign Hash” Hash Value he becomes a responsible party to the whole negotiation, and the token; similar to a signer's committing him/herself to a third party when he/she manually signs a cheque or a contract. The third party processor of the token, for example a bank, typically neither would know, or care to know the details and intentions of a negotiation proceeding.
The final “Sign Hash” Hash Value will typically be implemented with a standard efficient in software Hash method, e.g., SHA-1, or SHA-256, not with a hardware PRF (Pseudo Random Function), which must be owned by the verifier. Notwithstanding, to simplify the explanation, we have demonstrated a hash using the same Cipher Feedback PRF (Pseudo Random Function).
The TN'th Hash Value, HVTN, is a number, meaningless to an intruder who was not party to the original shared Init value; but which provably binds the whole negotiation proceedings, provably, only to an entity who shared the Initial Value and has access to a total transcription of the data exchange.
Having agreed to the terms of the token, the Negotiation initiating client generates a binding RSA signature; where element 1710 is a schematic of Negotiation initiating client's signature on the concatenation, HVTN|“Sign Hash”, executed with the Negotiation initiating client's secret (D) RSA key. The concatenation is typically (in year 2012) a 1023 bit sized unique number. The negotiation initiating client transmits the signature, in 17.20 to the Vendor.
If the transmission 17.30 is accurately received, the Vendor, knowing the Negotiation initiating client's Public RSA Key, verifies, i.e., the result is the HVTN|“Sign Hash”. The Vendor is entitled to use the Token with the Negotiation initiating client's signature to obtain agreed upon remuneration. Other legal identifiers not limited by this patent may be used to bind the “Sign Hash” Hash Value to a Negotiation initiating client or Vendor.
Receivers are ready for a new data exchange with the Chaining Value of the previous authenticated exchange, ready to launch a new Hash Digest. If the next received data exchange is corrupted, RX requests TX to repeat the last exchange, which can only be processed with the previous authenticated Chaining Value.
At the end of an authenticated Hash Value reception, the Chaining Value the output of each multiplexed Chaining Value Bit 1801 is asynchronously input into the Hi-Enable Latch 1802, activated by the “Store Authenticated Chaining Value Bit Command” from
Following a failed Transmission, two asynchronous Commands are sent from
1802 Hi-enable latch—stores the last authenticated Hash Value Chaining Value and records the finalized initialization Chaining Value into each and all Multiplexed Chaining Value Flip Flops.
The two part asynchronous Automaton Controller, with delay circuits which enable activation of the Automaton only after a settling period of potentially unstable data.
As the input signals to the Automaton Controller are generated during a rising Primary Clock, when data lines are typically in an as yet undefined state, the delays assure activation of the Save and Reconciliation signals at least 6 nano seconds (implementation dependent) after the end of a defined length of process sequence.
Control circuit 1905 relays to Control Circuit 1904 a Corrupted Frame Trigger command, to reconcile the Chaining Value to the last authentic Chaining Value in the event of a failed Data Exchange.
All Activating Flip Flops 1901, 1902 and 1903 are voltage level enabled:
Reconciliation Clock Flip Flop 1901 activation is delayed at least 12 nano seconds, to assure that the signal clocking
Authenticating Failure Interrupt to Host—Flip Flop 1902 commands the Host to Request a Resend of the last Data Exchange
TX/RX RDY Interrupt Flip Flop 1903—Notifies the Host that the last portion of Message or Hash Value has been TX sent or RX received.
The Store Authenticated Chaining Value input signal at ‘1’ input to
The Store Authenticated Chaining Value default input signal at ‘0’ input to
Control circuit 1905 relays to Control Circuit 1904 a Corrupted Frame Trigger command, to reconcile the Chaining Value to the last authentic Chaining Value in the event of a failed Data Exchange.
Control circuit 1905 also sends to the Host a RDY signal at the end of an Initialization, a Message or a TX Hash Value sequence. Simultaneously the Automaton sends an RX Hash Value Word Count Received signal, if and only if, the expected Hash Value is true.
Switch @0 is for conventional stream ciphering over noisy media. Not relevant to this patent. Switch @A is mandated for confidential Initializing of Engines using shared initialization data used for all encoding and hashing function initialization procedures;
Switch @A is the TX Sender Mode for all data exchanges. TX Sender's encrypted data is the feedback source.
Switch @B shunts Sender's incoming encrypted data directly into RX Receiver's Feedback, guaranteeing that the Chaining Values of Sender and Receiver are identical at every clock cycle, assuming that the transmission path is reliable.
It is believed that a long life device that Encrypts and Authenticates accelerated confidential data exchanges securely is best implemented in hardware, with permutations that are robust, and pass the tests of un-keyed hashing, wherein, we can be assured that one bit of Message Input, if modified, cannot cause a distinguishable change of any variable bit or cluster of bits in the PRF (Pseudo Random Function) binary variables.
The ZK-Crypt PRF (Pseudo Random Function) 2000 comprises or consists of two multi-permutation interacting PRFs (Pseudo Random Functions). The 32 bit Word Manipulator 2060 if it were a standalone, would resemble a one-way symmetric encryption apparatus, with 30 permutations. The Random Controller 2020 serves both to randomly activate 31 other discrete permutations 8 of which are 32 bit random displacements; but also randomizes itself, with remote feedback from the Word Manipulator. The Result/Feedback Processor 2050 permutes input Message data with orthogonal feedback streams in a way that provably precludes Message Modification, e.g., it is provably impossible to move a decimal point and subsequently with a correcting Message reconcile the Chaining Value, the Hash Digest and the Hash Value.
Two initially randomized unique 32 bit Mersenne Prime Linear Feedback Shift Based HAIFA Counters 400 each put a unique random 263 count the flip flop variables, assuring that no sequence can be repeated; simultaneously whitening the Lower 510 and Super Tier 520 Orthogonal Feedback Streams.
According to certain embodiments, hash as described herein is used for authentication purposes and may or may not be used to encrypt a message before sending it.
It is appreciated that terminology such as “mandatory”, “required”, “need” and “must” refer to implementation choices made within the context of a particular implementation or application described here within for clarity and are not intended to be limiting since in an alternative implantation, the same elements might be defined as not mandatory and not required or might even be eliminated altogether.
It is appreciated that software components of the present invention including programs and data may, if desired, be implemented in ROM (read only memory) form including CD-ROMs, EPROMs and EEPROMs, or may be stored in any other suitable computer-readable medium such as but not limited to disks of various kinds, cards of various kinds and RAMs. Components described herein as software may, alternatively, be implemented wholly or partly in hardware, if desired, using conventional techniques. Conversely, components described herein as hardware may, alternatively, be implemented wholly or partly in software, if desired, using conventional techniques.
Included in the scope of the present invention, inter alia, are electromagnetic signals carrying computer-readable instructions for performing any or all of the steps of any of the methods shown and described herein, in any suitable order; machine-readable instructions for performing any or all of the steps of any of the methods shown and described herein, in any suitable order; program storage devices readable by machine, tangibly embodying a program of instructions executable by the machine to perform any or all of the steps of any of the methods shown and described herein, in any suitable order; a computer program product comprising a computer useable medium having computer readable program code, such as executable code, having embodied therein, and/or including computer readable program code for performing, any or all of the steps of any of the methods shown and described herein, in any suitable order; any technical effects brought about by any or all of the steps of any of the methods shown and described herein, when performed in any suitable order; any suitable apparatus or device or combination of such, programmed to perform, alone or in combination, any or all of the steps of any of the methods shown and described herein, in any suitable order; electronic devices each including a processor and a cooperating input device and/or output device and operative to perform in software any steps shown and described herein; information storage devices or physical records, such as disks or hard drives, causing a computer or other device to be configured so as to carry out any or all of the steps of any of the methods shown and described herein, in any suitable order; a program pre-stored e.g. in memory or on an information network such as the Internet, before or after being downloaded, which embodies any or all of the steps of any of the methods shown and described herein, in any suitable order, and the method of uploading or downloading such, and a system including server/s and/or client/s for using such; and hardware which performs any or all of the steps of any of the methods shown and described herein, in any suitable order, either alone or in conjunction with software.
Also provided is a method for making any of the systems shown and described herein including providing all or any suitable subset of the system components shown and described herein, using any suitable conventional methodology, and a method for using any and all such systems and such components as would be apparent from the structure and function thereof as described herein.
Any computations or other forms of analysis described herein may be performed by a suitable computerized method. Any step described herein may be computer-implemented. The invention shown and described herein may include (a) using a computerized method to identify a solution to any of the problems or for any of the objectives described herein, the solution optionally include at least one of a decision, an action, a product, a service or any other information described herein that impacts, in a positive manner, a problem or objectives described herein; and (b) outputting the solution.
Features of the present invention which are described in the context of separate embodiments may also be provided in combination in a single embodiment. Conversely, features of the invention, including method steps, which are described for brevity in the context of a single embodiment or in a certain order may be provided separately or in any suitable sub-combination or in a different order. “e.g.” is used herein in the sense of a specific example which is not intended to be limiting. Devices, apparatus or systems shown coupled in any of the drawings may in fact be integrated into a single platform in certain embodiments or may be coupled via any appropriate wired or wireless coupling such as but not limited to optical fiber, Ethernet, Wireless LAN, Home PNA, power line communication, cell phone, PDA, Blackberry GPRS, Satellite including GPS, or other mobile delivery. It is appreciated that in the description and drawings shown and described herein, functionalities described or illustrated as systems and sub-units thereof can also be provided as methods and steps there within, and functionalities described or illustrated as methods and steps therewithin can also be provided as systems and sub-units thereof. The scale used to illustrate various elements in the drawings is merely exemplary and/or appropriate for clarity of presentation and is not intended to be limiting.
Priority is claimed from U.S. Ser. No. 61/461,244 filed 18 Jan. 2011 and entitled “System of Customer Generated Vouchers and Automated Negotiation . . . ”.U.S. Ser. No. 11/578,929 describes the obtaining of multi-factor security using portable electronic devices.U.S. Ser. No. 12/161,833 describes a system of accepting value from people in a closed group, easily identified by Token IDs.U.S. Ser. No. 11/578,076 described a system for security profiling users in a closed system. Abandoned.U.S. Ser. No. 12/439,556 describes a system for message authentication, with proven preclusion of modified messages, based on stream cipher architecture and orthogonal feedbacks.U.S. Ser. No. 12/322,766 describes a loyalty incentive system wherein users' points determine user status, and where users benefit from incremented privileged status from accrued never spent points benefitting from sustained average purchasing.PCT IL/2010/000075 describes a generic compact symmetric silicon Stream Cipher & Hash Generator format for simultaneous Encryption with Integrity
| Number | Date | Country | |
|---|---|---|---|
| 61461244 | Jan 2011 | US |
| Number | Date | Country | |
|---|---|---|---|
| Parent | PCT/IL2012/000028 | Jan 2012 | US |
| Child | 13945616 | US |