Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Development
  3. Simplifying MySensors security: the third option.

Simplifying MySensors security: the third option.

Scheduled Pinned Locked Moved Development
19 Posts 4 Posters 3.5k Views 6 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • alowhumA alowhum

    I've read the discussion here about encryption, and I appreciate that there is an option for some level of encryption now.

    But as a usability designer I want to make the case that there needs to be a third option, between "no security" and "good but kinda complex security".

    USE CASE

    The basic user just wants their neighbour to not be able to trigger their catfood dispenser or listen in on their presence sensor.

    That neighbour is probably not a hacker. So just making it a little bit of a hassle to listen in is already great.

    USABILITY

    Without looking at the technology of it, this is what I'd suggest:

    • At the top of a MySensors script you can enter an optional password, and you maybe have to uncomment a line of code. That's all the user has to do.
    • The code does the rest. If it notices the password is there, the script will only communicate with other sensors or gateways that have the same password.

    .

    Again, yes, cracking this is ridiculously easy. But that's not the point. Having your data completely out in the open is way worse. And let's be honest, that's the current default for lots of people who can't be bothered to jump through signing hoops, having to remember that whole process every time you want to add a sensor.

    We need a third, simple option.

    FotoFieberF Offline
    FotoFieberF Offline
    FotoFieber
    Hardware Contributor
    wrote on last edited by
    #5

    @alowhum
    If you use RFM69, you can enable hardware encryption with one define and store your password (AES Key) by running one sketch.

    This is enough security for me, as I don't open doors with mysensors.

    Changing the default channel id might be a good choice too.

    1 Reply Last reply
    0
    • alowhumA alowhum

      You're missing the point.

      Signing is not rocket science, but it's a hassle that will always keep a sizable part of the community from any form of security. Not everybody thinks like you do.

      AnticimexA Offline
      AnticimexA Offline
      Anticimex
      Contest Winner
      wrote on last edited by
      #6

      @alowhum then please enlighten me with what it is about it that you find so difficult so I get a chance of simplify it instead of bash it.
      I have spent man-months in implementing it and documenting it with a ambition that it should be accessible to everyone.
      From the feedback I get, I make improvements.
      So please give me feedback as you obviously don't think it is good enough, also given the you are informed of the work currently going done in further improving it.
      I am not going to add another security mechanism as the once we have are fully adequate and adding more will just add bloat and confusion.

      Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

      1 Reply Last reply
      0
      • AnticimexA Offline
        AnticimexA Offline
        Anticimex
        Contest Winner
        wrote on last edited by Anticimex
        #7

        There is one thing I can do. I can add a third signing backend. And have it get its key from a define. It won't support whitelisting and the same define will enable signature requests and encryption. As it is much less secure, it will probably be enabled using MY_INSECURE_SECURITY_PASSWORD which also define the keys to use.
        That way, the current backends are not loosing integrity, you hopefully get what you want, and everybody stays happy :)
        Unfortunately I cannot give an ETA on when it will be completed but if you agree that this is what you are seeking, I can add an issue for it do we can track it on github. It will be a feature extension so it can get in before releasing version 3 of the library.

        Is this acceptable?

        Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

        1 Reply Last reply
        2
        • alowhumA Offline
          alowhumA Offline
          alowhum
          Plugin Developer
          wrote on last edited by
          #8

          Sorry if I offended, that was not my intention. I love the awesome work that has been done on MySensors!

          I can't really analyse what you say, I'm not technical enough, but it sounds great. If it makes the use of the some minimal level of security just a matter of putting in a password at the top of each script, then I'm all for it!

          In short this is my suggestion:

          1. Public sensors, totally open (default)
          2. Insecure but also not totally open. <- my suggestion.
          3. Secure (your work here is still so great!)
          AnticimexA 1 Reply Last reply
          0
          • alowhumA alowhum

            Sorry if I offended, that was not my intention. I love the awesome work that has been done on MySensors!

            I can't really analyse what you say, I'm not technical enough, but it sounds great. If it makes the use of the some minimal level of security just a matter of putting in a password at the top of each script, then I'm all for it!

            In short this is my suggestion:

            1. Public sensors, totally open (default)
            2. Insecure but also not totally open. <- my suggestion.
            3. Secure (your work here is still so great!)
            AnticimexA Offline
            AnticimexA Offline
            Anticimex
            Contest Winner
            wrote on last edited by
            #9

            @alowhum no offense taken. Sorry if I used a sharp tone. I do believe i understand what you are looking for and I believe I can accommodate the request. I will however need your (and/or everybody elses) help in testing though as I still have not gotten unpacked enough in my new apartment (and country) to test stuff myself. But as soon as I have something for you to test I'll post it here. But it will most likely not happen this mother am afraid. Simplification of the regular personalization process is my current task (discussed here).

            Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

            1 Reply Last reply
            1
            • alowhumA Offline
              alowhumA Offline
              alowhum
              Plugin Developer
              wrote on last edited by
              #10

              I'd be happy to help. I'm not in a rush, and you don't have to do anything. Your proposal is already above and beyond what I could have expected.

              AnticimexA 1 Reply Last reply
              0
              • alowhumA alowhum

                I'd be happy to help. I'm not in a rush, and you don't have to do anything. Your proposal is already above and beyond what I could have expected.

                AnticimexA Offline
                AnticimexA Offline
                Anticimex
                Contest Winner
                wrote on last edited by
                #11

                @alowhum well, it will be clear to the user that it isn't enterprise grade security the particular flag will implement. Even so, it will be based on the atsha204a compatible software backend so as long as the node is protected from memory readouts (by fuses, or by simply keeping it locked in) and still making sure the random seed is based on an unconnected analog pin (like it is today) hacking also the simplified security solution though an OTA attack will be as hard as the other solutions (depending on the quality of the password). And it won't support whitelisting of nodes as that would require a unique serial for each node and that complicates things. So my rationale is that if a user wants security including whitelisting, regular personalization procedure will be required (and it will be simpler than today to deploy).
                Your proposal is a valid one I have concluded after looking more into what it would mean to implement. And the implementation won't be complicated either.

                Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                1 Reply Last reply
                0
                • alowhumA Offline
                  alowhumA Offline
                  alowhum
                  Plugin Developer
                  wrote on last edited by
                  #12

                  Well, that's just fantastic!

                  1 Reply Last reply
                  0
                  • AnticimexA Offline
                    AnticimexA Offline
                    Anticimex
                    Contest Winner
                    wrote on last edited by
                    #13

                    No, actually it's just evolution :)

                    Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                    1 Reply Last reply
                    0
                    • alowhumA Offline
                      alowhumA Offline
                      alowhum
                      Plugin Developer
                      wrote on last edited by
                      #14

                      I'm curious if this has been taken up. Is there anyway I can help?

                      AnticimexA 1 Reply Last reply
                      0
                      • alowhumA alowhum

                        I'm curious if this has been taken up. Is there anyway I can help?

                        AnticimexA Offline
                        AnticimexA Offline
                        Anticimex
                        Contest Winner
                        wrote on last edited by
                        #15

                        @alowhum it has and implementation is well under way. But I am not finished with verification and documentation. There is a pull request of you want to test, but be aware that I am force pushing updates to it.

                        Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                        1 Reply Last reply
                        0
                        • alowhumA Offline
                          alowhumA Offline
                          alowhum
                          Plugin Developer
                          wrote on last edited by
                          #16

                          @Anticimex said in Simplifying MySensors security: the third option.:

                          pull request

                          Wonderful!

                          Very cool to see this in the code :-)

                          +    --my-signing=[none|software|password]
                          
                          AnticimexA 1 Reply Last reply
                          0
                          • alowhumA alowhum

                            @Anticimex said in Simplifying MySensors security: the third option.:

                            pull request

                            Wonderful!

                            Very cool to see this in the code :-)

                            +    --my-signing=[none|software|password]
                            
                            AnticimexA Offline
                            AnticimexA Offline
                            Anticimex
                            Contest Winner
                            wrote on last edited by
                            #17

                            @alowhum well, verifying on rPi is the one system I cannot test myself so you are very welcome to try that :)

                            Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                            alowhumA 1 Reply Last reply
                            0
                            • AnticimexA Anticimex

                              @alowhum well, verifying on rPi is the one system I cannot test myself so you are very welcome to try that :)

                              alowhumA Offline
                              alowhumA Offline
                              alowhum
                              Plugin Developer
                              wrote on last edited by
                              #18

                              @Anticimex And it's the one system I have, so: perfect! PM me when you want me to do a test.

                              AnticimexA 1 Reply Last reply
                              0
                              • alowhumA alowhum

                                @Anticimex And it's the one system I have, so: perfect! PM me when you want me to do a test.

                                AnticimexA Offline
                                AnticimexA Offline
                                Anticimex
                                Contest Winner
                                wrote on last edited by
                                #19

                                @alowhum whenever you like. Code logic should be done. Whitelisting is also supported. Doxygen docs need more work. Thanks!

                                Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                8

                                Online

                                11.7k

                                Users

                                11.2k

                                Topics

                                113.0k

                                Posts


                                Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • MySensors
                                • OpenHardware.io
                                • Categories
                                • Recent
                                • Tags
                                • Popular