Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Monday February 24 2020, @07:05PM   Printer-friendly
from the honestly,-it's-for-your-own-good... dept.

Apple drops a bomb on long-life HTTPS certificates: Safari to snub new security certs valid for more than 13 months:

Safari will, later this year, no longer accept new HTTPS certificates that expire more than 13 months from their creation date. That means websites using long-life SSL/TLS certs issued after the cut-off point will throw up privacy errors in Apple's browser.

The policy was unveiled by the iGiant at a Certification Authority Browser Forum (CA/Browser) meeting on Wednesday. Specifically, according to those present at the confab, from September 1, any new website cert valid for more than 398 days will not be trusted by the Safari browser and instead rejected. Older certs, issued prior to the deadline, are unaffected by this rule.

By implementing the policy in Safari, Apple will, by extension, enforce it on all iOS and macOS devices. This will put pressure on website admins and developers to make sure their certs meet Apple's requirements – or risk breaking pages on a billion-plus devices and computers.

[...] Shortening the lifespan of certificates does come with some drawbacks. It has been noted that by increasing the frequency of certificate replacements, Apple and others are also making life a little more complicated for site owners and businesses that have to manage the certificates and compliance.

"Companies need to look to automation to assist with certificate deployment, renewal, and lifecycle management to reduce human overhead and the risk of error as the frequency of certificate replacement increase," Callan told us.

We note Let's Encrypt issues free HTTPS certificates that expire after 90 days, and provides tools to automate renewals, so those will be just fine – and they are used all over the web now. El Reg's cert is a year-long affair so we'll be OK.

GitHub.com uses a two-year certificate, which would fall foul of Apple's rules though it was issued before the cut-off deadline. However, it is due to be renewed by June, so there's plenty of opportunity to sort that out. Apple's website has a year-long HTTPS cert that needs renewing in October.

