Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 19 submissions in the queue.
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 vux984 on Tuesday February 25 2020, @12:56AM (17 children)

    by vux984 (5045) on Tuesday February 25 2020, @12:56AM (#962123)

    Hold it. Do you have any idea how long a brute force attack on a reasonably long key would take?

    Yes. Sorry. By 'brute forced' I simply meant shorthand for something along the lines of the hash algorithm used on the cert is dated and flawed and mathematicians have devised clever methods of dramatically reducing the searchable key space to the point that hash collisions are practical to force, etc, etc. I understand nobody is brute forcing it.

    In fact, as I recall, the whole reason for mandatory password expiration was the amount of time it took to brute force the idiotically short passwords to which most early computer systems limited the users. The idea was to force users to change passwords which forces a password cracker to discard whatever progress it has made through the password space.

    I mean, i guess, yes, that was PART of it. But it also was and remains to this day a good way to purge existing persistent unauthorized access. If you "gave your assistant your password one time in an emergency" or something 3 years ago, or maybe you got phished and never noticed, if you never change your password, they retain access indefinitely. Years later, the assistant works somewhere for a competitor maybe, but they've still got access to your account. Periodically changing your password closes those doors.

    Sure a good hacker will use their access to create themselves a new account or something so they can get in long after their original door is closed. But periodically auditing the accounts that have access can catch that. And maybe your account can't be used to create new accounts but there's enough juicy stuff in it that its still valuable on its own for whatever reason. Rotating your passwords periodically (even if you are using a password manager with big passwords) is STILL a good idea for these reasons.

    If you've got 2FA authentication enabled though, then you really don't need to rotate passwords, because the 2FA component is already a rotating password. And adding a rotating password policy to a rotating password is stupid. (hello Datto you listening?)

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by sjames on Tuesday February 25 2020, @01:13AM (16 children)

    by sjames (2882) on Tuesday February 25 2020, @01:13AM (#962138) Journal

    Yes. Sorry. By 'brute forced' I simply meant shorthand for something along the lines of the hash algorithm used on the cert is dated and flawed and mathematicians have devised clever methods of dramatically reducing the searchable key space to the point that hash collisions are practical to force, etc, etc. I understand nobody is brute forcing it.

    That happens a lot less often than annually or even every 5 years. The solution is to deprecate certs using the broken hash.

    • (Score: 2) by bzipitidoo on Tuesday February 25 2020, @01:50AM (1 child)

      by bzipitidoo (4388) on Tuesday February 25 2020, @01:50AM (#962148) Journal

      Exactly. You should change keys/passwords when you have reason to believe they are compromised, and not just because a set period of time has elapsed. Passwords are not perishable items. Good passwords can be compromised, but they aren't going to go "stale" and "rot". Again, the reason for a mandatory timeout period was that was the length of time a brute force attack needed for some unacceptably high odds of achieving a compromise of a password or key. Make the space big enough, which is easy to do, and brute force ceases to be a threat worth worrying about.

      A flaw found in a hash algorithm may make brute force practicable, but it is the discovered weakness that did it, not the quickness of the progress that a brute force attack can now make. To wit, if you change passwords, but continue to use the weak hash, you remain essentially as vulnerable as if you'd never changed passwords. Changing passwords is no real defense against that, and doing so anyway is just security theater. You must change hash algorithms.

      As to the notion that rotation protects against the unknown, well, no, no it doesn't. You might have forgotten that you gave out your password? Well, a) don't give out your password!! But if you insist, then b) change it immediately after the borrower is finished. It's also easy enough to log in, then let the other person sit at the terminal and drive, so they can do whatever is needed, without you having to tell them your password. If that's not good enough, then you need a different solution that doesn't involve revealing your password. There are many ways to work things to give out necessary access and yet keep those passwords secret and secure. Such as, shared directories.

      • (Score: 2) by vux984 on Tuesday February 25 2020, @02:33AM

        by vux984 (5045) on Tuesday February 25 2020, @02:33AM (#962165)

        To wit, if you change passwords, but continue to use the weak hash, you remain essentially as vulnerable as if you'd never changed passwords.

        I agree, but nobody suggested that changing passwords is a solution to a weak hashing algorithm.

        As to the notion that rotation protects against the unknown, well, no, no it doesn't.

        I'd say it protects against the known. That is -- I *know* lots of users are fuckwits. :)

        You might have forgotten that you gave out your password? Well, a) don't give out your password!! But if you insist, then b) change it immediately after the borrower is finished.

        As someone whose done IT I've been given countless passwords and access to all kinds of things in my role of fixing them or working on them that I didn't want or need, and certainly didn't need persistent access. Where they should have entered their password and let me drive as you aid, or setup a temporary access and then revoked it, but they didn't want to stick around or bother with that so they just left it behind on a note or by email. You can't fix stupid, and sometimes (oftentimes) they're the boss.

        Periodically forcing a rotation at least sunsets some of the illicit access that's enabled by this poor password hygiene.

        There's nothing I could do to change their behavior, but at least periodically forcing them to rotate them meant that at least just the current secretary and IT consultants likely had access instead of everyone who had ever worked for the company.

        There are many ways to work things to give out necessary access and yet keep those passwords secret and secure. Such as, shared directories.

        The problem isn't generally that the technology to solve this doesn't exist, merely that people refuse to use it, or that there are many places where it hasn't been implemented. There are lots of things that do not offer options. Quickbooks Pro only has one "admin" account, countless devices and services are likewise setup like that. So if multiple people need to share the admin account they have to share that password. Forcing a rotation now and again helps to "reset" who still has access to those resources.

    • (Score: 2) by vux984 on Tuesday February 25 2020, @01:57AM (13 children)

      by vux984 (5045) on Tuesday February 25 2020, @01:57AM (#962151)

      True, and we do deprecate broken hash algorithms. But when it happens to you really want to wait 5+ years for insecure certs to go away? If we're already in a mode where we're purging certs every few months, its pretty easy to incorporate auditing and maintenance and to upgrade algorithms etc as we go. If nobody is at the wheel because the certs live longer than most employees are likely to stick around then when a deprecation comes along impacted certs are just going to stick around untended until things finally break down.

      Plus I originally wrote: "Unless the CA is compromised/keys are brute forced/whatever."

      The "CA Compromise" for example is completely orthogonal to hash algorithms. If the CA issues a bunch of certs it shouldn't have for whatever reason, then simply purging all certs regularly is probably the best way to guarantee they get out circulation sooner than later. Certificate revocation lists SHOULD be the solution to that issue, but its a complicated mess to get right as distributing the revocation lists itself a difficult problem to completely solve completely. It's easy for a browser to verify a certificate chain from just from it's own root cert repo and what the site provides but verifying the cert hasn't been revoked needs constant rechecking to another authority and if that connection is blocked or down or anything then you don't know. At least this way improperly issued certs have a short life expectancy so they go away.

      I don't think its a perfect solution, but it is a practical and useful measure.

      • (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.

        • (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.