Earlier quoted context omitted.
> to avoid various timing attacks that could be introduced by optimization Assembler only goes so far. Until you figure out how the processor's front end will decode the machine code and run the underlying RISC program, or how the hypervisor will schedule your program on some shared machines (e.g. in EC2) you're susceptible to a different class of side-channel attacks.
This is true but not relevant to the discussion: whatever side channel problems you'd have in pure assembly, you're practically certain to have more of them if you implement crypto in a high-level language with an aggressive optimizer.
BearSSL – Smaller SSL/TLS
141–150 of 206 posts
Re: BearSSL – Smaller SSL/TLS
#142Earlier quoted context omitted.
IMHO you're converting your heap buffer overflows into stack buffer overflows which are even easier to exploit.
Not using the heap != everything is allocated on the stack. In situations where you want to avoid dynamic allocation, memory for most things that would otherwise have been dynamically allocated ends up being statically allocated at compile time.
Re: BearSSL – Smaller SSL/TLS
#143I love the idea of a zero allocation crypto library, but isn't the fact that this is also in C going eventually lead down a similar path as that of OpenSSL? I'm personally really excited for this: https://github.com/briansmith/ring It's a Rust oxidization of the BoringSSL library, meaning that parts of BoringSSL are being rewritten in Rust, with the eventual goal of being pure Rust.
Re: BearSSL – Smaller SSL/TLS
#144Earlier quoted context omitted.
Why not run Gitlab on that server?
It's hard to get by without all the fancy CVE features in GitLab, but software written in Ruby on Rails is banned in Canada, so they had to use good ol' reliable gitweb.
wohaa. what?
wow. an opportunity for me to use google. if you are actually serious?
edit:lol my phone default searches to bing... didn't find anything about ruby on rails being banned in canada.
Re: BearSSL – Smaller SSL/TLS
#145Earlier quoted context omitted.
This is true but not relevant to the discussion: whatever side channel problems you'd have in pure assembly, you're practically certain to have more of them if you implement crypto in a high-level language with an aggressive optimizer.
Note I never disagreed with GGP's premise - I'm only pointing out that you can go further than assembler.
Re: BearSSL – Smaller SSL/TLS
#146Earlier quoted context omitted.
You don't need TLS for that, you could simply use an HMAC and a shared secret, assuming you're not worried about people with physical access (and ability to get the secret) being able to create updates. Of course if you've got multiple instances of the device (not some hobby thing where they are all owned by you), then the secret for each device should be different so someone can't buy the device, determine the secre…
Wouldn't signing each release with a private key be the simplest solution here? (that can take many forms, but that general idea is how most software updates currently work)
Re: BearSSL – Smaller SSL/TLS
#147Earlier quoted context omitted.
Rust can't target the same platforms C can. Rust is also (generally) more memory intensive than C for similar programs. This makes its use in embedded situations a non-starter (at least for now).
> Rust can't target the same platforms C can. I keep seeing this argument, but nobody actually names those platforms. Name one platform you need to run a TLS stack on that LLVM doesn't have support for. > Rust is also (generally) more memory intensive than C for similar programs [citation needed]
Re: BearSSL – Smaller SSL/TLS
#148Re: BearSSL – Smaller SSL/TLS
#149> written in C Stopped reading there.
Re: BearSSL – Smaller SSL/TLS
#150Earlier quoted context omitted.
Rust can't target the same platforms C can. Rust is also (generally) more memory intensive than C for similar programs. This makes its use in embedded situations a non-starter (at least for now).
> Rust can't target the same platforms C can. I keep seeing this argument, but nobody actually names those platforms. Name one platform you need to run a TLS stack on that LLVM doesn't have support for. > Rust is also (generally) more memory intensive than C for similar programs [citation needed]
MPC55xx
there's no proper support even in GCC and we need to work with expensive WindRiver compiler for this target.
personally I don't need TLS for my firmware, but someone might - as there's static without runtime alloc implementation available.