Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add public key to alfred's announces #445

Closed
MichaelSasser opened this issue Aug 25, 2015 · 7 comments
Closed

Add public key to alfred's announces #445

MichaelSasser opened this issue Aug 25, 2015 · 7 comments
Labels
0. type: enhancement The changeset is an enhancement

Comments

@MichaelSasser
Copy link

Hi,

is it possible to add the public key of a node to alfred's announces, so that they appear in the json file of the meshviewer backend? I am currently writing a script, that matches the files of a fastd peer repo with that json file. We are using files with comments like this:

#Name: KL-Benzinoring-56_UPL-1
#MAC: 30:b5:c2:6e:87:cf
key "53e024c51fa8126018735fabbf4357b4ddf210c2139fb3a3e18fb1f84c0e7c46";

to identify the keys. I am matching the name and the mac of the node. I observed some weird changes over the last "year", so I can't be sure if the key is the correct one. If the node has been replaced by another with the same name and the old one is used by someone else there is one file with a correct mac, one with a correct name and both are online. Ok, by committing time... but not all files have these comments.

@neocturne
Copy link
Member

While adding such a field would be trivial, we'd like to avoid mixing the VPN data with other topology information (on the VPN servers, this information can already be queried over the status socket for connected nodes).

@jplitza
Copy link
Member

jplitza commented Sep 3, 2015

