| ▲ | dlopes7 4 hours ago |
| I love how I work with IT for 20 years and don't understand a single acronym here other than DNSSEC |
|
| ▲ | icedchai 3 hours ago | parent | next [-] |
| I've been in IT 30+ years, been running DNS, web servers, etc. since at least 1994. I haven't bothered with DNSSEC due to perceived operational complexity. The penalty for a screw up, a total outage, just doesn't seem worth the security it provides. |
| |
| ▲ | gerdesj 29 minutes ago | parent | next [-] | | That was my experience too until I decided that just running email systems for 30 odd years when HN says that is unnatural piqued my weird or something! I ran up three new VMs on three different sites. I linked all three systems via a private Wireguard mesh. MariaDB on each VM bound to the wg IP and stock replication from the "primary". PowerDNS runs across that lot. One of the VMs is not available from the internet and has no identity within the DNS. The idea is that if the Eye of Sauron bears down on me, I can bring another DNS server online quite quickly and fiddle the records to bring it online. It also serves as a third authority for replication. I also deployed https://github.com/PowerDNS-Admin/PowerDNS-Admin which is getting on a bit and will be replaced eventually but works beautifully. Now I have DNS with DNSSEC and dynamic DNS and all the rest. This is how you start signing a zone and PowerDNS will look after everything else: # pdnsutil secure-zone example.co.uk
# pdnsutil zone set-nsec3 example.co.uk
# pdnsutil zone rectify example.co.uk
Grab a test zone and work it all out first, it will cost you not a lot and then go for "production".My home systems are DNSSEC signed. | |
| ▲ | qingcharles 36 minutes ago | parent | prev [-] | | How simple sysadmin was in 1994 with no cryptography on any protocol. Everything could be easily MITM'd. Your credit card number would get jacked left and right in the 90s. | | |
| ▲ | gerdesj 25 minutes ago | parent [-] | | Cool. Feel free to explain how to tighten things up. I've just given them part of a recipe for using DNSSEC. I suspect you are not actually human .. qingcharles. |
|
|
|
| ▲ | walrus01 4 hours ago | parent | prev | next [-] |
| To be fair, advanced real world knowledge of public/private key PKIs (x.509 or other), things like root CAs, are a fairly esoteric and very specialized field of study. There's people whose regular day jobs are nothing but doing stuff with PKI infrastructure and their depth of knowledge on many other non-PKI subjects is probably surface level only. |
| |
| ▲ | hannob 4 hours ago | parent | next [-] | | I know quite a bit about PKI and X.509, and I can tell you that much: the overlap with how DNSSEC works is limited. | | |
| ▲ | silisili 3 hours ago | parent [-] | | As is the overlap between DNSSEC and DNS itself, to be honest. I once worked at the level of administering DNSSEC for 300+ TLDs. It's its own world. When that company was winding down, I tried to continue in the field but the most common response (outside of no response, of course), was 'we already have a DNS team/vendor/guy.'
And well, then things like this happen. I won't throw stones though, it's a lot to learn and can be incredibly brittle. |
| |
| ▲ | hathawsh 4 hours ago | parent | prev | next [-] | | Is that actually true, though? Even though it's not really my job, I find myself debugging certificates and keys at least once a month, and that's after automating as much as possible with certbot and cloud certificates. PKI always seems to demand attention. | | |
| ▲ | walrus01 4 hours ago | parent [-] | | In my initial comment, I meant more in terms of complexity and planning from the perspective of the people who are running the public/private key infrastructure on the other side/upstream of what you're doing as a letsencrypt end user. Broadly similar general concept to the team responsible for the DNSSSEC signing keys for an entire ccTLD. Yeah a x509 PKI / root CA is a very different thing than DNSSSEC but they have a number of general logical similarities in that the chain of trust ultimately comes down to a "do not fuck this up" single point of failure. |
| |
| ▲ | mschuster91 4 hours ago | parent | prev [-] | | It's not made easier by the fact that a lot of cryptography is either very old and arcane or it's one hell of a mess of code that doesn't make sense without reading standards. I had the misfortune of having to dig deep into constructing ASN.1 payloads by hand [1] because that's the only thing Java speaks, and oh holy hell is this A MESS because OF COURSE there's two ways to encode a bunch of bytes (BIT STRING vs OCTET STRING) and encoding ed25519 keys uses BOTH [2]. And ed25519 is a mess in itself. The more-or-less standard implementation by orlp [3] is almost completely lacking any comments explaining what is going on where and reading the relevant RFCs alone doesn't help, it's probably only understandable by reading a 500 pages math paper. It's almost as if cryptographers have zero interest in interested random people to join the field. End of rant. [1] https://github.com/msmuenchen/meshcore-packets-java/blob/mai... [2] https://datatracker.ietf.org/doc/html/rfc8410#appendix-A [3] https://github.com/orlp/ed25519/tree/master | | |
| ▲ | Muromec 2 hours ago | parent | next [-] | | The trick to asn.1 is to generate both parser and serializer from the spec. Elliptic curve math on the other hand is ... yeah, you need to know the math and also know the tricks to code that implements it. Both of those have steep learning curve, but it's hardly because it's a mess or it's old. | | |
| ▲ | tptacek 2 hours ago | parent | next [-] | | The trick to ASN.1 is to serialize/unserialize it backwards. | | | |
| ▲ | mschuster91 2 hours ago | parent | prev [-] | | > Both of those have steep learning curve, but it's hardly because it's a mess or it's old. Bitpacking structures used to be important in the 60s. That time has passed, unless you're dealing with LoRa, NFC or other cases of highly constrained bandwidth there are way better options to serialize and deserialize information. It's time to move on, and the complexity of all the legacy garbage in crypto has been the case of many a security vulnerability in the past. As for the code, it might be personal preference but I'd love to have at least some comments referring back to a specification or original research paper in the code. | | |
| ▲ | Muromec 2 hours ago | parent | next [-] | | I think you misunderstand the problem asn.1 solves and constrains it works within (both 30 years ago and now). We sure can have a better one now once we learned all the lessons and know what good parts to keep, but this critique of bitpacking is misplaced. | |
| ▲ | Avamander 2 hours ago | parent | prev [-] | | ASN.1 is not used because of just bitpacking. There are other benefits to ASN.1 and it's probably one of the least problematic parts there. People who have thought they can do better have made things like PGP. It's one of the worst cryptographic solutions out there. You're free to try as well though. | | |
| ▲ | Muromec 2 hours ago | parent [-] | | People who though they can do better did JWT, that is not complicated at all and has no bugs as well. Also solves 20% of what asn.1 is used for. |
|
|
| |
| ▲ | tptacek 3 hours ago | parent | prev | next [-] | | The typical vector for entering cryptography as a professional is called "grad school". | |
| ▲ | cyberax 3 hours ago | parent | prev [-] | | X.509 is a deep legacy, but at least at this point it's well tested. > because that's the only thing Java speaks No, it most definitely is not. You can just construct a private key directly in BouncyCastle: https://downloads.bouncycastle.org/java/docs/bcprov-jdk18on-... I'm 100% certain that you also can do that with raw java.security. I did that about 15 years ago with raw RSA/EC keys. You can just directly specify the private exponent for RSA (as a bigint!) or the curve point for EC. Ditto for ed25519, you can just take the canonical implementation from DJB. And you really really shouldn't do that anyway, please just use OpenSSL or another similar major crypto library. | | |
| ▲ | Muromec 2 hours ago | parent | next [-] | | I wouldn't recommend touching openssl (the library, command line tools are okay-ish) with anything that breaths life. | |
| ▲ | mschuster91 2 hours ago | parent | prev [-] | | > I'm 100% certain that you also can do that with raw java.security. I tried that, the problem is Meshcore specific - they do their own weird shit with private and public keys [1]. Haven't figured out how to do the private key import either, because in the C source code (or in python re-implementations) Meshcore just calls directly into the raw ed25519 library to do their custom math... it's a mess. [1] https://jacksbrain.com/2026/01/a-hitchhiker-s-guide-to-meshc... |
|
|
|
|
| ▲ | bflesch 3 hours ago | parent | prev [-] |
| Don't worry, that's by design ;) |