Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NOnion,Tests: unify crypto dependencies #62

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on Apr 12, 2023

  1. Network: clients don't report their addrs

    Apparently, clients don't have to report
    their IP addresses.
    aarani committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    dfd277f View commit details
    Browse the repository at this point in the history
  2. Network: verify router's ip address

    According to spec:
    Initiators SHOULD use "this OR's address" to make sure
    that they have connected to another OR at its canonical address.
    aarani committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    f5d9396 View commit details
    Browse the repository at this point in the history
  3. Network: respect spec wrt generating NETINFO

    According to spec:
    Clients SHOULD send "0" as their timestamp,
    to avoid fingerprinting.
    aarani committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    0a095cf View commit details
    Browse the repository at this point in the history
  4. Network: verify guard certs with rsa fingerprint

    According to spec:
    ```
       To authenticate the responder as having a given RSA identity only,
       the initiator MUST check the following:
    
         * The CERTS cell contains exactly one CertType 1 "Link" certificate.
         * The CERTS cell contains exactly one CertType 2 "ID" certificate.
         * Both certificates have validAfter and validUntil dates that
           are not expired.
         * The certified key in the Link certificate matches the
           link key that was used to negotiate the TLS connection.
         * The certified key in the ID certificate is a 1024-bit RSA key.
         * The certified key in the ID certificate was used to sign both
           certificates.
         * The link certificate is correctly signed with the key in the
           ID certificate
         * The ID certificate is correctly self-signed.
    
       In both cases above, checking these conditions is sufficient to
       authenticate that the initiator is talking to the Tor node with the
       expected identity, as certified in the ID certificate(s).
    ```
    aarani committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    fe050f0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    cf83ff1 View commit details
    Browse the repository at this point in the history
  6. Directory,Tests: validate consensus data

    Making sure consensus data is signed by majority
    of trusted authorities is probably the most important
    security check in TOR which was missing from NOnion,
    this commit fixes that.
    
    This commit also fixes an issue with parsing
    directory signatures, adds digest calculation
    to NetworkStatus and changes networkstatus.json
    to use Indented formating to help with manual
    validatation.
    aarani committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    b0edcfc View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2023

  1. Directory,Utility: EmbeddedResources for authDirs

    This commit moves the auth_dirs.inc file
    to EmbeddedResource so end users don't have to
    carry the list around with their applications.
    aarani committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    8591ad9 View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2023

  1. Directory,Tests: remove janky pem reader

    This commit removes janky pem reader code
    in favour of Bouncycastle's PemReader.
    aarani committed Apr 15, 2023
    Configuration menu
    Copy the full SHA
    7c45b97 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2023

  1. NOnion,Tests: unify crypto dependencies

    This commit replaces Chaos.NaCl in favour of
    our custom bouncycastle.
    aarani committed Apr 19, 2023
    Configuration menu
    Copy the full SHA
    2aab074 View commit details
    Browse the repository at this point in the history