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

RFC 9266: Channel Bindings for TLS 1.3 support #1584

Open
Neustradamus opened this issue Jul 27, 2022 · 3 comments
Open

RFC 9266: Channel Bindings for TLS 1.3 support #1584

Neustradamus opened this issue Jul 27, 2022 · 3 comments

Comments

@Neustradamus
Copy link

Neustradamus commented Jul 27, 2022

Can you add the support of RFC 9266: Channel Bindings for TLS 1.3?

Little details, to know easily:

  • tls-unique for TLS =< 1.2
  • tls-exporter for TLS = 1.3

Thanks in advance.

Linked to:

@oberstet
Copy link
Contributor

oberstet commented Jul 27, 2022

Interesting! I wasn't aware of this.

Autobahn(Python) (and Crossbar.io) support WAMP authentication via WAMP-Cryptosign with TLS channel binding of type tls-unique.

WAMP-Cryptosign:

if channel_id_type == 'tls-unique':

Twisted:

def transport_channel_id(transport: object, is_server: bool, channel_id_type: Optional[str] = None) -> Optional[bytes]:

asyncio:

def transport_channel_id(transport, is_server: bool, channel_id_type: Optional[str] = None) -> bytes:

However, we don't support binding type tls-exporter yet. I've skimmed over the RFC .. it obviously seems to improve matters (complete keying material is fed to the computation of channel ID ... which seems like a good idea), plus indeed

Implementations that support channel binding over TLS 1.3 MUST implement "tls-exporter".

Now, since that new channel binding also produces 32 octet channel IDs, it is straight forward to add. However, we need upstream support .. I think .. to be able to read this id.

@Neustradamus
Copy link
Author

@oberstet: Thanks for your quick answer :)

I have create a ticket in Crossbar too: crossbario/crossbar#2037

@oberstet
Copy link
Contributor

For CPython, here is the upstream PR which would allow adding support (here in AutobahnPython and in Crossbar.io): python/cpython#95366 For PyPy, this remains to be seen ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants