jonwienke
More Info Coming Soon!
Simply connecting to a server, furnishing and having the server encrypt a random string, sending it back and then having the client decrypt it, only determines that the client has the matching private key to the public key. It does nothing else.
That's all that's necessary for this application. If the user generates their own private key, and doesn't disclose their private key to anyone else, then proof the client has the private key is sufficient to authenticate the user.
All of the above is unnecessary if both parties know in advance a shared secret..
And that's the problem. You can't share a secret with 100,000 people and expect it to remain a secret.
If both sides know the shared secret in advance, no encryption beyond a hash using a salt plus the shared secret is necessary for the server to know that the client is who he says he is. This is how mail servers used to work before TLS became prevalent.
And that's why that is no longer used. Shared secrets shared among too many parties cannot be kept secure.
Aside from that, unless the server knows the shared secret in advance, then a trusted third party would be required.
If authentication is based only on proof of possession of the private key, then no trusted third party is required. And authentication isn't required for every data packet, or even every transmission. First keyup, and every few hours therafter is sufficient for jamming prevention. If each repeater authenticates its own users, then no centralized authentication server is needed. Each repeater just needs to have a replicated copy of valid users and their public keys.
Good luck trying to get Motorola and Hytera to modify their repeater DMR protocols.
As I said before, I don't think jamming and spoofing is enough of an issue to justify any measures beyond what is already in place. But if you want to solve the problem, then you need to have a discussion about what could actually solve it, not something that cannot. Public key-based authentication would solve the jamming (at least on the network level) and spoofing issues, although the implementation wouldn't be worth the hassle. Encryption would not solve the problem at all--it would have legal issues, and would at best balkanize repeater networks in a way that would defeat the point of networking them together in the first place.