Giter Site home page Giter Site logo

vesvault / snif Goto Github PK

View Code? Open in Web Editor NEW
14.0 3.0 1.0 683 KB

SNIF ~ e2e TLS trust for IoT

Home Page: https://snif.host

License: GNU General Public License v3.0

Makefile 29.00% Shell 16.91% Perl 2.78% PHP 2.75% M4 0.40% C 47.71% Hack 0.44%
iot tls relay e2ee end-to-end tls-proxy certificate-authority cert-manager certbot forwarder

snif's People

Contributors

vesvault-jz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

skyformat99

snif's Issues

Hide a plaintext SNI in snifd/srv.c

snifd/srv.c, the listener for connections from the server processes on the end IoT devices,
relays the TLS traffic for the matched socket without any modifications, including the client TLS hello with a plaintext SNI record.
However, the server process on the end IoT device generally doesn't need a legible SNI.
Would like to explore the possibility of hiding or disguising the SNI hostname in snifd/cln.c connection
without breaking the end-to-end TLS stream.

Support for ESNI / ECH in snifd/cln.c

snifd/cln.c, the receiver of the client TLS connections, works fine with a plaintext SNI in the TLS hello request.
Would like to explore the possibility of supporting ESNI or encrypted TLS hello (ECH).
The SNIF relay host should keep the private key, available to snifd relay, and publish the DNS RR with the public key for the wildcard SNIF subdomains.
The end IoT device that connects to snifd/srv.c shouldn't need a legible SNI record, so it should be ok to pass the encrypted SNI as is (although the device won't have the private key to decrypt it), or to correctly discard it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.