Coder Social home page Coder Social logo

Add TLS support about cachegrand HOT 3 CLOSED

danielealbano avatar danielealbano commented on June 3, 2024
Add TLS support

from cachegrand.

Comments (3)

danielealbano avatar danielealbano commented on June 3, 2024

kTLS doesn't still handle in-kernel handshakes, although work is being carried out by TempestaFW, therefore an user-space library is required to handle the initial handshaking before enabling the TLS TX/RX to the kernel an, if available, to the underlying hardware accelerator.

The kTLS has a pretty limited support for the cyphersuites but the supported ones really cover the most used and secure ones, so for know it's fine to rely on these although in the future additional support can be handled in userspace.

Currently cachegrand requires openssl but only for the bigintegers implementation, not for the encryption, both mbedtls and openssl should be compared to investigate which is the best option.

from cachegrand.

danielealbano avatar danielealbano commented on June 3, 2024

Altghough OpenSSL has a simpler interface, it doesn't really support and the interface is a bit less flexible than mbedtls.

Also for mbedtls I have found this article
https://tia.mat.br/posts/2022/03/23/implementing-tls-in-lwan.html

It covers the usage of coroutines, which are similar to fibers, uses custom recv/send and enables kTLS and therefore it's a perfect reference.

I have also found this wrapper around ktls / mbed that automatically enables kTLS for the sockets using mbed
https://github.com/zliuva/ktlswrapper/blob/master/ktlswrapper.c

from cachegrand.

danielealbano avatar danielealbano commented on June 3, 2024

With mbed going to be used for TLS makes sense to drop OpenSSL entirely and use the BigNum implementation from mbedtls

from cachegrand.

Related Issues (20)

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.