That would be very cool etotheipi! Hopefully someone will make something like that - I don't have the capabilities to do it myself.
No idea about bank insurance, but it would make sense that the bank would be liable for any robberies that happened on their premises. I wonder how hard it would be to get an insurance company to pay up for robbed bitcoins though!
Actually, my buddy was helping me develop an Android app for two-factor authentication using Armory&Android phone, but I got side-tracked with other priorities. This was on hold until I got multi-sig implemented in Armory. But the app could theoretically be used to make your Android phone the entirety of the solution: it
is the offline device instead of a laptop.
I would much prefer a custom OS that has a bunch of stuff disabled, but my guess is it's no worse (as-is) than using a laptop + USB key.
If it never goes online, is there a need to disable anything in the OS? Unless you don't trust whoever preloads the OS...
It's more to do with all the things the OS does when you insert a new device. The weakest point of Armory offline security is USB auto-run viruses, which unfortunately exist for all OS. It is, of course, orders of magnitude safer than keeping your wallet online, but there's still attack vectors that could be exploited in highly-targeted environments (like what you are talking about).
I've been investigating ways to reduce mitigate this concern, but modern OS'es really hurt here, because they have so much code under-the-hood to auto-process new media for the convenience of the user. It dramatically increases the attack surface. For instance, someone figured out a vulnerability in the thumbnailer application used by the Ubuntu file browser -- they put a file on the USB key with a special icon ... and it was triggered automatically because a file browser pops up the moment you insert the key and it reads the icon file so it can display it. I don't think it was a root-access kind of vulnerability, but it's still concerning.
I see two major benefits of offline wallets:
(1) Dramatically more difficult to compromise.
(2) Removes
attacks of opportunity.
On point (2): If some script kiddie from Russia stumbles onto your system for some reason, he can dig around and steal information. If he finds a wallet file, he'll probably take it. If you're using a watching-only wallet, he won't have anything to take, and will probably move onto other systems with lower-hanging fruit. That would be an attack of opportunity: the script kiddie wasn't trying to break
you, he was just looking for stuff to steal on any computer he can get access to. A better example is a virus that uploads wallets it finds. If you have no wallet, it does nothing. So, if you're going to be compromised with an offline wallet, it's probably because you were
targeted.
Unfortunately, this thread is about the fact that you expect to be a target. In such a case, there is
probably ways to compromise your online system and inject a malicious file that will auto-run when you insert the key into the offline system (or Android device). Don't get me wrong: this is a dramatically more-complicated attack to pull off. But it's not impossible.
However, most of the attack surface is due to auto-execute functionality. Luckily, linux-based operating systems refuse to auto-execute any code on key insertion (without permission), but as referenced above, there is still an awful lot of code that runs when you insert a new device, and it's not unheard of that someone would figure out how to exploit that.
In many ways, though, there is extraordinary security through obscurity. If the attacker does not know what kind of system is holding the full wallet, they have no way to know what vulnerabilities exist to exploit. If you are using a custom-modified Android app with some drivers disabled, etc, then the attacker won't even know where to start. They don't know whether they are trying to compromise a Windows machine, and Android 4.0 device, Raspberry Pi, etc.
From my perspective, this is really frustrating. I only need to move a few kB of text back and forth between devices, but there seems to be no media for transferring data that doesn't have dozen of drivers/modules loaded to automatically handle data transfer.
P.S. - I wouldn't freak out about offline wallets being totally insecure. I'm just pointing out that this is not a 100% solution as-is, and it actually becomes a non-negligible concern when you
expect to be targeted.