1. A device, comprising:
a control data bus including at least a first line;
a master device coupled to the control data bus and configured to manage access to the control data bus; and
a plurality of slave devices coupled to the control data bus and sharing the first line, wherein the master device is configured to send a single global wake up signal on the control data bus that causes any sleeping slave devices to wake up.
2. The device of claim 1, wherein the master device is configured to send the single global wake up signal by bringing the first line low for a predetermined period of time.
3. The device of claim 1, wherein sending the single global wake up signal comprises bringing the first line low for a predetermined period of about at least 30 \u03bcseconds.
4. The device of claim 1, wherein the master device maintains a slave device sleep status list of sleeping slave devices.
5. The device of claim 4, wherein all sleeping slave devices send a wake up confirmation signal to the master device after waking up, and the master device updates the slave device sleep status list based on the wake up confirmation signals.
6. The device of claim 4, wherein at least a first slave device is dynamically configurable to operate in either a master mode or a slave mode, and when the master device receives a master request from the first slave device, the master device transfers the slave device sleep status list of sleeping slave devices to the first slave device before transferring control of the control data bus to the first slave device.
7. The device of claim 1, wherein the master device sends a sleep broadcast signal to all devices coupled to the control data bus, wherein the sleep broadcast signal specifically identifies one or more slave devices that should go into the sleep mode or specifically identifies one or more slave devices that should ignore the sleep request.
8. The device of claim 1, wherein a first slave device coupled to the control data bus unilaterally enters into the sleep mode and notifies the master device of entering into the sleep mode via a bus separate from the control data bus.
9. The device of claim 8, wherein the master device adds the first slave device to a slave device sleep status list upon receive of the sleep notification.
10. The device of claim 1, wherein a first slave device coupled to the control data bus spontaneously wakes up, without involvement from the master device, and sends an interrupt signal to the master device, via a bus separate from the control data bus, that it has awoken.
11. The device of claim 10, wherein upon receipt of the interrupt signal, the master device removes the first slave device from a slave device sleep status list.
12. The device of claim 1, wherein the master device also includes a sleep mode, and wherein the master device is adapted to wake up upon receipt of a first interrupt signal from a slave device over an interrupt line separate from control data bus.
13. The device of claim 12, wherein the slave device sends a second interrupt signal if there is no response to the first interrupt signal from the master device.
14. (canceled)
14. A method operational on a master device, comprising:
controlling a control data bus with the master device, the control data bus including at least a first line; and
transmitting, via the control data bus from the master device to a plurality of slave devices, a single global wake up signal that causes any sleeping slave devices to wake up.
15. The method of claim 14, wherein the control data bus is a two line bus and the wake up signal is implemented by bringing the first line high or low for a predetermined period of time.
16. The method of claim 14, further comprising:
maintaining a slave device sleep status list at the master device.
17. The method of claim 16, further comprising:
receiving an interrupt signal after each slave device wakes up, and
updating the slave device sleep status list based on the received interrupt signal.
18. The method of claim 16, wherein master device is dynamically configurable to operate in either a master mode or slave mode, and when the master device receives a master request from a first slave device, the master device transfers the slave device sleep status list of sleeping slave devices to the first slave device before transferring control of the control data bus to the first slave device.
19. The method of claim 18, further comprising:
switching to operate in slave mode after transferring control of the control data bus.
20. The method of claim 14, further comprising:
sending a sleep broadcast signal to all devices coupled to the control data bus, wherein the sleep broadcast signal specifically identifies one or more slave devices that should go into the sleep mode or specifically identifies one or more slave devices that should ignore the sleep request.
21. The method of claim 14, further comprising:
receiving an interrupt signal, via an interrupt request bus, from a first slave device indicating that the first slave device is entering into the sleep mode.
22. The method of claim 14, wherein the master device receives an interrupt signal from a slave device, via an interrupt request bus separate from the control data bus, indicating that the slave device has spontaneously woken up.
23. The method of claim 22, wherein upon receipt of the interrupt signal, the master device removes the first slave device from a slave device sleep status list.
24. The method of claim 14, wherein the master device enters into a sleep mode, and the master device is adapted to wake up upon receipt of a first interrupt signal from a slave device over an interrupt line separate from control data bus.
25. The method of claim 24, wherein upon receipt of the interrupt signal, the master device removes the first slave device from a slave device sleep status list.
26. A master device, comprising:
a bus interface to couple to a control data bus shared with a plurality of slave devices; and
a processing circuit coupled to the bus interface and configured to:
manage access to the control data bus by the plurality of slave devices; and
issue a global wake up command to the plurality of slave devices over the control data bus.
27. The master device of claim 26, wherein the processing circuit is further configured to:
maintain a slave device sleep status list; and
update the slave device sleep status list upon receiving an indication of a slave device waking up.
28. The master device of claim 26, wherein the processing circuit is further configured to:
send a single global wake up signal by bringing a first line of the control data bus low for a predetermined period.
29. The master device of claim 26, further comprising:
a receiver logic circuit adapted to sense an interrupt request from a slave device over an interrupt line and awaken the master device even when the master device is in a sleep mode.
30. A slave device, comprising:
a bus interface to couple to a control data bus shared with a plurality of slave devices; and
a receiver logic circuit coupled to the bus interface and, in a sleep mode of operation, configured to:
obtain a free running clock signal;
use the free running clock signal to measure a length of time a line of the control data bus is either pulled low or high; and
wake up the slave device if the measured length of time is greater than a predetermined amount of time.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A method, implemented at least in part by a financial institution system, for implementing a secure protocol for transactions, the method comprising:
receiving, by the financial institution system from a customer using the secure protocol, a first communication comprising information regarding a transaction to be conducted between a merchant and the customer;
receiving, by the financial institution system from the merchant using the secure protocol, an eighth communication comprising information regarding the transaction to be conducted between the merchant and the customer;
in response to at least one of the first and eighth communication, sending, by the financial institution system to the merchant using the secure protocol, a second communication comprising a confirmation request to the merchant regarding the transaction;
in response to at least one of the first and eighth communication, sending, by the financial institution system to the customer using the secure protocol, a seventh communication comprising a confirmation request to the customer regarding the transaction;
receiving, by the financial institution system from the customer using the secure protocol, a third communication comprising information indicating the customer confirms the transaction;
receiving, by the financial institution system using the secure protocol, a fourth communication comprising information indicating the merchant confirms the transaction;
processing, by the financial institution system, the transaction, wherein customer financial information used in processing the transaction is located solely at the financial institution system, and wherein the secure protocol does not communicate the customer financial information to the merchant, or to the customer;
sending, by the financial institution system to the customer using the secure protocol, a fifth communication comprising results of the processing; and
sending, by the financial institution system to the merchant using the secure protocol, a sixth communication comprising results of the processing;
wherein communications between the financial institution system and the customer are encrypted with a single-use customer session key, and wherein communications between the financial institution system and the merchant are encrypted with a single-use merchant session key;
wherein it is not possible for any of the financial institution system, the merchant, and the customer to repudiate the transaction; and
wherein communications to and from the merchant are performed, at least in part, via a merchant device associated with the merchant, and wherein communications to and from the customer are performed, at least in part, via a customer device associated with the customer.
2. The method of claim 1 wherein the fourth communication is received by the financial institution system from the merchant using the secure protocol.
3. The method of claim 1 wherein the fourth communication is received by the financial institution system from the customer using the secure protocol, wherein the customer received the information indicating the merchant confirms the transaction from the merchant using the secure protocol.
4. The method of claim 1, further comprising:
prior to the transaction, obtaining, by the customer from the financial institution system, a plurality of single-use customer session keys, wherein the plurality of single-use customer session keys includes the single-use customer session key; and
prior to the transaction, obtaining, by the merchant from the financial institution system, a plurality of single-use merchant session keys, wherein the plurality of single-use merchant session keys includes the single-use merchant session key.
5. The method of claim 1 wherein the secure protocol has been validated to be secure.
6. The method of claim 5 wherein validation of the secure protocol has been performed, at least in part, by the Automated Validation of Internet Security Protocols and Applications tool.
7. The method of claim 1 wherein the secure protocol provides the following assurances:
on the part of the financial institution system: freshness, authentication, and confidentiality;
on the part of the merchant: freshness, authentication, confidentiality, integrity, and non-repudiation; and
on the part of the customer: freshness, authentication, and confidentiality.
8. The method of claim 1 wherein the customer device comprises a potted device, and wherein the secure protocol is implemented, at least in part, in hardware of the potted device.
9. The method of claim 1, further comprising:
prior to the transaction, obtaining, by the customer from the financial institution system, a listing of authorized merchants.
10. The method of claim 1 wherein the communications of the secure protocol enable the merchant to prove that the financial institution system made an error, and wherein the communications of the secure protocol enable the customer to prove that the financial institution system made an error.
11. The method of claim 1 wherein the secure protocol provides the following assurances:
on the part of the financial institution system: freshness, authentication, confidentiality, integrity, and non-repudiation;
on the part of the merchant: freshness, authentication, confidentiality, integrity, and non-repudiation; and
on the part of the customer: freshness, authentication, confidentiality, integrity, and non-repudiation.
12. A computer-readable memory or storage device storing computer-executable instructions for causing a computing device to perform a method for implementing a secure protocol for transactions, the method comprising:
receiving, by a financial institution system from a customer using the secure protocol, a first communication comprising information regarding a transaction to be conducted between a merchant and the customer;
receiving, by the financial institution system from the merchant using the secure protocol, an eighth communication comprising information regarding the transaction to be conducted between the merchant and the customer;
in response to at least one of the first and eighth communication, sending, by the financial institution system to the merchant using the secure protocol, a second communication comprising a confirmation request to the merchant regarding the transaction;
in response to at least one of the first and eighth communication, sending, by the financial institution system to the customer using the secure protocol, a seventh communication comprising a confirmation request to the customer regarding the transaction;
receiving, by the financial institution system from the customer using the secure protocol, a third communication comprising information indicating the customer confirms the transaction;
receiving, by the financial institution system using the secure protocol, a fourth communication comprising information indicating the merchant confirms the transaction;
processing, by the financial institution system, the transaction, wherein customer financial information used in processing the transaction is located solely at the financial institution system, and wherein the secure protocol does not communicate the customer financial information to the merchant or to the customer;
sending, by the financial institution system to the customer using the secure protocol, a fifth communication comprising results of the processing; and
sending, by the financial institution system to the merchant using the secure protocol, a sixth communication comprising results of the processing;
wherein communications between the financial institution system and the customer are encrypted with a single-use customer session key, and wherein communications between the financial institution system and the merchant are encrypted with a single-use merchant session key;
wherein it is not possible for any of the financial institution system, the merchant, and the customer to repudiate the transaction; and
wherein communications to and from the merchant are performed, at least in part, via a merchant device associated with the merchant, and wherein communications to and from the customer are performed, at least in part, via a customer device associated with the customer.
13. The computer-readable memory or storage device of claim 12 wherein the fourth communication is received by the financial institution system from the merchant using the secure protocol.
14. The computer-readable memory or storage device of claim 12 wherein the fourth communication is received by the financial institution system from the customer using the secure protocol, wherein the customer received the information indicating the merchant confirms the transaction from the merchant using the secure protocol.
15. The computer-readable memory or storage device of claim 12, the method further comprising:
prior to the transaction, obtaining, by the customer from the financial institution system, a plurality of single-use customer session keys, wherein the plurality of single-use customer session keys includes the single-use customer session key; and
prior to the transaction, obtaining, by the merchant from the financial institution system, a plurality of single-use merchant session keys, wherein the plurality of single-use merchant session keys includes the single-use merchant session key.
16. The computer-readable memory or storage device of claim 12 wherein the secure protocol provides the following assurances:
on the part of the financial institution system: freshness, authentication, and confidentiality;
on the part of the merchant: freshness, authentication, confidentiality, integrity, and non-repudiation; and
on the part of the customer: freshness, authentication, and confidentiality.
17. The computer-readable memory or storage device of claim 12 wherein the customer device comprises a potted device, and wherein the secure protocol is implemented, at least in part, in hardware of the potted device.
18. The computer-readable memory or storage device of claim 12 wherein the communications of the secure protocol enable the merchant to prove that the financial institution system made an error, and wherein the communications of the secure protocol enable the customer to prove that the financial institution system made an error.
19. The computer-readable memory or storage device of claim 12 wherein the secure protocol provides the following assurances:
on the part of the financial institution system: freshness, authentication, confidentiality, integrity, and non-repudiation;
on the part of the merchant: freshness, authentication, confidentiality, integrity, and non-repudiation; and
on the part of the customer: freshness, authentication, confidentiality, integrity, and non-repudiation.
20. One or more computing devices, comprising processing units and memory, of a financial institution system configured to perform a method implementing a secure protocol for transactions, the method comprising:
receiving, by the financial institution system from a customer using the secure protocol, a first communication comprising information regarding a transaction to be conducted between a merchant and the customer;
receiving, by the financial institution system from the merchant using the secure protocol, an eighth communication comprising information regarding the transaction to be conducted between the merchant and the customer;
in response to at least one of the first and eighth communication, sending, by the financial institution system to the merchant using the secure protocol, a second communication comprising a confirmation request to the merchant regarding the transaction;
in response to at least one of the first and eighth communication, sending, by the financial institution system to the customer using the secure protocol, a seventh communication comprising a confirmation request to the customer regarding the transaction;
receiving, by the financial institution system from the customer using the secure protocol, a third communication comprising information indicating the customer confirms the transaction;
receiving, by the financial institution system using the secure protocol, a fourth communication comprising information indicating the merchant confirms the transaction;
processing, by the financial institution system, the transaction, wherein customer financial information used in processing the transaction is located solely at the financial institution system, and wherein the secure protocol does not communicate the customer financial information to the merchant or to the customer;
sending, by the financial institution system to the customer using the secure protocol, a fifth communication comprising results of the processing; and
sending, by the financial institution system to the merchant using the secure protocol, a sixth communication comprising results of the processing;
wherein communications between the financial institution system and the customer are encrypted with a single-use customer session key, and wherein communications between the financial institution system and the merchant are encrypted with a single-use merchant session key;
wherein it is not possible for any of the financial institution system, the merchant, and the customer to repudiate the transaction; and
wherein communications to and from the merchant are performed, at least in part, via a merchant device associated with the merchant, and wherein communications to and from the customer are performed, at least in part, via a customer device associated with the customer.
21. The one or more computing devices of claim 20, wherein the fourth communication is received by the financial institution system from the merchant using the secure protocol.
22. The one or more computing devices of claim 20 wherein the fourth communication is received by the financial institution system from the customer using the secure protocol, wherein the customer received the information indicating the merchant confirms the transaction from the merchant using the secure protocol.
23. The one or more computing devices of claim 20, the method further comprising:
prior to the transaction, obtaining, by the customer from the financial institution system, a plurality of single-use customer session keys, wherein the plurality of single-use customer session keys includes the single-use customer session key; and
prior to the transaction, obtaining, by the merchant from the financial institution system, a plurality of single-use merchant session keys, wherein the plurality of single-use merchant session keys includes the single-use merchant session key.
24. The one or more computing devices of claim 20 wherein the secure protocol provides the following assurances:
on the part of the financial institution system: freshness, authentication, and confidentiality;
on the part of the merchant: freshness, authentication, confidentiality, integrity, and non-repudiation; and
on the part of the customer: freshness, authentication, and confidentiality.
25. The one or more computing devices of claim 20 wherein the customer device comprises a potted device, and wherein the secure protocol is implemented, at least in part, in hardware of the potted device.
26. The one or more computing devices of claim 20 wherein the communications of the secure protocol enable the merchant to prove that the financial institution system made an error, and wherein the communications of the secure protocol enable the customer to prove that the financial institution system made an error.
27. The one or more computing devices of claim 20 wherein the secure protocol provides the following assurances:
on the part of the financial institution system: freshness, authentication, confidentiality, integrity, and non-repudiation;
on the part of the merchant: freshness, authentication, confidentiality, integrity, and non-repudiation; and
on the part of the customer: freshness, authentication, confidentiality, integrity, and non-repudiation.