I have made an open source airgapped device for signing bundles offline.
A main purpose is to address the possiblity that the components we use to make our devices are already compromised before they are purchased and yet we still need to use these devices to work with seeds.
So let's imagine I sign a bundle on an infected machine which may have changed the amount of the transactions and also the recipient's address to that of an attacker.
To check for this I would like to broadcast the bundle to the TestNet first to see how much the transactions are and where they are sent.
I understand that sending multiple transactions from the same address gives away information that makes it easier to brute force the seed.
I have two questions:
1. Is the idea basically sound?
2. Does broadcasting a bundle on both MainNet and TestNet facilitate brute forcing the seed?
Thanks for your help.
It is the address, not the seed which is weakened by multiple spends from the same address.
If I understand you correctly, using the TestNet to check that a bundle has not been compromised is not a sound idea because an attacker could scoop up the bundle from the TestNet and then broadcast it to the MainNet. I suppose an attacker could even station a bot to listen on the TestNet for infected bundles and then post them right away on the MainNet. Did I understand your point correctly?
– John Shearing Mar 10 '19 at 19:52A safer way would probably be to not broadcast the packets (to devnet or mainnet), but look at the trytes in an editorForgive me, I am a bit new to IOTA. If I understand correctly, I can look at the bundle signature, pick out the trytes for the amount and the recipient's address at specific locations and then convert them back into a human readable amount and address. Did I get that right? Makes me think it would be a good idea to make a tool to decode the entire signature to verify it will work as expected before sending. Is that a sound idea?
– John Shearing Mar 10 '19 at 20:01...don't sign bundles on infected (or untrusted) machines.Yes but one can never know if the parts to make a machine have not been infected in the supply chain. Our supply chains are centralized and a point of weakness for a decentralized system such as IOTA. If amounts must be sent and back doors can not be ruled out then we are forced to use machines that we do not trust to handle our secrets. How can we do that effectively? This is the general question I am studying. Thanks for all your help – John Shearing Mar 10 '19 at 21:21