v3-authority-howto.txt 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. How to run an experimental v3 directory authority.
  2. 13 Aug 2007
  3. NOTE:
  4. This code is experimental, and for directory authorities only.
  5. Please do not try to make it work right now without Nick's help.
  6. What we'll be doing:
  7. We'll be setting up a couple of authorities to vote with each other.
  8. (Later, we'll revise this document to explain how to add or remove
  9. or operate a v3 voting authority.)
  10. The steps:
  11. 0) Make sure you're running ntp, and that your time is correct.
  12. Make sure you have Tor version at least r11083.
  13. Make sure you can do this with 2 or more authorities.
  14. 1) First, you'll need a certificate. Run tor-gencert to generate one.
  15. tor-gencert is in ./src/tools/.
  16. Run tor-gencert in a separate, very secure directory. The first time
  17. you run it, you will need to run it with the --create-identity-key
  18. option to make a v3 authority identity key. Subsequent times, you
  19. can just run it as-is.
  20. tor-gencert will make 3 files:
  21. authority_identity_key -- THIS IS VERY SECRET AND VERY SENSITIVE.
  22. DO NOT LEAK IT. DO NOT LOSE IT.
  23. authority_signing_key -- A key for signing votes and v3 conensuses.
  24. authority_certificate -- A document authenticating your signing key
  25. with your identity-key.
  26. You will need to rotate your signing key periodically. The current
  27. default lifetime is 1 year. I'll probably take this down to a month or
  28. two some time soon. To rotate your key, run tor-gencert as before,
  29. but without the --create-identity-key option.
  30. 2) Copy authority_signing_key and authority_certificate to your Tor keys
  31. directory.
  32. For example if your data directory is /var/lib/tor/, you should run
  33. cp authority_signing_key authority_certificate /var/lib/tor
  34. You will need to repeat this every time you rotate your certificate.
  35. 3) Tell Tor to be a v3 authority by adding this to your torrc:
  36. V3AuthoritativeDirectory 1
  37. Tell Tor to try voting every half hour by adding this to your torrc:
  38. V3AuthVotingInterval 30 minutes
  39. 4) Now you'll need to add DirServer lines to your Tor. Right now, the
  40. defaults are:
  41. DirServer moria1 v1 orport=9001 128.31.0.34:9031 FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441
  42. DirServer moria2 v1 orport=9002 128.31.0.34:9032 719B E45D E224 B607 C537 07D0 E214 3E2D 423E 74CF
  43. DirServer tor26 v1 orport=443 86.59.21.38:80 847B 1F85 0344 D787 6491 A548 92F9 0493 4E4E B85D
  44. DirServer lefkada orport=443 140.247.60.64:80 38D4 F5FC F7B1 0232 28B8 95EA 56ED E7D5 CCDC AF32
  45. DirServer dizum 194.109.206.212:80 7EA6 EAD6 FD83 083C 538F 4403 8BBF A077 587D D755
  46. You will need to tell every Tor that is running a v3 authority about the
  47. other v3 authorities. To do this:
  48. -- Add the default DirServer lines to your torrc... INCLUDING
  49. THE AUTHORITIES THAT YOU ARE NOT TESTING WITH V3.
  50. -- Find out every authority's v3 identity fingerprint. It should
  51. be in your authority_certificate file in a line like:
  52. fingerprint 3041632465FA8847A98B2C5742108C72325532D9
  53. -- To the DirServer line of every authority with a v3 identity, add
  54. a v3ident=<fingerprint> item. For example, if moria1's new v3
  55. identity fingerprint is FOO, the moria1 dirserver line should now
  56. be:
  57. DirServer moria1 v1 orport=9001 v3ident=FOO 128.31.0.34:9031 FFCB 46DB 1339 DA84 674C 70D7 CB58 6434 C437 0441
  58. The v3ident item must appear after the nickname and before the IP.
  59. 5) Restart Tor and let me know what happens. You might want to enable
  60. coredumps.
  61. 6) If it breaks very badly, or you're not going to be around to restart it,
  62. disable v3 voting by setting V3AuthoritativeDirectory to 0.
  63. -- Nick