I also proposed to have the fastd public key in the alfred data long ago (#5), and still think there are valid use cases. You could easily run tests like "are all the public keys of nodes that announce an enabled mesh VPN connected to some VPN server", or have a key policy to automatically add keys from nodes that are already somehow connected to the mesh.

I don't understand why this would mean "mixing VPN data with other topology information". We have all sorts of information in the announces, topological or not, even the version of fastd. In fact, I would consider only the information in neighbours.d as "topology information", and everything else is... something else. ;-)

@tcatm
Copy link

tcatm commented Sep 3, 2015

This feature might fit into the Gluon Community repo.

@viisauksena
Copy link
Contributor

hello MichaelSasser : if you cant wait ... nobody stops you inserting a cronjob in your firmware like
*/5 * * * * /etc/init.d/fastd show_key mesh_vpn | alfred -s 123
every 5 minute (alfred forgets after 10 minutes) - this node should send the public key with identifier 123 -- you get the stuff back with alfred -r 123 ... if you know how to decrypt it right you also can do a gzip pipe in between - but since the keys should be heavily random you wont get much compression, an decompression is hard (https://cccfr.de/wiki/freifunk:verueckte_ideen_und_unbeantwortete_fragen?&#decode_alfred_stuff)
i let out the hostname, you could get it via the mac anyway and this way you get a very nice alfred json like
{ "e8:ca:ff:ee:af:fe", "b...569511592...35115b74cce21fc18a65656\x0a" },
(only the \x0a is annoying) - hope this helps ..
i am interestet in your skripts by the way.

@MichaelSasser
Copy link
Author

Hi, @viisauksena thank you for your help. I have solved it with a package (package: https://github.com/Real-Instruments/packages with that site conf: https://github.com/Real-Instruments/site-ffwp/tree/testing ). I think it's like @tcatm says. It might be fit into the Community Repo. The script is currently in development (you will find the lib there: https://github.com/Real-Instruments/fflib ). By now i'm in a conflict with myself. I am not sure if it's the right way to "finish" the script. While I'm developing this lib I have noticed that the lib will run into a big privacy issue. With the combined data sources you are able to see a way too much informations, so it's very easy to track different things about the node owners and probably the users.

@viisauksena
Copy link
Contributor

the privacy issue does not start here -- the only thing here is that you can do something like Man-in-the-middle between node and supernode. But this is mostly not secured anyway - so a bogus wannabe supernode can accept any whatsoever fastd key from you node and being fucked up.

the privace issue (offtopic) begins straight with using batman-adv and the layer 2 network. In this network it is neccessary to now all other clients by their mac-address. And you have to know how to reach them, so you know their actual connected nodes. And while many Freifunk comunitys speak proudly of node infos (in Terms of Names, overall users, and geodata, datathrouput, connected clients, availibility) you can easily know what Mac address visited what Party (social network datamining) and with whom this mac address wanders home - or maybe not so home. Who else was on this party or demonstration and so on ..
At this point only by their mac, a valuable perfect identifier for any profile.

sure you need to correlate mac to somebody - but this is the same magic as with gsm-mobile phones - you only have to make one "mistake" ... login to google at a bogus node.
Than you got a profile - you can connect it to email adress and name and so on...
And the only thing you have to do is being inside this open Network as a node (as sombdy who speaks Batman inside the net)
you actually dont have to care about what kind of traffic they generate .. the more interesting is mostly where, with whom, how long and direction.
the tiny little extra infos from fastd-key are just the cherry on top of a realy big sweet surveillance cake

@rotanid rotanid added 2. status: rfc request for comments 0. type: enhancement The changeset is an enhancement and removed 2. status: rfc request for comments labels Aug 22, 2016
@mweinelt
Copy link
Contributor

Fixed in 42763d2

SvenRoederer pushed a commit to SvenRoederer/freifunk-gluon_core that referenced this issue Sep 29, 2019
Included changes:

a66c088 luci-app-firewall: limit zone name length to 11 characters
4b048cd applications/asterisk: Remove incorrect dependency
eb1ff5b Move libubus-lua dependency to luci-base
d38c239 luci-app-diag-devinfo: mark broken due to dependencies
103e5a3 luci-app-statistics: Adjust ping graphs to show target hosts separately
ae4f8d5 luci-app-statistics: improve scaling of the associated stations graph
18d9c67 luci-app-statistics: backport 'reorder interface and netlink datasources'
8a9ff2b luci-app-statistics: add support for sorting RRD data sources
d4b293b luci-app-statistics: improve diagram generation, add missing title
7b3fea1 luci-app-statistics: rework graph label handling
c8b12e7 Backport luci-base: filter invalid opkg status lines
ce5c787 for-15.05 opkg/packages: Show package size in list of available packages
3e19939 for-15.05: Sync translations
fcc24db luci.mk: correct SK language name to Slovak
ce4ee38 luci-app-statistics: reorganise menu items
321864a luci-base: change index.html to be more like current themes
4bff628 luci-base: Add cache control in index.html
94d8e86 Timezone information: update to 2015g
8832d53 luci-mod-admin-full: status: survive broken DSL status output
f21eb78 luci-app-statistics: only render index view for more than one instance
af9f093 luci-mod-admin-full: fix dnsmasq no-hosts/addn-hosts options
6787a0a for-15.05 luci-base: set default mediaurlbase to bootstrap (default theme)
0b72c51 for-15.05 luci-mod-admin-full: opkg config / prevent word-wrap
5e7c0f0 for-15.05 luci-mod-admin-full: restore opkg feed config capability
720f76c for-15.05 luci-app-firewall: use maxlength datatype for zone name validation
342af52 Merge pull request freifunk-gluon#486 from dwmw2/for-15.05
75327e3 luci/statistics: Fix nut UPS graphs
30f6fe8 Merge pull request freifunk-gluon#474 from hnyman/entropy-1505
d91f0ef statistics: remove references to Lucid from scripts
8e156d6 statistics: adjust default settings to match default plugins
a2a61aa statistics: cleanup config file
8b1de85 for-15.05 statistics: Add support for entropy stats
3836b45 Luci opkg/packages: Limit version string display to 26 chars
b179283 statistics: fix typo
8d2b570 Merge pull request freifunk-gluon#455 from hnyman/backport-stats
7167d97 statistics: clarify CPU/processor graph by removing "idle" from it
27ca079 statistics: clarify stats introduction
f6a4436 statistics: memory plugin - improve graph by better scaling of y-axis
119eaf2 statistics: support rrdtool's alt_autoscale and alt_autoscale_max options
18593ec statistics: cpu graph - add label definitions, add softirq and interrupt stats
791ca8b Delete luci-upnp
21cf10c Merge pull request freifunk-gluon#445 from hnyman/for-15.05
36a7fb4 statistics: fix ping graph label regression
22f687d http.protocol: Support filehandlers for unhandled encodings
7d8163e Merge pull request freifunk-gluon#442 from hnyman/for-15.05
428d181 for-15:05: Timezone information: update to 2015f
c595f30 luci-app-vnstat: Fix blank graphs for iface names with underscores
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. type: enhancement The changeset is an enhancement
Projects
None yet
Development

No branches or pull requests

7 participants