in my experience no hsms work like this. (none of nciphers' nshield range or thales' hsm products act in this manner, 100% sure on that. I dont think the yubi does either. not sue. that is why I am going to order one, see what it does do, if it will do sha256 signing.)
SHA-256 is a hash function not a signing function. SHA-256 would be useless for outputting a signed bitcoin tx while keeping the private key(s) inaccessible.
of course your are correct, i was over simplifying and went too far, to the point where i was wrong. I was trying to create payshield type hsm functionality and ended up messing it up.
however, the point i was making was valid... see below.
So the devices you mention know how to take a set of internal ECC private keys and an output address provided by the host, determine the value of the keys, verify the transaction against business rules (velocity, tx volume, time), then generate the public key from the private key, create the Bitcoin transaction and sign it, and output only the signed transaction.
Input:
a payment address
value of various addresses
Internal:
Private keys
Business rule counters
Output:
Signed bitcoin tx.
I am thinking the answer is no?
the answer is very much yes. what you have outlined above was the usecase i was trying to put forward (although without the explicit business rules and simple value based ones instead, the way you have proposed it is much clearer.), from the page on the solo:
http://www.thales-esecurity.com/Products/Hardware%20Security%20Modules/nShield%20Solo.aspx(also has quotes from the solo feature page)
Thales nShield Solo is a family of embedded, general-purpose HSMs for servers and appliances that safeguard encryption and digital signing keys and that can optionally run custom applications on the module to protect data in use.
The Secure Execution Engine runs application software in a proven, certified hardware environment. It protects data, processes, and intellectual property that would otherwise be at risk.
Elliptic curve cryptography is becoming increasingly popular. All nShield Solo cards can process elliptic curves inside the HSM, which requires the Elliptic Curve (ECC) Activation. nShield 500 offers especially good performance because it features hardware acceleration of elliptic curve operations.
CodeSafe protects data in hostile environments
All HSMs can protect key material against breaches, but most cannot actually protect your valuable data while it is in use. Data breaches have shown that Trojans or rogue administrators still have access to sensitive information on the host system after it has been decrypted by the HSM. The Thales CodeSafe technology enables you to process sensitive information inside the HSM so that it is never exposed on the host system. This enables you to run critical processes in hostile environments, for example:
Where facilities cannot be physically secured
Where you need to protect against rogue individuals with access to the host system
Where host systems may be hacked or become infected by Trojans
Thales offers off-the-shelf CodeSafe applications as well as CodeSafe Developer Software to create custom applications.
Ensure project success with Thales deployment services
Thales offers professional services to ensure a best practice implementation of Thales HSMs. Organizations can benefit from developer support to integrate Thales HSMs with custom applications or to develop custom applications to be executed on the HSM to process sensitive data.
see, this stuff _will_ make things safer. you could have the client and blockchain on the device if you wanted (not sure why you would, but you can)
On chip signing is equally useless. Attacker says here HSM sign this tx for 18K withdrawal. What security did an on chip signing accomplish.
By on chip, i meant all the action takes place in the device.
Maybe you should state exactly (as in low level protocol) what the HSM would do and how you think that would provide enhanced security. What are the inputs, what are the outputs?
I intend on doing this if/when my edge gets here (I have been told I will get one to play with). until then i have other things to be doing (like the bitcoin testing project) - I hope you can see that the solo can cope with what you want it to do. The Edge will too, but it does not have the secure execution engine. The edge does have ECC and will run custom code too. afaik these boxes run posix compliant microkernels, so development is pretty simple. There are a set of api's that you can use, if you do not want to write a completely custom solution. See the Thales website for more info.
cheers,
steve