Reading further, it seems like they say they first generated some keys on-HSM, but then used 'test keys' (that were used to test wrap/unwrap of key material) instead by accident. Fishy.
They used the "correct" key for signing the CRLs (which of course was then an invalid signature):
> The CRL's were signed with the original private keys (which were supposed to be the correct keys with appropriate entropy) but given that this resulted in incorrect signatures, they were resigned with flawed keys.
And THAT is where I'm drawing the line between "honest mistake" and "gross negligence". For that to not raise giant red flags is an unacceptable failure in process and work culture.
I've seen speculation that there was a language barrier, given that this is an Indian company.
The theory was that someone misinterpreted 384-bit keys to mean the key must be a number between 1-384.
I think that's entirely made up, but it wouldn't be completely implausible to have happened while someone tried to troubleshoot why the first attempt failed.
I do not consider language barrier at all a factor here.
Instead, I consider a lack of concentration due to too much stuff going on around to be a big factor.
The biggest problem when working with Indian offices is that their crew always has to deal with weird shit continuously that it would be extremely surprising for me to have someone fully concentrated on their work.
Image search result for that Ultimaco brand name returns a lot of images for PCIe cards and badged white-box x86 servers. Maybe "generated on-HSM" in this case means the "HSM" was operated using a regular display and keyboard connected to it rather than e.g. selecting "GENERATE KEY? (Y/N)" on a 16x2 display.
> This is an additional, ad-hoc blocklist for compromised intermediaries, it's not even roots.
Nonetheless, there shouldn't be a mechanism to override or modify the OS trust list embedded in the runtime. If the application code itself wants to do that (e.g. cert pinning), fine. But as an ops person, I repeat myself, it's an utter headache to deal with SSL trust roots already, and really I don't want to have to learn about N different ways that applications manage this crap.
It's also just nice to not need numbered point-to-point links (ie. just use IPv6 LL).
(this is one of those things that's really magical with OSPv3 - it just runs on IPv6 LL addresses, no need to set anything up other than set the link to be within some area and it just works! well, as much as they do with OSPF anyway.)
A router still needs a non-link-local address in order to be able to send ICMP errors off-link -- which you're going to want if you want sensible output from traceroute..
reply