098-todo.txt 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. Filename: 098-todo.txt
  2. Title: Proposals that should be written
  3. Version: $Revision$
  4. Last-Modified: $Date$
  5. Author: Nick Mathewson, Roger Dingledine
  6. Created:
  7. Status: Meta
  8. Overview:
  9. This document lists ideas that various people have had for improving the
  10. Tor protocol. These should be implemented and specified if they're
  11. trivial, or written up as proposals if they're not.
  12. This is an active document, to be edited as proposals are written and as
  13. we come up with new ideas for proposals. We should take stuff out as it
  14. seems irrelevant.
  15. For protocol version 2:
  16. - Fix onionskin handshake scheme to be more mainstream, less nutty.
  17. Can we just do
  18. E(HMAC(g^x), g^x) rather than just E(g^x) ?
  19. No, that has the same flaws as before. We should send
  20. E(g^x, C) with random C and expect g^y, HMAC_C(K=g^xy).
  21. Better ask Ian; probably Stephen too.
  22. - Versioned CREATE and friends
  23. - Length on CREATE and friends
  24. - Versioning on circuits
  25. - Versioning on create cells
  26. - SHA1 is showing its age
  27. - Not being able to upgrade ciphersuites or increase key lengths is
  28. lame.
  29. Any time:
  30. - REASON_CONNECTFAILED should include an IP.
  31. - Spec should incorporate some prose from tor-design to be more readable.
  32. - Spec when we should rotate which keys
  33. Things that should change...
  34. B.1. ... but which will require backward-incompatible change
  35. - Circuit IDs should be longer.
  36. - IPv6 everywhere.
  37. - Maybe, keys should be longer.
  38. - Maybe, key-length should be adjustable. How to do this without
  39. making anonymity suck?
  40. - Drop backward compatibility.
  41. - We should use a 128-bit subgroup of our DH prime.
  42. - Handshake should use HMAC.
  43. - Multiple cell lengths.
  44. - Ability to split circuits across paths (If this is useful.)
  45. - SENDME windows should be dynamic.
  46. - Directory
  47. - Stop ever mentioning socks ports
  48. B.1. ... and that will require no changes
  49. - Mention multiple addr/port combos
  50. - Advertised outbound IP?
  51. - Migrate streams across circuits.
  52. B.2. ... and that we have no idea how to do.
  53. - UDP (as transport)
  54. - UDP (as content)
  55. - Use a better AES mode that has built-in integrity checking,
  56. doesn't grow with the number of hops, is not patented, and
  57. is implemented and maintained by smart people.
  58. Let onion keys be not just RSA but maybe DH too. for the reply onion
  59. design.