libp2p / libp2p/specs

Draft a spec to do Peer ID Authentication with Keying Material Exports for TLS

Open
#629 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

explorative
Dominant language
No language data
Stars
1.8k
Forks
320
Avg merge
11d 15h
Merged PRs (30d)
1

Description

Meta and caveats:

This could serve as an alternative to our current TLS PeerID authentication scheme which uses certificate extensions to authenticate.

Pros:

  • This would allow us to easily use a standard CA issued certificate and still have PeerID authentication.
  • Use the same TLS cert for HTTP transport and stream transport.

Cons:

  • One more way of doing peerid authentication.
  • Will be subsumed once The Concealed HTTP Authentication Scheme is published (and available in browsers).
  • Still doesn't work in browsers. See HTTP PeerID Auth for something that does.

I'd recommend holding off on this for now and investing the energy from here into a spec that makes use of The Concealed HTTP Authentication Scheme.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read tls/tls.md to understand the current TLS PeerID authentication scheme, then compare it with the proposed Keying Material Exports approach and the linked Concealed HTTP Authentication Scheme. The issue is complete only if a concrete direction is chosen and a coherent specification is drafted; its current recommendation is to hold off.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, networking, security
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.