Take a step back; you have a solution that basically does not work for your problem. Instead of trying to hammer it while it is not working, stop, step back and solve the real problem.
Security problems associated with real money are some of the most difficult problems to solve; bad people have a real financial motive for attacking your system. For these species, a multipurpose approach is usually best suited.
First write the threat model :
- identify each resource that needs protection (your resources and your friendly client resources, for example, their personal financial data).
- rate its value
- evaluate its value to an attacker
- Think about what vulnerabilities a resource has to attack.
- characterize the threat - who is the attacker and what is their motivation?
Once you learn about resources, threats, and vulnerabilities, only then start thinking about mitigating these threats. Assign costs and effectiveness to each of the mitigations.
For example:
- resource: my tv
- Value to me: $ 400
- value for the attacker: $ 40
- vulnerability: unlocked bathroom window
- threat: thieves or vandals use a window to access a TV
OK, now that I know what attacks are, I can start thinking about mitigation:
- lock window
- get an alarm system
- dogs
- the guards
Those that are in order of increasing costs. Ultimately, the cost of mitigation is greater than the loss of a resource, and there is no point in wasting money.
There are also ways to externalize mitigation costs:
- threatens the attacker with charges - taxpayers pay for it
- to insure against theft of television, reducing the cost of a successful attack against me.
- etc.
Encrypting a file that contains user data on the user's computer is not a mitigation of any attack. Find out what attacks are and what actually mitigates them, including options such as siccing feds on attackers, and then implement a system that actually mitigates your vulnerabilities and eliminates threats.
Your suggested mitigation: give the key to the thief and ask the thief to block the window before he tries to steal the TV. This does not reduce vulnerability. No suggestion related to the transfer of a key to a thief is to mitigate the vulnerability of a window with an unlocked window, so do not try to find it.
For more “software” oriented examples of threat modeling, see:
http://msdn.microsoft.com/en-us/magazine/cc163519.aspx
http://www.owasp.org/index.php/Threat_Risk_Modeling
http://msdn.microsoft.com/en-us/library/aa302419.aspx
And so on; You can find many articles on the Internet about how we do threat modeling here at Microsoft.
Finally:
Connect to a security specialist.
Seriously, you bite off one of the most difficult tasks in software implementation, where the consequences of small errors have serious financial consequences. Spend your budget on the implementation of a first-class expert consultant who has experience in this field and can help you find ready-made and custom-made parts necessary for a safe solution. Scrolling through your own security system may seem fun and cheap; this is not true. Leave these things to people who have spent their careers exploring this space.