HaJ3FgupAm8RrDJW3MHgT9X7Ft27eVaD
  • Victor@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 days ago

    Quick question: what would be the correct way to handle this, security wise? How should they acquire their token if it isn’t present on-device?

    I mean, each device could have its own token, but you could still sniff it, maybe? I dunno.

    How should Flock have gone about this if working to their own self-interest?

    • Dejected Warp Core@lemmy.world
      link
      fedilink
      English
      arrow-up
      18
      arrow-down
      1
      ·
      10 days ago

      Ethically? Expire the token since it’s compromised, and offer to refurbish all units in the field since flock screwed up, a now all customer data could be poisoned/suspect now.

      Realistically? Keep going like nothing happened an make it a customer support problem while pushing new hardened cameras that cost more. Because the product alone loudly flags Flock as a bunch of amoral greedy fuckwits.

      I won’t suggest ways to actually make their product bulletproof because I care and we don’t need to make this problem worse for everyone. It is a tantilizing problem space but there are never any perfect answers in security, only relatively better/worse ones.

        • msage@programming.dev
          link
          fedilink
          English
          arrow-up
          3
          ·
          8 days ago

          You give each camera its own token, and validate it with hardware ID.

          Even better, give them hardware token, that can sign, but does not leak its keys.

          In either way, you can ID the device, and block unsold and confirmed stolen/damaged ones. And never accept traffic from anything else.

    • m-p{3}@lemmy.caOP
      link
      fedilink
      English
      arrow-up
      12
      ·
      9 days ago

      One way would be to generate a unique private key on the secure element / TPM and its public key stored on the server for validation. Each API request would need to be signed with a relatively short expiration time. That way the code never contains sensitive content such as an API key, an exploited device only holds in RAM a signed certificate that is valid for a short period of time, and the certificate can be revoked/blocklisted on the server if compromised.

    • kibiz0r@midwest.social
      link
      fedilink
      English
      arrow-up
      7
      ·
      9 days ago

      Unique private key per device, pre-provisioned certificate at manufacturing time, hardware-level separation of crypto operations so sensitive creds are never in memory.

      It’s a bit more expensive to manufacture, in terms of BOM and logistics. And then you have a lot more complexity to your production system too.

      • Victor@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 days ago

        O… Kay, I’m just trying to expand my knowledge about this particular case. I’m mostly a web dev but I’m trying to expand into security a little bit as well because I think that’s important for my field. It just wasn’t a part of my curriculum at uni 10–20 years ago.