Skip to content

feat(radsec): how to implement TLS connections to client routers correctly #5

@TheoTechnicguy

Description

@TheoTechnicguy

After having experimented with RadSec locally using two OCI instances, several observations and questions come to mind.

Observations

  1. Connections are mutually authenticated (so mTLS works perfectly) and implementation is even mandatory (2.3.2 point 2 IETF RFC 6614)
  2. Passive revocation works both for sides (expired certificates are not accepted) - I haven't tried active revocation, but as it is advertised in the configuration files, I suppose it will work.
  3. Certificate's CN (Common Name) and SAN (Subject Alt Name) attributes are ignored when verifying the remote party. Checks will have to be implemented with the verify stanza. The certificate chain does work.

Question

For the purposes of this project...

  1. Managed or custom PKI: Should we use an existing or a custom PKI (Public Key Infrastructure)? Using an existing/managed PKI relieves us from safety and security concerns, as well as from having to manage it. On the other hand, using a custom PKI leaves us independent and more flexible compared to CA/B CAs. It could also be more secure when done correctly.
  2. Certificate binding value: What value should we put in the CN or SAN so that we can bind the certificate to a remote party. We will also have to implement and validate this verification logic as per observation 3.
  3. Certificate lifetime: How long should the certificates be valid? Do we have multiple lifetimes?
  4. Certificate distribution: How do we distribute certificates ...
    1. ... to the techie community that want to use their own hardware?
    2. ... to the non-techie community that have no idea how RADIUS works (and don't want to)?
  5. Certificate renewal: How do we manage renewing certificates for the same two categories of communities? I think this will depend a lot on question 3.
  6. Certificate alteration: (How) do we allow changing the binding value (from 2.) e.g. for ISPs that alter domain names or IP addresses?
  7. Revocation method: How do we revoke certificates? What is our tolerance / when do we revoke a certificate (what is the fair use policy)?

Thoughts and comments welcome!

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions