Bitcoin Forum
May 05, 2024, 08:13:36 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2] 3 »  All
  Print  
Author Topic: What if the Trezor server got compromised?  (Read 3254 times)
zetaray
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


View Profile
January 12, 2015, 06:22:31 AM
 #21

Trezor software is open source. Anyone can audit the code and if he thinks there is a security issue, you can voice out.

.CryptoTotal.com.
                              l█████████▇▀
                              ████████▇▀
                              ███████▇▀
                              ██████▇▀
                              █████▇▀
                              ████▇▀
                              ███▇▀
                              ██▇▀
                              █▇▀
                              ▇▀
▇▇
▇▇

Express.Crypto.Checkout
Accepts Multiple Cryptos
Worldwide Shipping
"The nature of Bitcoin is such that once version 0.1 was released, the core design was set in stone for the rest of its lifetime." -- Satoshi
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714896816
Hero Member
*
Offline Offline

Posts: 1714896816

View Profile Personal Message (Offline)

Ignore
1714896816
Reply with quote  #2

1714896816
Report to moderator
1714896816
Hero Member
*
Offline Offline

Posts: 1714896816

View Profile Personal Message (Offline)

Ignore
1714896816
Reply with quote  #2

1714896816
Report to moderator
freebit13
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500

I got Satoshi's avatar!


View Profile
January 12, 2015, 06:28:20 AM
 #22

can you enter you own seed made from dice rolls or coin flips?

can you even simply generate a new seed?
You can change the seed, but not to something you can choose yourself, it is automatically generated.

Decentralize EVERYTHING!
freebit13
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500

I got Satoshi's avatar!


View Profile
January 12, 2015, 06:35:57 AM
 #23

Trezor is one of the most secures ways to have your bitcoins stored.

I don't agree, paper wallet or offline computer wallet is more secure and free
He said one of the most, not the most. Paper wallets are more secure (depending on how they are generated), but they serve a different purpose and are usually used for storage only and have to be swept into another wallet in order to make payments.

The trezor is the safest way to store coins and have them available to spend all the time. I'm going to the Isle of Man in June and I'm not taking my desktop pc with me, in this case it's the safest way to store coins and be able to make payments from any pc.

Decentralize EVERYTHING!
Vessko
Full Member
***
Offline Offline

Activity: 139
Merit: 100



View Profile
January 12, 2015, 09:30:50 AM
 #24

The Trezor device has access to your private keys. Therefore, it is correct to assume that if the device is compromised, you could lose the BTC stored on it.

Can the device be compromised? For instance, can the attacker convince it to run software supplied by the attacker?

