[aprssig] APRS-IS Passcode alternative: SSL + Certificates, with no data encryption
Heikki Hannikainen
hessu at hes.iki.fi
Sat Mar 29 04:10:42 EDT 2014
On Fri, 28 Mar 2014, Andrew P. wrote:
> I just tried connecting APRSdroid to ssl.aprs2.net without a certificate, and it still works (using my old passcode).
>
> So that isn't keeping me out.
Yup, it's an experimental feature, and naturally, passcode-only clients
are not rejected, since that would make a lot of users unhappy. The same
servers still provide normal service on port 14580. Actually, using SSL,
you're not getting anything extra at this point, it's a proof-of-concept
showing that it can be done and doesn't break things as such.
* The server just knows for sure that ARRL has given you a certificate,
and that they do a stronger validation of license status than most APRS-IS
passcode-giving software authors would do. The server's status page shows
that knowledge by showing a clickable "Cert" instead of "Yes" or "No" in
the Validated column (F5VAG-10 is still on http://iad.aprs2.net:14501/).
* The server at this point doesn't do anything else than that, but it
could be improved to pass that knowledge onwards to other servers together
with the packets, and then onwards to other clients. For that to be
useful, the servers also need to authenticate with each other in a strong
way (not just passcode). aprsc can do SSL between servers.
* At least from overseas, you can easily send in fake documents to ARRL,
of course, and they will then give you a certificate. This can, however,
be battled. It takes a couple of weeks for the mailed documents to go
through, and it takes actual manual work to go through the process of
*mailing* the documents. The certificate you get is unique, and once it
turns out to be in the hands of a pirate, that single certificate can be
rejected by the services by configuration. The pirate then needs to get
another certificate, and since it's easier and quicker to block the cert
than to get a new cert, the battle is easy to fight. The balance of effort
is uneven.
* The services can block based on callsign embedded in the certificate, if
the callsign itself is invalid (N0CALL, or some P1RATE, or such). The
services can also block based on certificate identifier, if a pirate has
obtained a cert for a legitimate callsign assigned to a licensed ham
somewhere. The legitimate user can continue using his callsign.
* The certificates are digitally signed by the ARRL (or other CA), you
cannot adjust your own certificate to contain someone else's callsign -
the certificate won't validate if you alter its contents.
* A lot of people don't want to be involved with the ARRL, but it's not
limited to ARRL. If other organisations start giving out client
certificates, and demonstrate that they validate the license status
properly, the services can be configured to accept the certificates from a
large number of different Certificate Authorities. Other leagues, clubs,
APRS software authors. Even commercial entities, as long as they show
they're doing it right.
* Ah, you want to run this over radio (2.4 GHz or 5 GHz HamWAN data
links), and you're not allowed to encrypt the data? The server has been
tuned to accept the use of 'NULL' crypto, where the transferred data is
_not_ encrypted. You're still authenticated in the beginning with the
certificate, and the data is tamper-proof (thanks to HMAC), but the data
contents are not encrypted while in transit. The client app can select
whether to encrypt, or to not encrypt.
* It's not limited to APRS-IS. It's quite easy to configure for web
services: https://authtest.aprs.fi/
* Yes, it can be used with UI-View32 - just run a client-side SSL Proxy
app such as 'stunnel' to make the SSL connection to the server :)
- Hessu
More information about the aprssig
mailing list