<div>On Tue, Mar 30, 2021 at 10:37 PM jrzx <<a href="mailto:jrzx@protonmail.ch">jrzx@protonmail.ch</a>> wrote:<br></div><blockquote type="cite" class="protonmail_quote"><div dir="ltr"><div class="gmail_quote"><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><div>Recommended practice on shared secrets in the Libsodium documentation ....<br></div></blockquote></div></div></blockquote><div><br></div><div>On Wednesday, March 31, 2021 9:54 AM, Phillip Hallam-Baker <<a href="mailto:phill@hallambaker.com">phill@hallambaker.com</a>> wrote:<br></div><blockquote type="cite" class="protonmail_quote"><div dir="ltr"><div class="gmail_quote"><div><div style="font-size:small">That might be appropriate for some devices. But probably not for a lightbulb<br></div><div style="font-size:small">running off an 8bit CPU that will never actually do anything other than authenticate<br></div><div style="font-size:small">commands to turn itself on and off.<br></div></div></div></div></blockquote><div><br></div><div><div>A system capable of communicating is going to be running wifi or an ethernet connected<br></div><div>usb.  It is going to be at least equivalent to the RP2040, which can do asymmetric<br></div><div>cryptography and do it considerably faster than humans can perceive.<br></div><div><br></div><div>You propose an identity system.  Shared secrets are fine if there is only one human<br></div><div>involved, as with a garage door opener or a car door opener, but in an identity system<br></div><div>there are always at least three humans involved, typically the human issuing the<br></div><div>authorization to the devices of another human, and an unknown and unidentifiable<br></div><div>member of an out of control bureaucracy in the middle.<br></div><div><br></div></div><div><div><div>No one is using eight bit CPUs any more.  The smallest SoC you can readily<br></div><div>lay your hands is the thing the Rasberry pi pico is built around<br></div><div><div><br></div></div><div>The Rasberry Pi pico is 32 bits, dual core  $4.00 in single unit quantities.<br></div><div><div><br></div></div><div>Suggested use, turning on a lightbulb.<br></div><div><div><div><br></div></div></div><div>Even if they are just turning on a lightbulb, they load an entire linux derived<br></div><div>operating system to do it.<br></div><div><div><br></div></div><div>I don't know what the SoC costs by itself, but the SoC embedded in a tiny little<br></div><div>board, the Rasberry Pi pico, is four dollars in single unit quantities,<br></div><div><div><br></div></div><div>You are not going to authenticate commands to a small cpu running a lightbulb,<br></div></div><div> because you want it to turn on whenever light levels are low and there is<br></div><div>movement in the vicinity, and turn off after a timeout.<br></div></div><div><br></div><div>You will, however, want to authenticate commands to a system that<br></div><div>automatically unlocks doors when an employee shows up, and ceases<br></div><div>to automatically unlock doors when that employee gets fired.<br></div><div><br></div><div>For which function durable shared secrets are a really bad idea.<br></div><div><br></div><div>If you want to authenticate a command as coming from a particular entity, <br></div><div>it normally matters a great deal that the human that issues the authorization<br></div><div>to another human can know that he has only authorized that particular<br></div><div>human's devices, and if that human loses control of the authorization,<br></div><div>it is that particular human's fault, not the fault of some unknown bureaucrat<br></div><div>in an out of control bureaucracy.<br></div><div><br></div><div><br></div><div><div><br></div><div><br></div><div><br></div><div><br></div></div><div><br></div>