From time to time, the firmware on the device has to be updated. The update is downloaded from the site of the producer and signed with several (3? Don't recall any more) secret keys of the developers. The signatures are checked with the public keys of the developers, which are stored in the firmware of the device. Can this process be subverted?

If the PC downloading the new firmware is compromised, the malware on it can modify the new firmware - but it would invalidate the signatures. Therefore, a different approach is needed.

One possibility is if the signing (secret) keys of the developers are compromised - either by a disgruntled employee, or because they go rogue, or because the company is hacked. Such things have happened in the past. However, several keys would have to be compromised (and the breach not noticed); just one would not be enough. While not impossible, I consider this highly unlikely.

There is another approach, however - one that exploits not cryptography but human nature. We call is "social engineering" but it's basically lying and manipulation. Suppose that the malware on the compromised PC intercepts all communications to and from the company server and changes the firmware update page. It puts a HUGE warning that the company's keys have been compromised, there are new ones and the new firmware is signed with them, so trust us and ignore any warnings from the device - with screen shots of what to do and everything. (The same thing can be achieved by hacking the company's site - but that would be noticed and fixed fast enough.)

While many people will realize that something is fishy, many more would not. And a successful scam doesn't have to work on everybody - it only needs to work on enough people to be profitable.
AGD
Legendary
*
Offline Offline

Activity: 2069
Merit: 1164


Keeper of the Private Key


View Profile
January 12, 2015, 09:39:54 AM
 #25

I would trust an offline wallet more than any centralized service.
To be 100% sure about the randomness of your private key, use a coin and flip it 160 times. Google for a "how to generate a private bitcoin key with a coin"

Bitcoin is not a bubble, it's the pin!
+++ GPG Public key FFBD756C24B54962E6A772EA1C680D74DB714D40 +++ http://pgp.mit.edu/pks/lookup?op=get&search=0x1C680D74DB714D40
HeroCat
Hero Member
*****
Offline Offline

Activity: 658
Merit: 500


View Profile
January 12, 2015, 03:31:10 PM
 #26

Trezor private keys are stored in Trezor, so everything is ok  Grin
qxzn
Hero Member
*****
Offline Offline

Activity: 609
Merit: 505



View Profile
January 12, 2015, 05:16:04 PM
 #27

This is why we need Maidsafe. Servers are deprecated and only create trouble.

I run a Trezor off a bitcoin node that runs in my house.  The Trezor talks to an electrum 2.0 beta client and the electrum 2.0 beta client talks to an electrum server which talks to the bitcoin node.  The electrum server and the bitcoin node are physically in my home office.

It all works.  It's very fast. It's easy to use. The Trezor is presently connected via USB to a Windows 7 workstation and the Electrum server and  bitcoin node are running on a small Linux machine that I had lying around.



Have you written up how you set this up? It would be nice to see some docs about how to do this.
jonald_fyookball
Legendary
*
Offline Offline

Activity: 1302
Merit: 1004


Core dev leaves me neg feedback #abuse #political


View Profile
January 12, 2015, 06:37:04 PM
 #28

can you enter you own seed made from dice rolls or coin flips?

can you even simply generate a new seed?
You can change the seed, but not to something you can choose yourself, it is automatically generated.

Then it is not trustless.

tl121
Sr. Member
****
Offline Offline

Activity: 278
Merit: 251


View Profile
January 12, 2015, 06:52:26 PM
Merited by vapourminer (1)
 #29

This is why we need Maidsafe. Servers are deprecated and only create trouble.

I run a Trezor off a bitcoin node that runs in my house.  The Trezor talks to an electrum 2.0 beta client and the electrum 2.0 beta client talks to an electrum server which talks to the bitcoin node.  The electrum server and the bitcoin node are physically in my home office.

It all works.  It's very fast. It's easy to use. The Trezor is presently connected via USB to a Windows 7 workstation and the Electrum server and  bitcoin node are running on a small Linux machine that I had lying around.



Have you written up how you set this up? It would be nice to see some docs about how to do this.

The biggest part of the problem was becoming familiar with compiling software and installing it on the operating systems that were involved:  Ubuntu 14.04 and Windows 7.  Initially, I just focused on Ubuntu.  I started out running it in a VMware virtual machine (free version) that ran under Window 7, but this was interfering with the performance of other things I use the machine for, so I spend $300 and put together an Atom based Intel NUC system with 120 GB SSD and 8 GB of RAM.  I installed Ubuntu 14.04 LTS on this machine.  Initially I was using a spare keyboard and mouse and VGA display, but after I got the system running OK and set up SSH I have managed the system headless using PUTTY from my Windows 7 machine.

I went to the Electrum web site and then to Github and found the instructions for installing Electrum Server, which involve building it from source. This was pretty straightforward, just involved tracing down some dependencies.  I am no Linux expert, so a certain amount of Googling was needed to interpret error messages and figure out how to do things, such as increasing the number of open files.  The first part of the directions was to build a bitcoin node from source on this machine.  After I got this working, and installed on the system and it seemed to be working OK, I moved on to the electrum server and got it to work with electrum clients on one of my other machines (the release version, not the Trezor version. At this point I was running a couple of PUTTY terminal windows.  The last thing to do on this box was to rig it so that bitcoind and Electrum server started up automatically at boot. The machine runs unattended and draws almost no power (less than 15 watts) and sits behind a  UPS, so it does not glitch with my frequent power interruptions.  The Electrum Server is not very robust and if the system is shut down without waiting for the Electrum server to finish processing, the database can be corrupted and this can take hours to recover, so don't do this.

The next step was to get an Electrum 2.0 client running.  I did this first under an Ubuntu virtual machine on my Windows system. The directions are at the Electrum git-hub site. Again, some tracing down dependencies and loading them with apt-get.  At this point the next step was to get the Trezor running.  This requires installation of appropriate routines to allow Python programs to access the Trezor via the USB. This is the Python Trezor code, also available from Github. It includes a "hello world" test program to verify that a Python program can talk to the Trezor.  I ran into one obscure problem getting this to work. I had to find the utility to see what was going on on the (virtual) USB, bypassing the "Cython" wrapper that connected Python to the C code that talked to the USB. I thought something was seriously broken, but then I discovered that everything worked fine so long as I was running as root.  Once I set up the USB protections so the account used for the my normal login was permitted to access the Trezor (both read and write) then everything was fine.  At this point it was just a matter of starting with no wallets in the .electrum directory and Electrum 2.0 prompted me for the rest and my Trezor based wallet showed up.

I ran this way for a month.  Eventually, I got bored and curious and figured out how to get Electrum 2.0 to run under Windows 7.  This involved installing Python, Python-Qt and a development environment for C code.  This was another learning experience on my part, but it was all possible by downloading free software.  I got waylaid for a few hours until I realized that the free C compiler I had used was only 32 bits, and so I had to redownload and reinstall the appropriate versions of Python and Python-Qt.

For someone with more skill that I had, all of this would be an easy process.  The longest time required was the time for the initial download and block sync of bitcoind and the downloading of the electrum server database and initial sync of the electrum server.   If all you want to do is use Trezor via Electrum, none of this server work is needed, but then you will have to trust the electrum servers, which means you had better not be paranoid.

I deliberately picked a low end Intel Nuc (1.4 GHz single core) for a server machine  to see if it would be fast enough. It takes less than 10 percent of CPU time for bitcoind to keep up with the network, even where 1 MB blocks are back to back.  I can't say as much for the Electrum Server.  The CPU seems to be saturated and uses about 30-40 percent of the CPU on this slow machine for large blocks.  This seems unnecessary, as I understand it, but I don't know enough about Python to know how to profile the software and speed it up.  (I'm sure that this can be done, because running an Electrum Server doesn't involve verifying transactions in the block chain, which is the time consuming part of bitcoin processing.  The server is just doing database processing which ought to be lightening fast with 8 GB of RAM and an SSD.)

I would not recommend doing this if you aren't already an expert or (as in my case) you "enjoy" learning experiences. :-)

https://github.com/spesmilo/electrum-server
https://github.com/spesmilo/electrum
https://github.com//trezor/python-trezor




johoe
Full Member
***
Offline Offline

Activity: 217
Merit: 238


View Profile
January 12, 2015, 07:30:30 PM
 #30

AFAIK, the Trezor has a hardware random device so the random numbers it produces should be good.  Just in case, it also adds random numbers from the computer on first initialization.

But if you really want to, you can enter your own seed generated from dice rolls. It must conform to bip39 (12/18/24 words, part of the last word is a checksum).  The spec is out, but I'm not sure if someone implemented a tool that converts dice rolls into a bip39 mnenomic sequence. If you go this way, you need to trust the computer where you compute the sequence. 

You should never enter the 12/18/24 word sequence directly into a computer.  If you restore the Trezor from backup it will ask for the words in a random order (on its own display), so even if the javascript code or the local computer is compromised, it will not know the order of the words.  Of course, knowing which words occur in the sequence drastically reduces the security of the sequence.

Firmware updates have to be sent manually to the trezor using a special procedure involving pressing both buttons while connecting the trezor to the computer.  So even if the firmware keys are compromised, an attacker has to convince you to make a firmware update.  So if you check the social networks for announcements before doing a firmware update you should be fine.  Another problem may be an unknown bug (0day exploit) in the current firmware.  Still an attacker needs to compromise first your computer or the mytrezor domain or the client you use to access the Trezor and second the Trezor firmware.

Donations to 1CF62UFWXiKqFUmgQMUby9DpEW5LXjypU3
sase007
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
January 12, 2015, 07:32:46 PM
 #31

I will send Slush link to this thread, he may answer you...
SirChiko
Legendary
*
Offline Offline

Activity: 966
Merit: 1000



View Profile
January 12, 2015, 07:40:09 PM
 #32

I will send Slush link to this thread, he may answer you...
It has already been answered on the first page Wink

The only online casino on which i won something. I made 17mBTC from 1mBTC in like 15 minutes.  This is not paid AD!

▀Check it out yourself▀
BittBurger
Hero Member
*****
Offline Offline

Activity: 924
Merit: 1001


View Profile
January 12, 2015, 07:54:46 PM
 #33

The private keys of your trezor never go out from it, and you can always check in its screen the transaction parameters to see if they are correct or not.

I have not seen yet any trezor hack.

Boy wouldn't it suck to find out one day that the Trezor devices were simply using wifi to transmit the information on them?

There are so many suspicious infommerical-sounding posts for the Trezor all over the internet right now, I really wonder how many are legit.

In my opinion, you have to be a complete idiot to trust your money to any electronic device, provided by any 3rd party, for any reason whatsoever right now.

Paper wallets all the way.

-B-

Owner: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
View it on the Blockchain | Genesis Block Newspaper Copies
kamilosa
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
January 12, 2015, 07:59:14 PM
 #34

Trezor is one of the most secures ways to have your bitcoins stored.

I don't agree, paper wallet or offline computer wallet is more secure and free
A paper backup is a quite safe method to protect bitcoins, but you still need to load private keys from paper using a trusted computer to send your coins to somebody else - please see the docs - http://doc.satoshilabs.com/trezor-faq/differences.html
kamilosa
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
January 12, 2015, 08:08:56 PM
 #35

The private keys of your trezor never go out from it, and you can always check in its screen the transaction parameters to see if they are correct or not.

I have not seen yet any trezor hack.

Boy wouldn't it suck to find out one day that the Trezor devices were simply using wifi to transmit the information on them?

There are so many suspicious infommerical-sounding posts for the Trezor all over the internet right now, I really wonder how many are legit.

In my opinion, you have to be a complete idiot to trust your money to any electronic device, provided by any 3rd party, for any reason whatsoever right now.

Paper wallets all the way.

-B-
Please read the docs first http://doc.satoshilabs.com/trezor-user/securityphilosophy.html . Do not you think, if there will be any wi-fi integrated in the hardware someone will already find out? Do not you think if there will be some security issue, people like Andreas Antonopolous will be even bothered to mention Trezor device as a secure solution http://www.reddit.com/r/Bitcoin/comments/2mz3q3/new_identity_of_andreas_m_antonopoulos_secure_and/

Yes, paper wallets are safe, but you still need to load private keys from paper using a trusted computer to send your coins to somebody else. Also if you do not understand, how change adresses work, you are most likely to loose your coins.
coinableS
Legendary
*
Offline Offline

Activity: 1442
Merit: 1179



View Profile WWW
January 12, 2015, 09:04:34 PM
 #36

Trezor is one of the most secures ways to have your bitcoins stored.

I don't agree, paper wallet or offline computer wallet is more secure and free

This 100%.  Paper wallets and offline usb is the way I go. If the usb corrupts or fails I still have the paper.  If the trezor fails, then what?

odolvlobo
Legendary
*
Offline Offline

Activity: 4298
Merit: 3214



View Profile
January 12, 2015, 09:12:56 PM
 #37

Trezor is one of the most secures ways to have your bitcoins stored.

I don't agree, paper wallet or offline computer wallet is more secure and free

This 100%.  Paper wallets and offline usb is the way I go. If the usb corrupts or fails I still have the paper.  If the trezor fails, then what?

If the Trezor goes, you have the seed that can be imported into another wallet.

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
kamilosa
Member
**
Offline Offline

Activity: 61
Merit: 10


View Profile
January 12, 2015, 09:23:38 PM
 #38

Trezor is one of the most secures ways to have your bitcoins stored.

I don't agree, paper wallet or offline computer wallet is more secure and free

This 100%.  Paper wallets and offline usb is the way I go. If the usb corrupts or fails I still have the paper.  If the trezor fails, then what?
you have backup of your seed on the paper as well. You can use any BIP32 compatible wallet to import the seed and recover your funds.

Electrum is currently in beta http://www.reddit.com/r/TREZOR/comments/2jp9uk/tutorial_install_electrum_20_beta_with_trezor/ , soon you will be able to use Trezor with Multibit HD, Armory and GreenAddress.

Basically there is no way, how you can loose your coins using Trezor.
freebit13
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500

I got Satoshi's avatar!


View Profile
January 12, 2015, 09:25:45 PM
 #39

From what I can find from wading through some of the code, it looks like its random functions are at least cryptographically secure.

Code:
def _get_local_entropy(self):
  return os.urandom(32)

Decentralize EVERYTHING!
cafucafucafu (OP)
Hero Member
*****
Offline Offline

Activity: 812
Merit: 509



View Profile
January 12, 2015, 09:36:46 PM
 #40

Trezor is one of the most secures ways to have your bitcoins stored.

I don't agree, paper wallet or offline computer wallet is more secure and free

This 100%.  Paper wallets and offline usb is the way I go. If the usb corrupts or fails I still have the paper.  If the trezor fails, then what?

Paper wallets can be stolen and they have no passwords.
Memory sticks can be destroyed in a fire or lost/stolen.
You still need to sweep the private keys for every spend.

This is what is advantageous about Trezor. The masses need such a device if bitcoin is going to become big.

Trezor could be compromised if cameras watch you typing the seed?

Pages: « 1 [2] 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!