Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #22817

Closed (moved)
Open
Opened Jul 04, 2017 by Trac@tracbot

SAFECOOKIE description in control spec does not have verifiable test vectors

The SAFECOOKIE documentation in https://gitweb.torproject.org/torspec.git/tree/control-spec.txt describes the hashing process, but doesn't provide verifiable sample input/output pairs that would be hugely helpful for implementing it.

I worked around this by using the server hash reported by the Tor server and access to the Stem code to verify the expected inputs and outputs, but this is a lot of extra overhead beyond the spec document.

A possible example of useful information:

example server hash: F917E3B73CBEDC66A85EBD60F25E100552B89645FDEC87D69E9BD4E81E25B604 example server nonce: F8B52E3424733A4081FCCD2A64FC9C67F0FD3A9639C1E09D5558C3B4B9B973E1 example client nonce: 3b example client hash: c6213ce626df95c1b5f5c0b4fe77c8ff1a05c7fd7f5e5a9843d2b4d009b5d340

The above vectors should be decoded to bytes and input to an HMAC initialized with the appropriate server-to-controller initialization key described in this spec to produce a matching hex string as provided by the Tor process in its AUTHCHALLENGE reply. The same vectors should also be decoded to bytes and input to an HMAC initialized with the appropriate controller-to-server initialization key described in this spec to produce the client hash.

Trac:
Username: amphetamine

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
Tor: unspecified
Milestone
Tor: unspecified
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#22817