Microsoft is an interesting one: its dot-com's cert is a two-year affair, which expires in October. If Redmond renews it for another two years, it'll trip up over Safari's policy.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by sjames on Tuesday February 25 2020, @05:04AM (12 children)

    by sjames (2882) on Tuesday February 25 2020, @05:04AM (#962234) Journal

    Why would I wait 5 years. If a hash is broken, deprecate the hash itself. That will invalidate any certs using it without regard for their expiration date. They can claim to expire in 2499 if they want, but if the browser isn't trusting certs using MD5 with a 256 bit RSA, it's a moot point.

    If a CA issues a bunch of bad certs, the CA's signing key gets revoked. No need for the rest of the world to run on a treadmill just in case. If you don't revoke the CA's key, the bad guys will just dutifully renew their bogus certs annually (and will probably be more careful to not let it lapse than the legitimate cert holder).

    Software these days manages to download upgrades and security patches (seemingly) every 4.2 seconds or so, why not a daily incremental from the vendor with the fingerprints of invalid certs? That both lets the whole world get off of the cert renewal treadmill and will make the revoked certs go away 365 times faster than Apple's proposal. This isn't rocket surgery. If the CAs and the browser vendors were at all serious about keeping certs secure, it would have been done years ago without making the rest of the world jump through hoops.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by vux984 on Tuesday February 25 2020, @08:48PM (11 children)

    by vux984 (5045) on Tuesday February 25 2020, @08:48PM (#962541)

    If a hash is broken, deprecate the hash itself. / If a CA issues a bunch of bad certs, the CA's signing key gets revoked.

    That does nothing to the users browser unless they update. And I see that is where you are headed.

    Software these days manages to download upgrades and security patches (seemingly) every 4.2 seconds or so, why not a daily incremental from the vendor with the fingerprints of invalid certs?

    Ok, but your solution amounts to: instead of millions of website admins having to manage updating certs regularly, billions of end users have to make sure they get updated revocation lists DAILY, instead.

    Another avenue for mischief is if a certificate is stolen (copied). Now they can run MITM attacks with it. This can go undetected for a long time. If the certs have short life cycles, the hackers will need to obtain new stolen certs regularly, and maybe the opportunity to steal it was a one-off. In this scenario someone has to also detect and report that the certificate was compromised to get it revoked, which may not happen. Where as if they cycle out regularly, it goes out of circulation even if nobody does anything.

    without making the rest of the world jump through hoops.

    I don't see how you think your solution is anything but making MORE people jump through even MORE hoops. CRLs are more work to manage, more work to distribute, and more work to keep updated, and if a mistake get through the cert lives indefinitely. The short lifecycle on certs is akin to a molten salt reactor -- it requires action to keep working, and it simply shuts down if you stop taking action. That's a better design to one that needs corrective action taken when something is wrong. I.E doing nothing and the cert will die off shortly is better design than trying to actively distribute a revocation notice to everyone on the planet.

    • (Score: 2) by sjames on Wednesday February 26 2020, @02:18AM (10 children)

      by sjames (2882) on Wednesday February 26 2020, @02:18AM (#962679) Journal

      AV software already does daily updates. Many browsers already get regular updates to warn of suspected scam sites. They do it witout most people even noticing. If the browser can't get on the internet to download the updated data, it's not going to connect to any spoofed sites anyway.

      Good luck going a whole year before the browser itself wants to do an update. Even if the revocation list only updates when the browser does, it still offers a shorter window to exploit a stolen cert than Apple's plan does, and the user will already be doing an update anyway.

      I have seen a lot more stories about sites down because of an expired cert than I have sites MITMed (other than by approved corporate firewall proxies on corporate LANs).

      If someone grabs a cert and does a MITM, they'll still have a year to get away with it even with the shorter expiration, even if the rightful owner discovers it and issues a revocation.

      Keep in mind, revocation lists are already part of the standard, My proposal that it be distributed as diffs to a list rather than being checked against a server one at a time is hardly radical.

      • (Score: 2) by vux984 on Wednesday February 26 2020, @03:20AM (9 children)

        by vux984 (5045) on Wednesday February 26 2020, @03:20AM (#962711)

        "AV software already does daily updates."

        Unless it doesn't. How many of us have seen a system that hasn't done its updates recently for whatever reason or other?

        "I have seen a lot more stories about sites down because of an expired cert than I have sites MITMed "

        True, but are those stories about sites that are using let's ecnrypt certs with automated renewals or are they stories about sites using long multi-year certs where the person installed it left the company years ago, and the person responsible for it didn't even know it existed. The ones I've read of are mostly the latter kind. :)

        All that said, I see this as a belt-and-suspenders situation. I'm not saying we abandon revocation lists; they're the suspenders in this analogy. But cert rotation acts as a failsafe, or the "belt", when the "suspenders" fail.

        • (Score: 2) by sjames on Wednesday February 26 2020, @10:36AM (8 children)

          by sjames (2882) on Wednesday February 26 2020, @10:36AM (#962789) Journal

          Unless it's something other than a regular blog or news site where updating cannot be automatic without putting the security of the thing being updated at risk.Or the site is small and decides to just screw certs and goes bact to http. Do you really want to flash your BIOS annually? Your thermostat? Your light bulbs? Care to talk your mom through adding an exception in her browser (if it will even accept that)?

          • (Score: 2) by vux984 on Wednesday February 26 2020, @06:22PM (7 children)

            by vux984 (5045) on Wednesday February 26 2020, @06:22PM (#962993)

            We seem to have gone in a circle.

            I started out by agreeing that your thermostat, lightbulbs, etc (ie local devices on your LAN, connected to via LAN ip address should be treated differently by the browser and that cert rotation is not necessary or appropriate for them.

            I am arguing that rotating certs make sense for public facing servers on the internet. And I agree it does not make the same amount of sense for private devices on the LAN. The risk profile is much lower AND the technical burden to do it is much higher and placed on people unlikely to be qualified. So it becomes unreasonable.

            And its pretty easy for the browser to know if its been handed an internet ip address, FQDN, or a LAN ip address; so it CAN differentiate between the two. So there's no reason it can't easily enforce rotating current certs when browsing to login.mysuperhost.com and make it hard (like editing the registry hard or manually editing config files hard) to "continue anyway", but still let you connect to 192.168.1.44 with an expired self-signed cert with just a click-through warning.

            • (Score: 2) by sjames on Wednesday February 26 2020, @08:32PM (6 children)

              by sjames (2882) on Wednesday February 26 2020, @08:32PM (#963066) Journal

              The problem is, the proposal at hand isn't making such a distinction. Just like Chrome doesn't recognize that connections to localhost present less risk than connecting to something on the open net. Browsers in general seem to be becoming less useful. It's like the major browsers are in a contest to see which one can lop off the most useful parts.

              • (Score: 2) by vux984 on Wednesday February 26 2020, @08:50PM (5 children)

                by vux984 (5045) on Wednesday February 26 2020, @08:50PM (#963070)

                We are in complete agreement on that, and on Chrome vs localhost too.

                Although firefox "developer edition" seems to exist precisely to help alleviate some of this stuff; but of course checking the ink level and changing the network settings on your laser printer aren't "developer tasks". But maybe that's the direction this should go in... chrome for the internet, some chrome-derived fork that has all those restrictions toned down/turned off but it not an internet browser, and it *won't* browse the public internet. Good only for managing local devices and local development, troubleshooting your intranet, connecting to your router, etc. Call it LAN-Browser or something.

                You click a link on your laser printer web tool that wants to go to supplies.brother.com and it opens that link in a new window in chrome.

                Your local computer & local LAN, and the internet are *not* the same thing. Maybe instead of different settings and security sets for different zones it would simply be better to simply use different applications.

                • (Score: 2) by sjames on Wednesday February 26 2020, @09:49PM (4 children)

                  by sjames (2882) on Wednesday February 26 2020, @09:49PM (#963135) Journal

                  That too might break a number of perfectly reasonable use cases. For example, what if I'm using IPv6 and my LAN is using addresses that could be public but are filtered by my firewall? You as a mere mortal developer simply cannot know.

                  What is really needed is a way for the user to decide what's OK and what is not. I have no doubt that some people might make bad decisions, but that's the nature of things when you treat adults as adults. Either we accept that it's possible some idiot might toast a shotgun shell or we treat everyone like they're 5 years old and refuse to toast anything but manufacturer approved standard slices of white bread.

                  How about if something looks like it could be a problem, ask the user and accept their decision? Make sure their choice can be case by case rather than a choice between never for anything or always for everything.

                  Browsers USED to make it easy to look at the cert, then decide between reject it, accept it just this once, or accept it from now on. It was simple enough to do that you could talk your mom through it if necessary but it would be hard to do it accidentally.

                  • (Score: 2) by vux984 on Wednesday February 26 2020, @10:26PM (3 children)

                    by vux984 (5045) on Wednesday February 26 2020, @10:26PM (#963174)

                    "For example, what if I'm using IPv6 and my LAN is using addresses that could be public but are filtered by my firewall? You as a mere mortal developer simply cannot know."

                    My computer knows which hosts are on the LAN and which aren't.

                    Now if you've got a complicated intranet with routed subnets using public address space, and you want to connect to devices using direct IPV6 addresses on different subnets within the intranet ... shit... your not a regular user. If you made that mess, then you'll figure something out ... throw a secure raspberry pi in each subnet to proxy for you, or setup a VPN, or edit the lan-browser configuration to add your private subnet ranges to the list of "private" ip ranges, and get that updated config signed by a trusted root cert for your organization... same as we trust self-signed/domain joined systems etc. Regular Home users aren't going to be hit by this.

                    How about if something looks like it could be a problem, ask the user and accept their decision?

                    Because (most) users always click "Accept". Few understand the message, and most don't even read it. They just click around until it "works".

                    It was simple enough to do that you could talk your mom through it if necessary but it would be hard to do it accidentally.

                    Once she's done it a few times, and she's "trained" to do it, then she does it every time. Her laser printer toner status... her bank account phishing email redirecting to a fake site --> Same browser application, same warning message, same solution. The whole reason we don't do this anymore is that regular users consistently get it wrong. Not occasionally get it wrong. Not sometimes get it wrong. CONSISTENTLY GET IT WRONG.

                    • (Score: 2) by sjames on Thursday February 27 2020, @02:06AM (2 children)

                      by sjames (2882) on Thursday February 27 2020, @02:06AM (#963280) Journal

                      Then you should set the config option "child safe" on your mom's browser. If you click the button that says not recommended right on it without knowing what you're doing, you are the architect of your own problem. Kinda like when people use tape to hold the safety down on their lawnmower.

                      The whole IPv6 thing was simply the first thing that came to my mind you had failed to anticipate that would break things. Your proposed solution is already fairly complex and involved config options you hadn't recognized a need for. Are you sure there aren't a thousand more perfectly reasonable cases neither you nor I have thought of, each requiring more special case configurations?

                      As far as phishing goes, when I am running a pentest, I just use http to dodge the whole issue. Simple workarounds like that are often easier to implement for scams than they are for legitimate use cases meant to actually be secure.

                      You might be interested to know that a number of Cisco products will proxy ARP any reachable address on the other side, including the entire internet. I say that to drive home the point that there's just too much out there to smugly implement policy in software rather than sticking to mechanism and leaving policy to the user.

                      • (Score: 2) by vux984 on Thursday February 27 2020, @05:52PM (1 child)

                        by vux984 (5045) on Thursday February 27 2020, @05:52PM (#963625)

                        Then you should set the config option "child safe" on your mom's browser.

                        What are people supposed to do that don't have you around to manage their network for them? Meanwhile the printer's chat support will simply tell her to turn off child-safe mode, same as they currently instruct you to 'continue anyway' past the bad cert.

                        If you click the button that says not recommended right on it without knowing what you're doing, you are the architect of your own problem.

                        Agreed. But "blame the user" isn't a solution. And it's a bad software design pattern to ask end-users questions they aren't likely to know the answer to; especially security related questions, or to ask them "are they sure?" all day.

                        You might be interested to know that a number of Cisco products will proxy ARP any reachable address on the other side, including the entire internet.

                        I'm aware, and im not sure how that changes anything. I even alluded to it as a potential solution for the ipv6 private routed intranet question.

                        The point remains, there is almost never a good reason for an *end user* to bypass an expired cert to reach an internet FQDN. There are LOTS of good reasons for end users to bypass expired certs on the LAN. So its an improvement over the status quo. **Even** if its not perfect, it reduces the attack surface, and reduces the number of useless warnings users get.

                        Sure if a malicious actor has control of your LAN router, and of your localhost lan ip configuration so that it can trick your host into thinking address X is on the LAN, and then they get you to enter that host's IP address directly into the address bar of your browser, so it can arp proxy the packets to an internet host ... then you are so totally pwned anyway that nothing was going to save you.

                        • (Score: 2) by sjames on Thursday February 27 2020, @11:07PM

                          by sjames (2882) on Thursday February 27 2020, @11:07PM (#963847) Journal

                          But "blame the user" isn't a solution.

                          It's better than Nerfing the world. Better yet, educate the user (No means No) then hope for the best.