Settings

Theme

Let's Encrypt is Trusted

letsencrypt.org

1260 points by coffeecheque 10 years ago · 317 comments

Reader

lorddoig 10 years ago

Being told that you now trust someone with your secrets via a news website is a pleasingly succinct display of everything that's wrong with the CA model.

  • geofft 10 years ago

    Well. The CA model is community trust. I am told all the time, often by news websites, that my government now trusts or distrusts some other government, that my employer now trusts or distrusts or is even part of some other company, etc. I don't know if I personally think that the embargoes on Cuba should be lifted, or my company's new vice president is qualified for the role, or (if I worked for VMware) Dell is a good employer, or my savings should now be held by Bank of America, or whatever. But that's how living and working in a community works.

    If you have secrets that are too sensitive for community trust, there are other mechanisms, but they typically have trouble scaling very much beyond continuing a previous face-to-face relationship. For the question of whether, say, news.ycombinator.com is who they say they are, I don't care enough to take Caltrain down to YC's offices and check a fingerprint posted on the wall, if they had one. What I care is that, at scale, the certificate authorities I trust will do a good job of verifying identities and running secure systems.

    And I am not an auditor or pen-tester of large companies, and even if I were, I wouldn't want to spend my spare time auditing and pen-testing all CAs just before I can use the internet. (Importantly, I am not an auditor of web browsers or SSL implementations either, and since I outsource my trust to my browser / SSL stack, it's not useful for me to be skeptical of the CAs unless I'm also skeptical of the code.)

    Remember that the CA model is bare-minimum security. (Some of the CAs find money in telling you otherwise, but they're stretching the truth.) All it's providing is the security that, in a perfect world, you would have gotten all along from DNS and IP. If you need anything more than bare-minimum security, there are tons of options, ranging from the SSL-based (EV, HPKP) to the completely unrelated (PGP, Pond, etc.). But the world needs a good mechanism for the simplest security that could possibly work, and the CA system seems to have settled into that role.

    • hellbanner 10 years ago

      CAs are CAs because they established themself. Personally I don't trust them because they are susceptible to MitM attacks & government intervention attacks.

      Some Mesh Networks & protocols like the Tor Browser use an IP derived from a public key.. so you're absolutely sure that who you're talking to is who they say they are.

      Why can't we have our cake (long distance electronic communications) and eat it too? (encryption & assuredness of identity)

      Celebrating "trustedness" of LetsEncrypt only perpetuates the belief that CA is working fine.

      EDIT: See below discussion by other posters

  • vonklaus 10 years ago

    We’re pleased to announce that we’ve received cross-signatures from IdenTrust

    This is what is wrong with the CA, model, not their method of announcing it to a community anxiously awaiting the arrival of their product. What is absurd is that identrust has a shitty non-responsive 90's looking website and wants $299 for an SSL certificate, which is something that should be free. I will say though, they really did sell me on their trust worthiness with the alternating images of a fingerprint and a lock. So now I know they're legit. It is worth the $99 for SSL on a single site annually because there is binary data superimposed on some of the pictures.

    • sgc 10 years ago

      I don't think he was saying they acted poorly by announcing on HN, but that he would prefer to grant someone trust rather than have it forced on him before he even knew about it. Not an easy task for a functional web, but it would obviously be better if possible.

      • Natanael_L 10 years ago

        There's many ways, all obnoxiously complex unless you go back to a CA-ish voluntary trust model.

        Keys as addresses (I2P, Tor hidden services, CJDNS) fixes a large part of the security problem, then on top of that you can add your choice of address translation. WoT style individualized trust webs? Trusted lists of name assignments DNS style? First-come first-serve á la Namecoin?

        • xorcist 10 years ago

          Not necessarily. You could also place domain validated trust in the registrars, to cryptographically verify their delegations. That would build a chain of trust which you in turn could use to validate keys for services in those domains.

          • Natanael_L 10 years ago

            That's the DNSSEC+DANE approach and that's still the same as the DNS approach I listed (trusted name registry lists), except that the address isn't an IP-address (or in other words, your domain's DNS server that says what IP addresses your subdomains have is itself identified by a public key).

    • bigiain 10 years ago

      Your last three sentences are sarcastic nerd-rage (with which I completely agree), but your boss (not _your_ boss, necessarily, but the more generic/stereotypical "your boss") utters those words in complete earnestness...

    • craneca0 10 years ago
    • gopowerranger 10 years ago

      Nothing you said is a reason for not using Let's Encrypt.

      • vonklaus 10 years ago

        To be clear, I am massively excited to use Let's Encrypt and plan on setting up SSL for the first time ever when it launches. I am legit broke so I can't afford to pay a lot of money for someone to have an automated process of:

            gpg --gen-key
        
        I was responding to parent, that announcing trust is a werid quirk of the CA model. TBH, that is correct, but I find it more bizarre Let's Encrypt has to be "trusted" by an unknown company that no one really knows anything about. That is the bit I find weirdest.
        • ar0 10 years ago

          Although I loved your sarcastic remarks about the cool pictures, I do want to point out that there are two issues with your argument:

          a) There is something else that you know about IdenTrust, and that is that your browser vendor trusts them. This is the whole point of this CA thing: in the end you trust whom your browser vendor trusts (with the option of removing CAs for which you disagree). This is far from perfect (especially since the vendors' vetting process can be quite opaque), but it is not nothing - after all, you should trust your browser vendor, otherwise all the encryption of the world can't save you from someone eavesdropping on your websurfing.

          b) Your argument can be read (or misconstrued?) to state that it would be perfectly reasonable to trust IdenTrust if they had a 2015-looking, professional website written in Angular and node instead. Which, of course, is not the case as many who entrusted their money to fraudsters with professional looking websites will be able to attest to.

          • vonklaus 10 years ago

            You raise some good points, and I totally agree. The thing is, when the drduh Yosemite guide came out (around the time Google dropped CNNIC) I looked into it a bit. I dropped a ton of certs, mostly international ones (about 40) and the only site that broke was Bing.

            > you trust who your browser trusts

            Exactly, and my OS. But I run Mac and I am sure Windows users can relate, there are over 200 CAs and I have no idea what heuristics can be used to determine whether they are trustworthy. It wouldn't be a big deal except a compromise at ANY means they could fake ANY website.

            Now, on a serious note. If you were running node and you had a super clean react front end with a picture of Jamie lee Miller from hackers super imposed over the ghostbusters symbol (responsive using html5 flex boxes) for sure I would trust you with the security for every website I visit.

            I just meant the comment more as idem trust looks like a random rent collector who hasn't updated their business model since 1995. As a broker of trust, I find it disconcerting I know fuck all about them and even if I did, there are hundreds more like that. If you have the money, I don't because I am broke, for sure it would be worth $100 for a padlock when a user hits your site. With nothing more to go on than their site though, it looks like they have been on autopilot for 10 years and I can't wait for Lets encrypt to go live.

  • robin_reala 10 years ago

    An encrypted communication channel specifically doesn’t say that you trust the person at the other end with your secrets. It means that you both agree that the secrets being transferred are safe from 3rd parties.

    • smoyer 10 years ago

      It might not say that you trust what the person at the other end does but it does indicate that a third-party has vetted the identity of the person at the other end. Do you trust Google? Probably not with everything but you do trust that the certificate that was issued to them proves that they're at the other end of your search bar.

  • Spooky23 10 years ago

    You would like to buy a knitted scarf from a yak herder in Ecuador. How do you propose that establish trust between you and the yak guy without an intermediary?

    • dheera 10 years ago

      Pictures of the yak sent by Snapchat, of course.

      • ckozlowski 10 years ago

        I'm imagining snickering goats on the other end, uploading yak photos from a stock image website. =)

    • hellbanner 10 years ago

      Crypto currency with escrow, receipt of goods validated by a robot camera sending a picture to an anonymous network of validators who say "yep that's the scarf they ordered, trigger the payment"

      • chc 10 years ago

        That system still appears to include intermediaries. They're just stuck in a Rube Goldberg machine rather than dealing directly with the two parties.

    • dredmorbius 10 years ago

      What's wrong with intermediaries?

      • geofft 10 years ago

        The commenter above implicitly rejected intermediaries. To me it is clear that my browser is a trusted intermediary, and part of my trust in them extends to letting them decide whether to trust IdenTrust. And part of my browser's trust in IdenTrust extends to letting them decide whether to trust Let's Encrypt.

        In the yak-herding analogy, Let's Encrypt is a new charity in Ecuador that provides market services for scarf knitters. IdenTrust is a large regional trader in South America. My browser is the local yak-scarf store down the street. It seems totally obvious to me that, in this case, of course I'd hear about IdenScarf making deals with Let's Shave Yaks on the news. But the parent commenter is unhappy about the local yak store not being directly involved, and thinks it's some form of failure of the global yak-scarf supply chain that an individual consumer isn't part of that conversation.

  • cpach 10 years ago

    I'm not sure what you're getting at. Care to elaborate?

    • harshreality 10 years ago

      New wannabe CA Entity B can approach an established CA entity A, convince A to sign B's root or intermediate cert, and then B can forge browser-trusted certs for every SSL website on the net that's not pinned.

      In this case, B is LetsEncrypt and is (hopefully) pretty solid, but that isn't always the case. Earlier this year, it became known that CNNIC had issued a CA cert to MCS Holdings (of Egypt), which then did bad things.[1]

      The news that everyone is suddenly trusting a new entity B, whether it's some Egyptian IT firm, or LetsEncrypt, comes out of nowhere. Neither cooperation nor even awareness is needed of the major browsers' dev teams.

      [1] https://googleonlinesecurity.blogspot.com/2015/03/maintainin...

      • MichaelGG 10 years ago

        How is this any worse than trusting the original CA? There's almost assuredly some high standard they use to cross sign, and they'd get revoked if they do that incorrectly. You're failing to note that MCS was revoked as was CNNIC. So, boom, 2 bad/laughably incompetent players are out.

        Trusting a CA means trusting them to write certs, even via an intermediary. If you don't actually trust them, remove those CAs.

        The CA model has lots of problems, but I don't see what additional harm this actually causes.

        • Natanael_L 10 years ago

          Because it doesn't settle with having as many single points of failure as the number of CA entries in your root CA list, they are getting multiplied over and over.

          • MichaelGG 10 years ago

            How would it be any different if these CA's made a choice to instead issue end-user certs but based off of Let's Encrypt's authorization?

      • rplnt 10 years ago

        Is it (technically) possible to limit CAs validity to certain subset of.. something? I.e. certain CAs could only be used to verify limited number of.. domains? something?

        • geofft 10 years ago

          If you're talking about limiting to certain TLDs, like American CAs not being able to issue .ca or .in or .paris, there is a spec for that, called name constraints. It is intermittently supported, and there was a thread on mozilla.dev.security.policy, primarily focusing on government CAs, which argued that doing such a thing fractures the open/egalitarian nature of the internet, by making zones where security is less important:

          https://groups.google.com/d/topic/mozilla.dev.security.polic...

          I can imagine other ways you would restrict certificates (for instance, I'd kinda like to see a spec for a "half-CA", where you need two half-CAs under distinct organizational control to sign you), but I don't think anyone has specified the problem for those precisely, let alone proposed a solution.

        • grhmc 10 years ago

          Yes using "Name Constraints" but that RFC / extension is really broken, and implementations don't support it. See 4.2.1.10 of https://tools.ietf.org/html/rfc5280.

        • wtbob 10 years ago

          That's how SPKI (RFCs 2692 & 2693) worked: one only trusted an authority for certain things. This would work very well for DNS names and IP addresses alike, since both are allocated hierarchically; with SPKI one could guarantee that one is talking to one of the parties who is allowed to use a name or an address.

          Sadly, SPKI more-or-less died on the vine: the atrocious XPKI 'system' won by default. One of my rainy-day projects is to try to revive it: if the last 15 years have taught us anything, it's that centralised global trust is insane.

        • IgorPartola 10 years ago

          AFAIK, no it's not. However, this is the solution as far as I see it. When you buy a domain name from a registrar they should give you a mini-CA that's valid for just that domain for as long as the domain is registered. Then it's up to you to create and sign any certs for any subdomains. This would cut out the CA businesses entirely, enabled security-by-default, and simplify the whole system.

    • grey-area 10 years ago

      Probably just that we're being told who to trust, instead of deciding who to trust.

      • cpach 10 years ago

        I guess we could have some kind of web of trust system instead. But are there any web of trust systems that actually work in practice?

        • Natanael_L 10 years ago

          Allowing multisignature models would at least drop the single point of failures, by being able to require verification from multiple CAs. In combination with certificate transparency and DNSSEC+DANE it would add much stronger security.

      • gopowerranger 10 years ago

        So you trust yourself more than everyone behind Let's Encrypt, et al? Of course, you don't have to use Let's Encrypt so you do have a choice.

        • grey-area 10 years ago

          I think the criticism was meant as one of the CA model, not Let's encrypt specifically - you have no choice about using CAs if you want to use https to serve a site to normal users. Also, I'm not the OP and think Let's Encrypt specifically is a great idea, already on the waiting list.

joshmoz 10 years ago

See a Let's Encrypt cert in action:

https://helloworld.letsencrypt.org/

Nice work team!

toast0 10 years ago

It seems odd to me that the intermediates were cross signed instead of the having the root be cross signed.

With a cross signed root, clients with only the IdenTrust root will validate the cert, and clients with only the LetsEncrypt root can validate the cert.

With a cross signed intermediate, the server has to guess which root the client has and serve the correct path, there's a TLS extension to indicate roots the client supports, but nothing actually uses it, so I don't know how the server is going to guess (other than to assume no one has the LetsEncrypt root, since it's new).

[1] but some clients are dumb and won't validate successfully when they reach a root they know :/ Most browsers will though.

  • j4cob 10 years ago

    This was a performance decision. Cross-signing the root instead of the intermediate would mean that web servers would have to include both the root and the intermediate in the chain they serve, rather than just the intermediate. That would add a full packet to each handshake.

    • Natanael_L 10 years ago

      Why are there multiple intermediate certs? I don't know the details of the standard procedure.

      • vog 10 years ago

        In case the main intermediate cert has been compromised and must be revoked, the alternative intermediate cert is already signed and can be used immediately for desaster recovery.

jakejake 10 years ago

Can anyone who knows more than me say - is this the beginning of the end of the SSL cert selling business? Is there still value to buying an expensive cert from another vendor?

  • sarciszewski 10 years ago

    Let's Encrypt isn't the first to offer free TLS certificates.

    I've attempted to maintain a list of all the providers that do (in one way or another), and it's currently 4:

    * CloudFlare https://www.cloudflare.com/ssl

    * StartSSL https://startssl.com

    * WoSign https://buy.wosign.com/free

    * Let's Encrypt https://letsencrypt.org

    For people reading this comment dozens of months in the future, a maintained list will be kept at https://paragonie.com/white-paper/2015-secure-php-data-encry...

    • mehrdada 10 years ago

      They are not quite the same thing:

      * CloudFlare doesn't give you a certificate. It terminates your TLS connection at their endpoint with a certificate they own the private key to.

      * StartSSL free tier is for non-commerical use only.

      * Haven't used WoSign so no idea what it is, but clicking on the link took was so laggy it didn't give me much confidence. (I personally wouldn't work with a company in China jurisdiction when it comes to security products.)

      Let's Encrypt is a big step forward in having a legitimate, actual, user-friendly, free TLS certificate issuer without restrictions for usage scenarios.

      • icelancer 10 years ago

        > user-friendly

        This is the key. StartSSL is NOT user-friendly at all, even if you want to use it for the non-commercial personal use that it was designed for.

      • devy 10 years ago

        FYI, StartSSL's free personal SSL certificate only valid for new users for the first year, requires a valid U.S. physical non-commercial address for registration and is subject to $79 for revocation fee. Oh, it's definitely not automated, someone would have to email you back and force a couple times to complete the provision process.

        I wouldn't bother with StartSSL with that many catches and hassles.

        How do I know? I've got two of them in the past in two occasions.

        • talideon 10 years ago

          > FYI, StartSSL's free personal SSL certificate only valid for new users for the first year

          They only allow one-year certs to be generated, but you can renew them and get as many of them as you want. I've got class one certs from them for two different domains, and I've replaced both those certs twice as they've expired.

          Then again, maybe they've changed their policies in the past six months.

          > requires a valid U.S. physical non-commercial address for registration

          Does it? I'm based in Ireland, and I haven't had to provide the with a valid US physical address, unless this is something new that they've brought in during the last half a year or so.

          > and is subject to $79 for revocation fee.

          Yup, that's the most annoying thing about dealing with them.

          > Oh, it's definitely not automated, someone would have to email you back and force a couple times to complete the provision process.

          I can't say I've had that issue myself. They're not as fast as I'd like, but I've never had any major problems with them.

      • sarciszewski 10 years ago

        > (I personally wouldn't work with a company in China jurisdiction when it comes to security products.)

        I could say the same for most countries.

      • sschueller 10 years ago

        What would be the difference in using WoSign vs any other? If you use a CSR and not let them generate the private key I would think their certificates are identical to any other providers.

        • mehrdada 10 years ago

          It doesn't matter much for TLS certificates (the slowness might though) except if they choose to issue another certificate under your name with their private key to MITM your connections, it'd look more legitimate if your real certificate is issued by the same CA, but admittedly, the real issue here is on the client side: browsers trusting way too many CAs that directly include many governments.

      • hackerboos 10 years ago

        I use WoSign. Free 3 year certificates although I'm not using it for security just to enable SPDY.

    • nothrabannosir 10 years ago

      In addition to the other differences, as far as I know letsencrypt is the first to offer free and automated certs. None of the other ones offer an API, do they?

    • mtgx 10 years ago

      One of them is not like the other, and that's CloudFlare's free SSL, which is more like "half-SSL". You only get free encryption between Cloudflare and the user, but not between your site and Cloudflare.

      • lorenzhs 10 years ago

        I don't think that's true anymore, see https://www.cloudflare.com/ssl ("Full SSL" and "Full SSL (strict)" options)

        • johncolanduoni 10 years ago

          Unfortunately, this means you either have to use a self-signed cert which CloudFlare will not verify at all (meaning it can be MITMed) or use one signed by a trusted CA... which brings you back to square one.

          • nothrabannosir 10 years ago

            There is still an advantage here, though: You can use a different hostname on the origin server.

            Use this to serve e.g. an S3 site on your own domain using SSL: S3 -> CloudFlare (with CloudFront) uses Amazon's certificates for their hostnames. Cloudflare -> internet uses your website's hostname and certificates.

            Total money spent on SSL: $0.

          • bradyd 10 years ago

            CloudFlare has a free CA for signing certificates specifically for this situation. It was beta in February. Not sure if it is generally available yet.

            https://blog.cloudflare.com/universal-ssl-encryption-all-the...

          • leni536 10 years ago

            > self-signed cert which CloudFlare will not verify at all.

            Why would they do that? I never used this feature of CloudFlare, but it would be only logical to require you to upload the cert so they can verify against it in the future.

        • incarnate 10 years ago

          Ah, but to use the Full SSL options you need an SSL on your origin server (which CloudFlare doesn't provide for free)!

          • BillinghamJ 10 years ago

            That certificate can be self signed.

            • mehrdada 10 years ago

              In which case, it can be easily MITM'd by an attacker sitting between CloudFlare and your server, which makes it only slightly better than plain HTTP. It would have been great if CloudFlare let the user to upload and pin a specific self-signed certificate that it could then validate to prevent such attacks.

            • gurrone 10 years ago

              I think there was some rumors that they are - or are planing - to offer certificates signed by a private Cloudflare CA exactly for the purpose of encrypting the traffic to the backend.

  • yokohummer7 10 years ago

    Not yet, because Let's Encrypt doesn't provide wildcard certificates as of now. This may change in the near future, though.

    Also note that free single domain certificates have been available from StartSSL for a very long time, but this didn't destroy the certificate industry.

    • mastax 10 years ago

      An argument can be made that Let's Encrypt doesn't need wildcard certificates since new certs can be generated automatically every time a subdomain is added.

      • robryk 10 years ago

        An interesting usecase of wildcard certs: when I do not want to publish the hostnames I am using. Sandstorm[1] uses unpredictable hostnames as one mitigation against various cross-origin attacks -- if the attacker doesn't know the domain of the app, he can't try to use XSRF against it[2].

        [1] https://sandstorm.io [2] https://docs.sandstorm.io/en/latest/using/security-practices...

        • icebraining 10 years ago

          If you are willing to only accept SNI enabled clients (the vast majority nowadays), you can achieve the same by having one cert issued per subdomain, then configuring the web server/reverse proxy to use them.

          There are a few existing Nginx configs for that (search for "nginx dynamic ssl cert").

          • schoen 10 years ago

            I think there are other problems for doing this for Sandstorm. One is the delay when starting to use a new hostname (right now Let's Encrypt might take around 20 seconds to issue a new hostname, which may well increase to the originally-predicted one minute eventually), while another is that all Let's Encrypt certificates are published, so if you really want the hostname to be completely unknown to an attacker, the individual Let's Encrypt certs wouldn't work.

            Anyway, Sandstorm developers told me that they wouldn't plan on using Let's Encrypt while it doesn't offer wildcards, so I think we are missing out on supporting this use case.

          • robryk 10 years ago

            Certs are published in certificate transparency logs, which would make the hostnames public.

        • discreditable 10 years ago

          Any level of reliance on hostnames being secret seems like a very poor design decision.

          • kentonv 10 years ago

            It's a mitigation strategy for other bugs, not a first-line defense. Read the doc before passing judgment.

      • toomuchtodo 10 years ago

        True! But wildcards make cert management so much easier. If I have a handful of subdomains, that's fine. If I have thousands, I want a wildcard cert.

        • vetrom 10 years ago

          Arguably though wildcard certs are a bad hack on security, as it binds multiple distinct endpoints to a given keypair.

          Given the occasional implementation weakness, and key recoveries, I would much rather bind only one key to a name.

        • chipperyman573 10 years ago

          It would be relatively easy to write a simple bash script to automate it. Granted, it might take a bit of time to generate a few thousand certs, but it wouldn't take more than a day if you only have a thousand or so.

          • dingaling 10 years ago

            It's not just creating the certs that is the challenge but also managing them; back-up, revocation, re-testing after expiry and across different development environments etc

            And from the client perspective is makes pinning much easier.

            I'm not a fan of one-wildcard-to-rule-them either but keeping active certs to a handful through the judicious use of wildcards is a real boon.

            • Natanael_L 10 years ago

              If you use the Cloudflare style delegation of SSL authentication signing to a trusted auth server, it can be simplified. The individual servers only holds the public cert and a private internal secret, one server holds your certificate private keys.

              That server would be used to keep track of your domains and certificate status and which servers are authorized to work with which domains, etc... Also easier to backup.

    • crisnoble 10 years ago

      StartSSL is the opposite of user friendly.

      • broodbucket 10 years ago

        Here's a cert! Hopefully you still have it around somewhere when you try to renew in a year!

        • makomk 10 years ago

          The best part is, the cert you use to log in to your account itself expires after a year. So if you don't renew it in time you lose the ability to log in and issue a new certificate for your site, right at around the time your site's certificate expires.

        • josteink 10 years ago

          They specifically tell you that you need to back up your login-cert or you will lose access.

          One year passed, and I checked my backups. Yup, there it was.

          If you take security seriously, you should actually read what's on the page instead of clicking "next, next, next" like some driveby malware-installing Windows-installer. And then this shouldn't be an issue.

          I guess this is StartSSL's way of not having to deal with people who don't take security as seriously as they do.

          • broodbucket 10 years ago

            The rest of the connected world has determined that username and password, supplemented by OTP methods or some other multifactor authentication, is enough.

            Having a login cert is fine if the "user" is an organisation. It is a broken model for individuals or small businesses.

          • throwaway_96 10 years ago

            > take security as seriously as they do.

            StartSSL doesn't take security serious. They'll happily accept breaches to their terms of use, as long as you pay up.

        • creshal 10 years ago

          We'll send you a cert in an hour after manually verifying for no reason! – StartSSL, four months ago.

    • Pyxl101 10 years ago

      What is the rationale for treating wildcard certificates differently? That is, why can't Let's Encrypt issue them?

      • scott_karana 10 years ago

        I think they're just going for a minimum viable product, and I'm sure it's on the roadmap. :-)

      • jrochkind1 10 years ago

        Well, Let's Encrypt models is based on automated confirmation of domain ownership (or to be more accurate, control rather than ownership). Automated software proves that the entity who is asking for a cert for a.example.com really does have control over a.example.com, because they were able to make a change on the host that a.example.com refers to. And based on this, issues the cert to the entity.

        This level of proof of control is standard for DV certs, although other providers haven't automated it to the extent Let's Encrypt has, at least not with as high-quality software. One hole in this verification of course, is that 'control' may not actually be 'ownership', it could be someone who's hacked the host or DNS. But that's not unique to Let's Encrypt, it's a side issue, proof of control is standard and accepted for verification for DV certs.

        So anyway, that kind of automated proof of control is a lot harder to apply to all of *.example.com, not just an individual host a.example.com. There are likely ways to do it well, but it's harder to do and harder to get right. Is probably why Let's Encrypt, at least for now, is not doing it.

        • jsprogrammer 10 years ago

          Wouldn't they just need to verify control of the domain, instead of a single host on the domain? If I control example.com, it's fair to believe I can control all hosts on the domain.

          • jrochkind1 10 years ago

            How do you verify control of a domain? Their current mechanisms verify control of a _host_ pointed to by a hostname, not of a domain. They'd need different mechanisms to verify control of a domain.

            If you control the domain `example.com`, sure. if you just control the single host that `example.com` points to, that doesn't neccesarily mean you control the domain, and in fact DNS contortions are needed to even have example.com point to a host.

            • eridius 10 years ago

              You could verify ownership of the DNS config for the domain. It's not all that uncommon to verify ownership of a domain for various services by sticking something in a TXT record on that domain (or on a specially-named subdomain). LetsEncrypt could do something similar to verify top-level ownership. After all, if I have control over the DNS zone, then I trivially have control of any host on the domain too (just point the DNS at my own server).

              Another benefit of this is ownership can be validated on an ongoing basis (is the TXT record still there? yup, still valid) without requiring any software to be running on any hosts at that domain. And you can validate a domain without even having an A record if you want (say, if you're getting all your ducks in a row before exposing your server to the world).

            • jsprogrammer 10 years ago

              If you can contort DNS in such a way that the domain example.com directs to a host you control...then I'd say you control the domain.

    • hueving 10 years ago

      StartSSL forbade it from commercial use.

    • JoelMcCracken 10 years ago

      I tried to sign up for one, once, and it was broken. I don't remember the circumstances, precisely. Have you actually ever gotten one?

      • chejazi 10 years ago

        The last time I tried to use StartSSL, I kept getting an SSL failure on https://auth.startssl.com/... Go figure.

        I ended up paying $10 on namecheap instead.

        • joshmn 10 years ago

          Could save yourself $8 and add a Whoisguard thing to your cart, use promo code WHOISGUARD, and then add the ssl cert.

          At least it used to work like that.

        • talideon 10 years ago

          Probably an issue with the client cert. I remember running into that the last time I attempted to get a cert through them.

      • SHIT_TALKER 10 years ago

        I used to use them. You have to set up an account with a client certificate, which is a pain, then be manually approved. The free certs are for personal use only so they will deny you if they think you will be using it for business of any sort.

  • alfredxing 10 years ago

    Let's Encrypt is also limited in that it issues Domain Validated certificates only. They aren't planning on issuing EV certificates (the "green address bar").

    • UnoriginalGuy 10 years ago

      They couldn't possibly issue EV certificates without charging. The verification requirements are too high. You need actual staff to verify.

    • bandrami 10 years ago

      Probably because EV certs are a stupid idea.

      Do you really know the difference between Citi Bank and Citibank? No? Then EV hasn't saved you from being phished.

      • Gregordinary 10 years ago

        Well, you can't just order an EV cert for "Citi Bank" unless you have "Citi Bank" registered as a legal entity.

        Section 9.2.1 (Page 9): https://cabforum.org/wp-content/uploads/EV-V1_5_7.pdf

        In addition to using & verifying the legally registered name, it must be verified that there is a physical address for the business, if that address doesn't match the registered location, additional verification is required. There are additional provisions of verification as well. See section 11 of the same document.

        • bandrami 10 years ago

          Obviously the Citi example was a joke, but most actual certificates I see are to "R L Media Enterprises" or whatever the D&B name of the business is, which is opaque to me anyways.

      • mike_hearn 10 years ago

        EV certs are expensive because they have people in the loop, and so getting a cert for an obviously misleading name should be much harder. You'd have to pass an eyeballed sanity check.

        • bandrami 10 years ago

          You have much greater faith in the CAs' probity and competence than I think is warranted.

    • itistoday2 10 years ago

      EV certs are a total waste of money. Pretty much everyone except maybe the site administrator won't notice and won't consider it a problem when a lock icon is shown instead of a green bar.

      • aianus 10 years ago

        > Pretty much everyone except maybe the site administrator won't notice and won't consider it a problem when a lock icon is shown instead of a green bar.

        I don't know if it's worth the money per se, but you can pin a couple of trusted CA root EV certs via HPKP and know it's much more difficult for someone to "accidentally" issue a valid cert for your site.

        If you do that, users won't see a lock instead of a green bar, they'll be blocked from accessing the site at all (if it's not their first visit and they're using a modern browser).

        • jnbiche 10 years ago

          You can pin any certs via HPKP, including self-signed ones.

          The only security feature EV certs have over regular ones right now is the use of certificate transparency, but that should be extended to non-EV certs within 1-2 years.

          • aianus 10 years ago

            No, the security feature is that if you only pin, say, Verisign EV root and Digicert EV root then an attacker would have to pass EV validation at those vendors. Which is much more difficult to do than to get any cert anywhere.

            You could pin your own cert, but that makes it difficult to rotate keys in a heartbleed type situation.

            • vtlynch 10 years ago

              Wow, I never thought of that before!

              Though it would not protect from factoring because most EV roots are the same key length/hash.

              For anyone else reading, this works because the root programs give authority to issue EV certs separately from other certs. To keep the authority separate (most, perhaps all) CAs use separate roots for EVs.

      • nailer 10 years ago

        Firefox, Safari and Edge also use a grey lock for domain validation certificates.

  • huhtenberg 10 years ago

    > Is there still value to buying an expensive cert from another vendor?

    If you are running a commercial, high-traffic website, then yes, there is.

    For example, EV (extended validation) certificates is currently the only way to quickly build and maintain a "reputation" with 3rd party website ranking systems such as Microsoft's SmartScreen and, based on anecdotal evidence, with Symantec SafeWeb and Google SafeBrowsing services. Needless to say that SmartScreen is on by default in IE/Edge and SafeBrowsing is on in Chrome and, in part, Firefox.

    • jonah 10 years ago

      Do you have any recommendations on which CA is good for EV certs (that work in Chrome)?

      • nailer 10 years ago

        Hi Jonah,

        I run https://certsimple.com. We only do EV certificates, and we do it much faster than any of the existing companies, which normally quote 7-10 days to complete the validation process. I waited around a month for GoDaddy earlier this year, which is how I ended up making CertSimple.

        CertSimple do EV certificates in an average of 5 hours.

        - We check the customers info against the required government information sources (as well as a number of other places) before customers pay us.

        - After we take the order, we provide a specific set of instructions based on a number of characteristics of the customer's actual business to make the validation process as fast as possible.

        - We have a real focus on UX: there's no software to install or command line questions, our validation UI updates live, and we manually follow up with every customer to iterate our product.

        I'm mike@certsimple.com, or @mikemaccana on Twitter.

        • chmike 10 years ago

          Dis you hear about the CIA AOL mail box hacked ? Watch out for "social" intelligence. Other people could get the info you are checking and pretending to be the company.

      • huhtenberg 10 years ago

        We use DigiCert.

        They are generally good. There was one case when they started pulling a Comodo thing on us - the lawyer's signature was unintelligible, go and redo the paper - for some secondary document. But each email includes a note to email their support head if something's off, which is what we did and he had the cert issued in an hour after that. So the tops do care about their service levels and there's an easy way to escalate issues.

  • hackerboos 10 years ago

    There will always be a market for EV but that seems reasonable considering the manually verification required.

  • dogma1138 10 years ago

    Insurance if something happens, beyond that nothing.

bracewel 10 years ago

ISRG, the org behind Let's Encrypt, is hiring! -- https://letsencrypt.org/jobs/

throwaway7767 10 years ago

Can someone who's tried the client confirm if it's possible to get a key/cert out of it without having it mess with my configuration files?

I'd like a manual mode, as years of sysadmin work have made me extremely skeptical of tools that try to automatically modify config files.

  • vog 10 years ago

    That was my initial impression, too.

    However, as far as I understood, there is an API that will just hand out the certificate.

    I guess they don't want it to be accessed by a web browser because they want us to regenerate and include a newer cert automatically.

    So you have a somewhat higher setup cost (setup automatic cert update rather than one-time download of your cert), but then you can't forget to update your cert over the years.

    I believe they also want this is be a fast desaster recovery. So if their main intermediate certficate is compromised, they can revoke it and hand out new certificates (using the backup intermediate cert) for all domains within a very short amount of time.

    Nevertheless, I would have preferred a good explaination about how to setup this process manually, rather then depending solely on their tool.

    (In case this process it too cumbersome without their tool, they should simplify it rather than hiding this in their tool.)

  • jdkasten 10 years ago

    Yes, there are now several options to manually attain the certificate.

    There is a "manual" mode, "Here is the file that you need to post, press Enter when you are ready to continue"

    There is a "standalone" option. If you don't have a webserver running, it will bind to port 443 and solve the challenge for you.

    There is also a "Webroot" option. Enter in your server's webroot and it will automatically post a file to .well-known and delete the file after validation.

  • EwanToo 10 years ago

    There's various simple clients springing up already which do that

    https://github.com/mail-in-a-box/letsencrypt_simpleclient

  • technion 10 years ago

    I have the same issue. I'm particularly partial to this edition:

    https://github.com/unixcharles/acme-client

zmmmmm 10 years ago

Yay!

Honestly, it is amazing to me that someone like Google or Amazon did not do this as free service a long time ago. But having an independent entity like this do it is far better.

  • cinquemb 10 years ago

    Serious question, to what degree is one defined as being independent? When you have "platinum" sponsors like akamai and cisco, and can take donations through paypal?

    • zmmmmm 10 years ago

      They are a separate legal entity, with multiple independent sources of funding and a diverse range of board members[1]. I'm not sure about degrees of independence, but I would say this satisfies my criteria. Are you arguing they aren't really independent of their sponsors?

      [1] https://letsencrypt.org/isrg/

      • cinquemb 10 years ago

        I wasn't arguing anything just asking a question.

        But I will say that, without any numbers, its hard for me to say either way. Clearly, RSA was in independent legal entity, but a $x million dollar check didn't stop them from peddling shoddy crypto… though that's not something surprising to hear in this community.

axx 10 years ago

The big question:

Does this mean we can now all use Let's Encrypt to generate new certificates without people running into problems?

  • callahad 10 years ago

    It means certs signed by Let's Encrypt will work just fine for people without any special setup. See https://helloworld.letsencrypt.org/ for an example.

    This does not, however, mean that we can all start using Let's Encrypt. They're doing a slow roll-out before making certs generally available to the public. You can apply for the Beta at https://goo.gl/forms/kf0IGCeAk5, or wait until general availability later this year.

  • LukeShu 10 years ago

    "Yes", except that general availability doesn't come until the week of November 16th.

  • bifurcation 10 years ago

    In a word, yes.

    When a server uses a Let's Encrypt certificate, a browser will consider it as issued under an IdenTrust root CA, which the browser trusts. So it will consider the Let's Encrypt certificate trusted.

  • eyuelt 10 years ago

    Yep, if you get a certificate signed by one of their intermediate certificates, you're good to go.

icelancer 10 years ago

Huge win for them - will help push SSL/TLS on everything. Can't overstate how important this is for the web. Now to get the word out to everyone!

edit: initially said SSH. I blame the plane wifi

  • landr0id 10 years ago

    I think you meant SSL/TLS

    • MertsA 10 years ago

      can you sign a cert for SSH? I know that you can add the SSH server public key fingerprint as a DNS record and sign an openSSH certificate with your own private CA but are there any public CAs who will sign SSH certs and would the ssh client even trust anything other than a manually added CA?

      • darkr 10 years ago

        Yeah - [Open]SSH supports signing for host and user keys, and you can operate your own CA, and the certificates you issue can encode a signed set of permissions/access controls with them (E.g permit-agent-forwarding, permit-X11-forwarding, certificate life times) this functionality is IMHO vastly underutilised.

        OpenSSH certificates are not X509 certificates though, and out of the box SSH servers will not trust any public authority.

        Also, AFAIK CA cross-signing, intermediates and other things that are fairly commonplace in X509 land are either not supported or not widely supported in OpenSSH.

        • pquerna 10 years ago

          Using the OpenSSH Certificate format, many of the common features from X.509, like intermediates, cross signing, key usage attributes or restricting access based on an attribute in the certificate are not part of the spec:

          https://github.com/openssh/openssh-portable/blob/master/PROT...

          When I first learned about OpenSSH Certskeys, I was really excited; Spent awhile trying to make it useful, but you end up building all the CA infrastructure, and this time instead of distributing certificates to servers once a year, you want to distribute certificates to your _users_ every month or two -- so the pain is higher, there is less automation, and everyone on your team feels it....

          Exploring OpenSSH certs is what led me to founding ScaleFT. There had to be a better way.

          ScaleFT Access leverages these SSH Certificates, but we expire them every 5 minutes to provide other features that are hard with the limited capabilities of the format:

          https://www.scaleft.com/products/access/

          There are patches to make OpenSSH use X.509, but they are not widely adopted... and asking people to patch a sshd is a non-starter for many environments.

        • e12e 10 years ago

          There's a pretty old (but apparently updated) patch-set for using x509 certificates with openssh. I realize commenter above made a typo, but it might be of interest in this thread:

          http://www.roumenpetrov.info/openssh/

      • bandrami 10 years ago

        You could, but SSH is used for actual security, and adding the variable of a third party makes that situation strictly worse. SSH keys are meant to be distributed through some side channel.

    • icelancer 10 years ago

      wow what a terrible typo, WTF. fixed thankfully

steve19 10 years ago

"We’re pleased to announce that we’ve received cross-signatures from IdenTrust"

How is this beneficial for IdenTrust?

teabee89 10 years ago

Are they planning on not relying on a 3rd party root CA and instead, ask all browsers and OS vendors to include LetsEncrypt CA? IOW, is this [trusting IdenTrust] a first step, or is this the original goal?

  • kej 10 years ago

    This is a temporary step. There are two versions of their intermediate cert, the one in this article that is cross-signed and another that is signed by their own root (which isn't yet included everywhere). There's a diagram on this page that explains the situation: https://letsencrypt.org/certificates/

  • tkinom 10 years ago

    Instead of 3rd party CA, wouldn't it be more secure if the browser will send a hash of website's public key to a few trusted websites and have them verified the public key is valid?

    If someone needs to create a fake CA/public key, they have to hack multiple trusted sites.

    It is not current https sys design, but would it be more secure?

scott_karana 10 years ago

> and we’re excited to be one big step closer to bringing secure connections to every corner of the Web.

What steps are left now? :-)

bracewel 10 years ago

A quick look at all the certificates Let's Encrypt has issued so far can be found using Comodo's CT based crt.sh tool.

https://crt.sh/?Identity=%25&iCAID=7395

  • Laforet 10 years ago

    That's surprisingly fewer domains than I expected. No wonder I never received any replies for my application to their beta program.

    • pugtor 10 years ago

      I think the idea was the public beta should wait until the certs are valid everywhere.

wyldfire 10 years ago

Delicious irony: my employer's web proxy supplies their own certificate in place of the real one for https://letsencrypt.org/.

Though, to be honest they do this for >90% of https sites, in my experience.

peterwwillis 10 years ago

Remember that you only need one of the hundreds of CAs (650 at my last count) to generate you a cert to essentially compromise a site's connection security. Free certs mean more sites will use TLS, which means there will be more targets, which means more incentive to start attacking the weakest CAs and/or their verification practices.

But this is kind of a good thing, because after enough attacks on the old model, people will ask for an improvement or replacement of the model.

  • alwillis 10 years ago

    Thanks to HTTP Public Key Pinning (HPKP), this is no longer a threat:

    HTTP Public Key Pinning, or HPKP, is a security policy delivered via a HTTP response header much like HSTS and CSP. It allows a host to provide information to a user agent about which cryptographic identities it should accept from the host in the future. This can protect a host website from a security compromise at a Certificate Authority where rogue certificates may be issued for your hostname.

    You can read all about it: https://scotthelme.co.uk/hpkp-http-public-key-pinning/

    And here are web-based tools for examining and generating HPKP hashes: https://report-uri.io/home/tools

    • peterwwillis 10 years ago

      You don't get to say there is no threat if almost every website today is vulnerable.

      First, this is optional software that almost every public server in the world is currently not using. It's like saying just because executable whitelisting exists that downloaded exploit payloads on operating systems is no longer a threat. If nobody uses it, the threat still exists.

      In addition to actually implementing it on your server, every single user still has to make a secure initial connection over a trusted network on every device they'll ever use to get to that site.

      But not every client even supports HPKP. There's lots of older software which doesn't support it, and IE doesn't support it at all, which by itself would leave 12% of all clients vulnerable.

      https://projects.dm.id.lv/Public-Key-Pins_test

      https://en.wikipedia.org/wiki/Usage_share_of_web_browsers

      • alwillis 10 years ago

        You don't get to say there is no threat if almost every website today is vulnerable.

        I didn't mean that literally the threat has been eliminated due to HPKP; it's yet another tool that can be used.

        First, this is optional software that almost every public server in the world is currently not using. It's like saying just because executable whitelisting exists that downloaded exploit payloads on operating systems is no longer a threat. If nobody uses it, the threat still exists.

        HPKP isn't software--just additional HTTP headers that pretty much every web server can be configured to send.

        In addition to actually implementing it on your server, every single user still has to make a secure initial connection over a trusted network on every device they'll ever use to get to that site.

        True; it's even described in the RFC: https://tools.ietf.org/html/rfc7469

        Key pinning is a trust-on-first-use (TOFU) mechanism. The first time a UA connects to a host, it lacks the information necessary to perform Pin Validation; UAs can only apply their normal cryptographic identity validation. (In this document, it is assumed that UAs apply X.509 certificate chain validation in accord with [RFC5280].)

    • Gregordinary 10 years ago

      It isn't foolproof, user installed Root CAs or roots installed by 3rd party applications are given permission to override pins. So HPKP wouldn't protect against scenarios like Superfish.

      https://www.imperialviolet.org/2011/05/04/pinning.html

johncolanduoni 10 years ago

It just had to be right after I renewed my SSL cert, didn't it? :P

jonah 10 years ago

Chrome says they don't supply Certificate Transparency information. Is this something they should be doing?

  • bracewel 10 years ago

    This is something we entirely plan on doing, in fact we currently submit all issued certificates to a number of CT logs (which can be viewed here https://crt.sh/?Identity=%25&iCAID=7395).

    Unfortunately the best candidate, at least for us, for supplying SCT receipts to end-users, via x509v3 extensions in OCSP responses, is currently not fully supported in Golang.

josteink 10 years ago

From a comment on a similar reddit-thread[1]:

> So thus beings the transition. EV certs are going to be the only ones that get the "green" chrome in browsers anymore. Sites using standard SSL are going to get the normal no-lock/white treatment. And sites without SSL will get the caution symbol/yellow treatment.

I don't like it, but I suspect this is where we're heading.

[1] https://www.reddit.com/r/linux/comments/3pg37u/lets_encrypt_...

nodesocket 10 years ago

Am I missing where I can signup? Love to try them.

arkad 10 years ago

This entry has 443 points how and I don't want to upvote to spoil it...

cddotdotslash 10 years ago

Is there an easy way to pull out the cert and load it into an AWS ELB without running the client on the server it will eventually protect? I'm not a big fan of using software that auto changes my config files, plus you can't actually run scripts on ELBs.

  • viraptor 10 years ago

    let's encrypt uses ACME protocol for certificates. You can use your own tools to handle it - either automatically or manually. Their automated client is just a user-friendly wrapper.

mholt 10 years ago

Congratulations LE team!

Final Star Wars VII trailer and LE gets cross-signed. Best. Day. Ever.

  • ersii 10 years ago

    I would just like to point out the irony in using 'LE' as a short for Let's Encrypt, as 'LE' usually gets used for shortening Law Enforcement.

    (Also: Congratulations and well done, Team Let's Encrypt!)

ausjke 10 years ago

What does this mean to a new user? Can I now get a ssl certificate? will it be cheaper, or even free? I saw they have a beta-program for the certificate but don't know what it exactly does.

gergles 10 years ago

I really dislike the fact that a CA is able to bless a new CA completely independently. Does this cause anyone else the slightest amount of anxiety, or am I just being paranoid?

  • belorn 10 years ago

    Whats the alternative to CA being able to delegate signing? Would you prefer having browsers constantly being updated with new lists of CA's, maybe one new per day.

    Second, would you prefer that browsers blessed a new CA completely independently? If not then who should have that power? Governments? Non-profit organizations like ISRG?

    The big alternative is to maintain your own list of trusted CA's, going through each and every new CA that you encounter and associate a trust relationship. Not even famous security researchers do this, and I can't really blame them as it is like a lawyer reading every EULA that they encounter and fully investigate the scope of them. The scope and complexity just get beyond what a single person can manage.

    • gergles 10 years ago

      Yeah, I guess I think it makes more sense for the browser manufacturers to be the people to whom I delegate that responsibility. I already trust them not to run malware on my computer and to accurately display the SSL state of a connection.

      I just think it's odd that any CA can turn around and make any other random CA fully blessed. It seems like it completely circumvents the browser manufacturers including root CAs at all.

      Totally agreed re: maintaining your own list of CAs. I mostly do go through the system CA list and disabling any from foreign governments I don't ever plan on trusting, but that's mostly feel-good and not actual security.

  • ColinDabritz 10 years ago

    It seems like its an important thing to be able to express. They are extending their trust to the new CA. I believe this information is available to clients if they wanted to choose to reject cross signing.

    You're right that this sort of broad power is scary, but I think it's being used reasonably in this context. Do you have specific concerns you are afraid of? The only problem I thought of was a compromised CA cross-signing a malicious CA, but if they are compromised, you could just issue the main CAs certs anyway.

  • pugtor 10 years ago

    IdentTrust is governed by their CP and CPS documents, which specify the criteria for delegating authority.

okigan 10 years ago

Could somebody clarify: LetsEncrypt allows anybody to create certificate for any domain, so would not that allow anybody to create MITM certificate for any such domain?

  • ubernostrum 10 years ago

    Look at the tech overview:

    https://letsencrypt.org/howitworks/technology/

    You can only obtain a certificate for a domain if you can validate that you control the domain. Their steps for that (place arbitrary content at an arbitrary URL they request, or create an arbitrary DNS record they request) are such that, if you weren't the legitimate controller of the domain but could do those things, you wouldn't need a fake cert -- you'd already have pwned it thoroughly enough to be able to MITM it in other ways.

    • Buge 10 years ago

      If a site has tons of https links leading to it, or uses HSTS, then MITMing it without a cert would not be useful. So you MITM it with Let's Encrypt, and they will give you a cert and you just increased your attack capabilities by leveraging Let's Encrypt.

      This isn't really a failing on Let's Encrypt though, because tons of other CAs issue certs by only verifying this exact same stuff. Certs are only as secure as the least secure CA. Since the security was already this weak, Let's Encrypt has not made it any weaker.

    • belorn 10 years ago

      That overview description lacks the security details that is in place to mitigate that specific attack. They described 3 tactics against MITM attacks in the last debconf.

      #1 letsencrypt blocks any request for domains which SSLObservatory (https://www.eff.org/observatory) reports as having observed a certificate, and additionally require that you show proof of possession of the private key. Every domain letsencrypt has served will also be treated with this requirement.

      #2 letsencrypt will use multiple paths through the Internet. They have not given the exact details yet (I would guess that they will take different path by AS numbers).

      #3 There is a block list. I don't remember the exact method used here, but I think it was simply based on Alexa rank.

    • flashman 10 years ago

      > You can only obtain a certificate for a domain if you can validate that you control the domain.

      Technically, you only have to make their systems think you control the domain. If their servers or 'establish proof of ownership' process are hacked, wouldn't this allow an attacker to do the same thing that happened in the DigiNotar hack?

      https://en.wikipedia.org/wiki/DigiNotar

      • ubernostrum 10 years ago

        Again we're in the realm of "if you could do that, you already could MITM or do other malicious stuff in a dozen other ways".

        So, sure. If you can hack a trusted CA, you can do bad things. That was true before.

      • alwillis 10 years ago

        This is why HTTP Public Key Pinning was created as a way to tell browsers to trust only a particular certificate, not just any certificate that was signed by a CA in the browser's trust store: https://news.ycombinator.com/item?id=10418144.

        • okigan 10 years ago

          Another follow up: from your link, looks like the server adds a header specifying which certificates are allowed.

          Would not MITM just remove that header?

          • alwillis 10 years ago

            From the RFC: https://tools.ietf.org/html/rfc7469

            Key pinning is a trust-on-first-use (TOFU) mechanism. The first time a UA connects to a host, it lacks the information necessary to perform Pin Validation; UAs can only apply their normal cryptographic identity validation. (In this document, it is assumed that UAs apply X.509 certificate chain validation in accord with [RFC5280].)

            The UA will not be able to detect and thwart a MITM attacking the UA's first connection to the host. (However, the requirement that the MITM provide an X.509 certificate chain that can pass the UA's validation requirements, without error, mitigates this risk somewhat.) Worse, such a MITM can inject its own PKP header into the HTTP stream, and pin the UA to its own keys. To avoid post facto detection, the attacker would have to be in a position to intercept all future requests to the host from that UA.

            Thus, key pinning as described in this document is not a perfect defense against MITM attackers capable of passing certificate chain validation procedures -- nothing short of pre-shared keys can be. However, it provides significant value by allowing host operators to limit the number of certification authorities that can vouch for the host's identity, and allows UAs to detect in-process MITM attacks after the initial communication.

      • RyanZAG 10 years ago

        I asked this question the last time LetsEncrypt came up, and got a very good answer:

          M2Ys4U 35 days ago
        
          According to their 31C3 talk, they will use multiple 
          connections from multiple locations (possibly including 
          Tor?) to mitigate against these attacks.
        
        So they validate it fairly extensively to make sure it really is the domain.
      • Laforet 10 years ago
  • alfredxing 10 years ago

    Let's Encrypt does validate that you own the domain, using certain "challenges" involving the web server, etc.

    Their technical overview explains how it works: https://letsencrypt.org/howitworks/technology/

  • dfabulich 10 years ago

    As a condition of being trusted, LetsEncrypt has promised to do "domain validation" before creating such a certificate. Domain validation is usually done by sending an email to the technical contact in the domain's WHOIS records.

    • mjevans 10 years ago

      It can also be placing a file of authentication data at a chosen resource location within the domain in question. (which is, I think, what their tool automates doing)

  • mholt 10 years ago

    No, it allows site owners to create a certificate for any domain they can prove they own. Then, the certificate has to be installed on the server serving the site. Using it from any other server will cause browsers to reject the certificate.

vbezhenar 10 years ago

Is there some web interface to sign my certificate, similar to startssl? I don't really want to run new program in my server just to generate certificate.

  • Natanael_L 10 years ago

    You could run it on a laptop to get the cert, then install on the server. But right now it remains an invite only beta until they get ready for general availability

cm2187 10 years ago

Has anyone seen anything re IIS integration?

[EDIT] I have seen this: https://github.com/ebekker/letsencrypt-win

But ideally we would want Microsoft to add a checkbox in the UI of IIS Manager, which when creating a https binding offers to use let's encrypt instead of an installed certificate.

dSnapApjw 10 years ago

I like that statement "community trust"...much the same I have come to trust most of the wisdoms on this site. I for one-learn, and greater, I learn from each of you the value of clarity. So trust as David Abshire says, "Is the coin of the realm, the glue, the oil, (alternative energy-) ingredient."txs, dSnapAp. SFCA.

andrewrothman 10 years ago

I can't wait for Let's Encrypt to finally start signing certificates. The future of encrypted communications is among us, and it's going to be huge.

Will definitely use this as soon as they open their doors to me.

vinay_ys 10 years ago

In a mobile only world where your critical business runs only via mobile app do CA based SSLs even matter? Why not use your own CA with your own certificates and don't have to trust any CA?

  • schoen 10 years ago

    If you're doing TLS solely with your own app, this is often described as a best practice -- avoiding exposure to the public PKI entirely.

    Personally, I'm typing this post into a web site using a web browser, so I appreciate that it has a certificate that my browser can validate!

franciscop 10 years ago

Yes, finally. I've been awaiting this moment from the first announcement. Happy they made it (:

devit 10 years ago

The next step should be to stop trusting any other CA, and have Let's Encrypt support EV certificates by working with other CAs and still requiring Let's Encrypt DV verification.

This way, Let's Encrypt in particular would need to be breached for a successful attack, while right now it's enough to breach either Let's Encrypt or any other CA.

dadrian 10 years ago

Congratulations jdkasten!

SimeVidas 10 years ago

So… we’re all still waiting for the client, right?

  • mathrawka 10 years ago

    No, they have announced their launch schedule in the past. Here is the latest update: https://letsencrypt.org/2015/08/07/updated-lets-encrypt-laun...

    • SimeVidas 10 years ago

      But we are waiting for the client, no? If I understand correctly, the client will enable us to install Let’s Encrypt’s certificate on our web server. I assume, “general availability” is when the client will become available for everyone.

      • mathrawka 10 years ago

        The source for the client is here: https://github.com/letsencrypt/letsencrypt

        However, their release schedule dictates when the service (yes, the client is part of this) is ready for use.

        Until then you are waiting for the service to be available.

      • tokenizerrr 10 years ago

        The client is already available, but the API is still locked down to just the beta testers.

      • ludbb 10 years ago

        general availability means a certificate, that is accepted by all browsers, can be requested and fulfilled. Right now the closest thing we have is a waiting list + very few https servers answering with such certs.

jamminn 10 years ago

So, it's still all about trust then? I thought Let's Encrypt would go beyond trust.

tychuz 10 years ago

I'm all for native desktop and mobile applications, but in this case I'd actually love a web app - enter your domain, get certificate.

Downloading a tool, reading man page, works out of the box only with apache/nginx - ehhh, seems like a lot of work, considering some comments touting 'user friendliness' compared to StartSSL.

  • Natanael_L 10 years ago

    But you need to run something on the server to validate that you've got control of it on your domain. A web app isn't enough.

    The better solution is to integrate this tool into various server tools like Apache and Wordpress and in whatever else you might be running with a one-click installer.

  • corney91 10 years ago

    Except a tool can be automated, and a webapp is a pain to maintain for more than one domain.

balabaster 10 years ago

Er... you're trusted by a CA that's owned by a company that resides in Austin Texas...

Texas hasn't exactly got a glowing reputation in the software industry due to its mountain of intellectual property lawsuits filed by patent trolls... er, sorry, I mean non-practicing entities

Excuse me while I reserve some skepticism about just how trusted your security certificates should be.

  • vtlynch 10 years ago

    Absolutely pointless and irrelevant. This is the same logic that Donald Trump uses to dismiss all Mexican people as rapists.

    • balabaster 10 years ago

      Except that the courts are used there time and again to strong arm well meaning companies into paying millions out to fight frivolous lawsuits that run them into the ground. Exactly the kind of tactic you'd expect intelligence agencies to use to strong arm encryption companies into giving up their data.

  • Karunamon 10 years ago

    I'm not sure what you think CAs have to do with patent trolling. If there was a patent on the PKI, many large companies would have been sued already.

    • balabaster 10 years ago

      It's not the patent trolling per se, it's the abuse of the legal system to strong arm companies into doing things they have no power to prevent that seems prevalent in that area of the country.

1K2bCjh1aH 10 years ago

./letsencrypt-auto Updating letsencrypt and virtual environment dependencies.....Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-KgdEvk/ConfigArgParse

signaler 10 years ago

This will still require early stage overhead for many people switching over / 'going dark all the things'. Even though Let's Encrypt's goal is to make the process of encrypting the Transport Layer seamless, ubiquitous and non-commercial.

Take for example my setup. It sits on a private NGINX server, and is proxied through a public facing CDN. Trying to simply 'switch on' TLS involves absorbing academic style tutorials from multiple disparate sources, and requires me to have a background in DevOps and that I have at least tried some technical task like this before. In layman's terms: Unnecessary Early Stage Overhead.

Now give Let's Encrypt a few more years and it will be a lot more seamless; possibly the default. It could possibly be 'baked in' to things like Softaculous, and cPanel, which are brilliant drivers for the success of web software. Digital Ocean staff are probably already working on a droplet with LetsEncrypt baked in...

  • axx 10 years ago

    I don't see how TLS is early stage overhead for someone runnig a private nginx server behind a CDN?

    Sure, someone with no devops skills at all will have a harder time, but it's for the better. Soon it will be The Way to install a webserver. Thanks to Let's Encrypt it's so easy to install TLS that nearly every future webserver tutorial will include it.

NateDad 10 years ago

Why python for the client software if you obviously already have Go experience in-house? Using python means you have to run all this virtual-env crap in a bash script, apt-get install a bunch of crap for setup and not support Windows. Seems like using a (nearly) dependency-free Go application for the client as well would have been a no brainer. Was it just a case of having more access to python devs, or were there other technical reasons? Anyone know? I bet this has been asked before, but not I'm turning anything up with google.

  • mholt 10 years ago

    I can't speak for them obviously, but here's a Go ACME client if you're looking for one: https://github.com/xenolf/lego - we're using it in Caddy[1] to make HTTPS the default for websites.

    [1]: https://github.com/mholt/caddy/commits/letsencrypt

    • NateDad 10 years ago

      Wow, that's awesome. Nice work integrating this into caddy.

      Although, it makes me even more confused as to why they used python for the official client.

  • bracewel 10 years ago

    The backend and client are both very large, very different projects that share a small crossover (the ACME protocol) and were written by two different teams.

    I can't speak exactly to why Python was chosen, but it should be noted this isn't intended to be the be-all-end-all in terms of clients. There are already a number of other independent clients that have been developed for various different purposes.

  • bpicolo 10 years ago

    They provide docker packaging. So it's just as dep-free as Go.

    Not to mention python is on pretty much every platform in existence by default.

    If you're expecting this as a global binary like you would in go there's no reason you can't just "pip install letsencrypt"...

    • NateDad 10 years ago

      > They provide docker packaging. So it's just as dep-free as Go.

      ...except needing docker and everything running it in a docker container entails over a simple CLI.

      Also, it looks like they say "for god's sake don't pip install":

      Please do not use python setup.py install or ``sudo pip install`. Those mode of operation might corrupt your operating system and is not supported by the Let’s Encrypt team! https://letsencrypt.readthedocs.org/en/latest/using.html#ins...

      > python is on pretty much every platform in existence by default.

      ....except Windows? Which also doesn't support docker.

      • jhall1468 10 years ago

        > ....except Windows? Which also doesn't support docker.

        So the actual problem you have is that you selected an operating system that has zero native support for interpreted languages, and you're mad that they didn't cater their software to you?

        • NateDad 10 years ago

          I use Ubuntu, but I've been a Windows software developer in the past. I don't immediately discount that platform, because I know a ton of developers run Windows.

        • kibibu 10 years ago

          Hey now, don't forget about .BAT files

          (Seriously, though, VBscript, JScript and VBA are natively supported through WSH on Windows)

      • bpicolo 10 years ago

        That doesn't say not to use pip install. It says not to do it as root. So yes, pip install away

        • NateDad 10 years ago

          Ahh, confusingly worded. I would expect it to say something like "if you use pip install, don't use sudo" not "don't use sudo pip install" ... the alternative to "don't use sudo pip install" is ... everything else in the world, so I sort of assumed it just meant, don't use pip in general.

  • est 10 years ago

    > NateDad 28 minutes ago

    > Why python for the client software if you obviously already have Go experience in-house? Using python means you have to run all this virtual-env crap in a bash script, apt-get install a bunch of crap for setup and not support Windows. Seems like using (nearly) dependency-free Go application for the client as well would have been a no brainer. Was it just a case of having more access to python devs, or were there other technical reasons? Anyone know? I bet this has been asked before, but not turning anything up with google.

    wow what's going on here? Auto comment robot gone wrong?

  • mkj 10 years ago

    Maybe the python client will run on more architectures without having to provide different binaries? (Just guessing)

UserRights 10 years ago

The headline is wrong and not very clever for such a project.

The project was able to get a CA to sign their keys, this is what happened. Using the word "trust" is simply wrong and might be interpreted as a too simple kind of propaganda after we learned a lot about the untrustable nature of a hierarchical certification infrastructure.

Another, even bigger trust-breaking elephant in the room is the fact that this project is USA based - as long as US government and agencies are insisting on practices we know from authoritarian and anti-democratic states like e.g. China or Saudi-Arabia there is no way any US based project can use the word "trust" for their product description - it might be recognized as a simple lie by informed people.

Questions to the project leaders:

* you must obey US laws and therefore offer MITM access to every Let's-Encrypt "trusted" network stream - why aren't you educating your users about this serious limitation of your product?

* why don't you rebase your project to a country where a government policy exists that is allowing companies to build trustable security based products?

  • schoen 10 years ago

    There is no U.S. law that compels us to "offer MITM access to every Let's Encrypt trusted network stream".

    TLS sessions are negotiated between TLS clients and servers. Their confidentiality is guaranteed by that negotiation and the certificate authority, if any, doesn't have the server's private key and can't read the server's TLS sessions.

    What CAs have the power to do is misissue certificates. Using a CA's services generally does not increase your exposure to misissuance attacks by that CA. If Let's Encrypt misissues certificates, it could misissue them for sites that are not and never have been Let's Encrypt users, just as any other CA can issue certificates for any public Internet service.

    As I've said elsewhere, Let's Encrypt wants to use, and encourage others to use, technologies that limit our power to do the wrong thing, including HPKP and Certificate Transparency. We want more limits on our power and other CAs' power, not fewer, that lead to misissuance events getting caught and attacks on TLS users failing.

  • ascorbic 10 years ago

    It means it's trusted by all major browsers, which is what matters. You may not like the terminology, but that's what it's called.

  • jstalin 10 years ago

    If there's a government that you trust, then you're mighty naive.

  • andrewmcwatters 10 years ago

    I just want free TLS dude.

mangeletti 10 years ago

I truly appreciate the hard work Let's Encrypt is doing.

However, this is not free.

In return for getting an SSL certificate, your users will need to trust an organization to protect the secrets they share with you and vice versa. This organization has no economic incentive to do good for you or to do harm to you.

What happens when this organization is compelled by the TLA to give up the lucky charms, and there is no team of attorneys to fight back, and no billions at stake, and there is a gag order? And, given the rate at which a "free" SSL certificate will proliferate, these will be some valuable lucky charms.

This is not FUD. This is simply recognizing that "free" SSL certificates don't really address the issues that arise from centralized authority in a decentralized economy.

  • andreyf 10 years ago

    This is absolutely FUD, even if you don't intend it to be. By what mechanism do you suppose the TLA boogeymen could compel ISRG to give up their private keys, and how would a team of lawyers make one exempt from such mechanisms?

    Let's Encrypt is the effort of a benefit corp (ISRG) run by people who care about security and privacy enough to bake it into the foundations of the organization [1]. I think this makes them more trustworthy than for-profit CA's, which have a history of misunderstanding the fundamental roles they play in the security chain, e.g. [2].

    1. https://en.wikipedia.org/wiki/Internet_Security_Research_Gro...

    2. http://www.computerworld.com/article/2501291/internet/trustw...

    • mangeletti 10 years ago

      By EXACTLY the same means as last time[1].

      Lavabit waa ordered to give up their private key, despite the fact that Lavabit wasn't, itself, under investigation. In other words, they were forced to give up their clients privacy and were given a gag orders.

      Attorneys don't exempt anyone from anything, but your comment seems to suggest their existence is for entertainment. A team of attorneys might have found a way out of the mess for Lavabit.

      1. https://en.m.wikipedia.org/wiki/Lavabit

      • andreyf 10 years ago

        Lavabit held an encryption key that could decrypt evidence of a crime. They received a subpoena for that key. They followed what was likely any lawyer's advice to comply with the lawful subpoena (ordered by a judge, not a TLA).

        This reasoning would not apply to CA's.

  • vbezhenar 10 years ago

    You protect your secrets with your private key. That organization is only assures that this particular key belongs to your site. They don't have access to your key. Users don't need to trust anything they don't trust yet.

    • mangeletti 10 years ago

      Which is the whole value proposition of a CA. Without this, a website and its clients are vulnerable to MitM attacks.

      • computator 10 years ago

        But not vulnerable to passive wholesale eavesdropping that the NSA and likely other worldwide spies agencies have been doing.

        • mangeletti 10 years ago

          If vulnerability to active spying is some sort of consultation prize, then why don't browsers disable CA checks and we can all self-sign?

  • colinbartlett 10 years ago

    You state "This is not FUD" yet that's exactly what it strikes me as since making a certificate $0 instead of $19 doesn't change anything at all about "the issues that arise from centralized authority in a decentralized economy".

    • mangeletti 10 years ago

      Except that the company charging you $19 is getting $19 to provide a service to you, and their brand depends on that.

      • schoen 10 years ago

        I don't think this distinction is especially relevant in this context. Let's Encrypt also has a brand that depends on its integrity, and if you're concerned about attempts to coerce certificate misissuance, they apply at least as strongly to for-profit entities.

  • stephen_g 10 years ago

    What secrets are shared? Your private key stays on your server, the CA's private key on theirs...

    The main thing that you trust (every) CA to do is to not issue a certificate for your domain to somebody else.

    • mangeletti 10 years ago

      If I know Let's Encrypt's secrets, and I control your network, I can set up a valid certificate on my server and MitM you.

      • johncolanduoni 10 years ago

        ... as could any other CA your browser trusts. What makes Let's Encrypt any worse?

        • bandrami 10 years ago

          It's not worse; it's just exactly the same broken model, now for no money and being pushed on everyone.

          All this because a couple of theorists in the 1990s decided that security requires authenticity, despite decades of research to the contrary.

          There are all kinds of ways to establish authenticity of counterparties. Entire books are written about that. There are much better ways than our current CA model. But we don't need any of them to have passively secure transport, over which we can then negotiate authenticity.

          This is arranging deck chairs on the Hindenburg. It's nice that people will (once they finally get around to issuing certs "in mid-2015") be able to have zero-cost certs, but it doesn't change the fundamental broken-ness and wrong-headedness of having CAs in the first place.

          • icebraining 10 years ago

            Who claims that you can't have a passively secured transport without authentication? I mean, SSL/TLS itself uses DH key exchange, which can be used for that purpose.

            The problem is having secured transport against active attacks as well, and without forcing the user to know anything about the site besides its domain.

            • mangeletti 10 years ago

              The problem, which I've stated, is not that Let's Encrypt is doing something bad. It's that they have zero economic incentive to protect their brand when a subpoena comes for their private key. If you think this doesn't matter, I honestly recommend studying economics. I'm not being sarcastic at all. In fact, https://en.wikipedia.org/wiki/Economics_of_security, albeit short, is a great place to start.

  • idibidiart 10 years ago

    I personally argued with the W3C TAG against an HTTPS-only web for this reason. Tim Berners Lee, who heads the TAG, ceremonially speaking, argued against it, too, but on different ground. The browser vendor 'experts' on the TAG totally dismissed any and all argument against forcing everyone to use HTTPS. They were basically told by their employers (the big browser vendors and CDNs like Akamai) to make it happen. HTTPS is a rather costly false sense of security. Now anyone who wants to setup a website, for whatever reason, has to go thru some central authority in the name of "securing the web" (LOL) but it's just another way to control free speech and what people do with the web.

    • vtlynch 10 years ago

      >Now anyone who wants to setup a website, for whatever reason, has to go thru some central authority

      Which 99% of people already do when the buy a domain name.

      There is NO evidence that using SSL restricts your freedom of speech. There is evidence to the contrary though, where SSL allowed people to speak freely without having their communications intercepted or monitored.

      Certificate Authorities only reject websites for certificates in rare cases where the domain bears resemblance to a well known company (such as "paaypal.com" or "microsoftproducts.com"). This is not something that every CA does not something that a CA HAS to do.

      There is no "false" sense of security HTTPS IS encrypted, and CA signed certificates ARE authenticated. Claims that the whole CA system is MiTM by government are largely unsupported, and if you believe that, then you are screwed over HTTP anyway.

      I dont disagree that there are some disadvantages to an HTTPS-only web, but those generalizations are wrong.

      • idibidiart 10 years ago

        "HTTPS IS encrypted"

        Oh wow. Really? You haven't done your homework then. So many ways to undermine the certificate authority model, including many famous cases, one involving the Iranian government gaining access to their citizen's "encrypted" traffic. HTTPs is about having traffic be open to powerful entities and closed off to the common criminal. It's a two tier model, not real security.

    • johncolanduoni 10 years ago

      > it's just another way to control free speech and what people do with the web

      How so? Do you expect browsers to stop serving content from sites using boring old HTTP? And the fact is that we've had to go through a central authority to put a website up for a long time, with DNS.

    • bandrami 10 years ago

      Thank you. Demanding TLS while insisting on keeping our broken PKI alive is saying that anonymous publishing is impossible.

      Just look at the stupid way browsers treat self-signed certificates: these are strictly better than plaintext, but plaintext gets no warning and self-signed certificates are warned about and in some cases actually blocked.

      Similarly, one mailer (exim, I think?) on seeing an untrusted certificate would actually downgrade to plaintext. There aren't enough palms or enough faces for that.

      • icebraining 10 years ago

        Just look at the stupid way browsers treat self-signed certificates: these are strictly better than plaintext, but plaintext gets no warning and self-signed certificates are warned about and in some cases actually blocked.

        Technically, yes. UI-wise, no. People have different expectations for https:// URLs, which would be broken if browsers simply accepted any self-signed cert.

        No excuse for the mailer behaviour, though.

    • mangeletti 10 years ago

      It's worth noting that Akamai is on the board of the parent organization of Let's Encrypt.

  • schoen 10 years ago

    I think there's a misconception here about the CA model.

    Let's Encrypt users (in almost every respect) are not more exposed to risks of Let's Encrypt misissuing certificates. (They are more exposed to risks of Let's Encrypt wrongly revoking a certificate, but that creates an availability risk rather than an integrity or confidentiality risk.) In particular, Let's Encrypt never has access to your server's private key or to your TLS session keys. There is no way that Let's Encrypt could take a recorded TLS session and tell somebody how to decrypt it; what we have are signing keys, and all that they ever do is sign things (normally claims about other keys that could be used for other purposes).

    Although Let's Encrypt, like any CA, could issue an additional fake certificate which someone who controls your network could use to impersonate you, any site is already exposed to this risk from every CA, whether or not the site uses Let's Encrypt. Let's Encrypt could issue a fake certificate in the name of a site that uses StartSSL or Verisign -- or Verisign or StartSSL could issue a fake certificate in the name of a site that uses Let's Encrypt.

    As I've said a number of times in a number of contexts, the people working on the Let's Encrypt project don't think that this model is perfect, and many of us have been involved in expressing concerns about CAs' power in the past. As a result, we're working to limit Let's Encrypt's own power to misissue certificates by participating in the Certificate Transparency system, and hopefully by adopting and encouraging our users to adopt other technologies that will protect them against misbehavior by CAs, including us.

    We encourage our users (and non-users) to adopt technologies that would reduce the need to trust us, including HPKP, which lets sites themselves make assertions about what keys they'll use, which browsers will then enforce even if CAs say something different, and Certificate Transparency, which lets people confirm that certificates they encounter in the wild have been publicly disclosed worldwide by the CA that issued them.

    If you have other ideas for how CAs can be made less trusted, more transparent, and more accountable, we would love to hear them! And let me express my appreciation for the people who have been working to create the means that we have to do this today.

    (If you're not a Let's Encrypt user and want to protect visitors to your site against risk of misissuance of a certificate by Let's Encrypt -- or any other CA! -- you can also adopt CAA and HPKP, to give visitors a browser-side way to enforce your intentions about what certificates they should be accepting.)

    • schoen 10 years ago

      Let me also add that there is a "team of lawyers" to help resist attempts to force ISRG to violate its policies or betray its users. It's not clear to me that all for-profit CAs would resist such attempts better than a CA founded by EFF and Mozilla and with a Stanford law professor on the board.

      I'll also note that ISRG is publishing legal transparency reports, something which is still not very common in the CA industry.

      https://letsencrypt.org/documents/ISRG-Legal-Transparency-Re...

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection