#social 2017-06-02
2017-06-02 UTC
# saranix I actually don't think it's as complicated as you guys are making it out to be. As you say, the current way people do it often times is they will just tell certain people about the account switch. This can be digitized in the form of a private message of a certain type ("hey, you can find me here now, [sig from old accout key]"-- then parties receiving that message can go through all of their old communications and update old urls to the new location [CUT]
# saranix parties==bots
# saranix in case that wasn't clear
# saranix I thought diaspora was already planning to add such a message. Zot can do it by abusing the "clone" feature, but it isn't fully impl in hubzilla as a seamless ux yet.
# saranix for a broader interop spec, it a useful thing would be a list of url translations (regex?) so that e.g. note, photo, etc. links could be properly updated with each of their various impl specific schemes
# saranix !tell tantek I was wondering what were the reasons that W3 started switching to github 'issues' and what are they 'switching' from?
# astronouth7303 i still think that federated identity (being able to group together many agent URLs as the same entity) handles this kind of thing well, as well as a bunch of other use cases
ben_thatmustbeme and tcit joined the channel
# ajordan ben_thatmustbeme: something we discussed on the SocialCG call was that while DM'ing people/posting a notice works for people, it breaks machine-readable interop in a big big way. which is unfortunate since first-class interop/machine-friendliness is one of the reasons the stuff we're working on is so much better than silos (IMO at least)
timbl joined the channel
# ben_thatmustbeme ajordan: there is a difference between machine readable and automatic action. Nothing prevents a special post or message type that is a (I migrated my account, my old/new one was/is X) but I think that must be user moderated. A user manually seems it, and a receiving user manually approves it. Having some move of all data to a new account location and redirect all old accounts, etc, is a hugely more ambitious goal.
# ben_thatmustbeme Maybe a simple flag that you can set on a user account that has a link to the new account is all that you really need.
# ben_thatmustbeme I find a post and the system can look up the use and sees, oh, hey, new user URL is X.... UI can do whatever with that
# ben_thatmustbeme I'm a big believer in solve the simplest solution first and then see if thats actually all you need
jankusanagi_ joined the channel
# cwebber2 annando answered what I was looking for https://github.com/swicg/general/issues/1#issuecomment-305746256
# Loqi [annando] @cwebber Friendica uses a special method to create a unique guid: https://github.com/friendica/friendica/blob/develop/boot.php#L799-L816
Means: The first few bytes are the CRC32 hash of the hostname. This is followed by characters that are created...
# astronouth7303 you can verify if someone is the originator, and could (with sufficient computation) reverse it to a pile of potential originators
# ben_thatmustbeme fullurl++
# ben_thatmustbeme the problem is that right now you have authoritative and non-authoritative in the same space
# ben_thatmustbeme with using the full URL that is
# astronouth7303 so you'd need a domain with a CRC32 collision in order to spoof the ID
# astronouth7303 (not hard, but can't use an arbitrary domain)
# astronouth7303 even if it does, CRC32 is pretty far down the collision-difficulty tree
# astronouth7303 i'd rank it pretty far down MD5 or even MD4
# astronouth7303 yeah
# astronouth7303 even if you brute-force it, it's fast and simple
# astronouth7303 and if you wanted to apply intelligence, it's trivial
# astronouth7303 it's more like a shard key for the id space
# astronouth7303 security: none
# astronouth7303 helps prevent collisions in a massively-parallel system, but doesn't provide significant security
# astronouth7303 ok, there's only like 8 public servers? At this point, any collisions are most likely malicious
# astronouth7303 (birthday problem of 8 people into 2^32 birthdays)
timbl joined the channel
# cwebber2 aaronpk: regarding monoculture, friendica/zot are like the only ones who have implemented like every protocol... so while I think this id thing seems like a bug in the protocol (and maybe a serious one), they're also probably some of the champions of the federation world in breaking down monocultures by implementing protocols
# saranix zot++
# jaywink I suggest reading the diaspora protocol spec (which is basically what friendica does) if you're interested in how security works. it might not be the clearest but the details are there, in the signatures section: https://diaspora.github.io/diaspora_federation/
# astronouth7303 https://dir.friendica.social/servers
# jaywink https://the-federation.info/ lists 54 active friendica servers and I know for a fact it's more hundreds since not all have the diaspora plugin active
# astronouth7303 linked from http://friendi.ca/find-a-server/
# nightpool yeah the crc32 thing doesn't solve that
# nightpool My understanding is that it also allows you to spoof references
# nightpool So like, if a post referenced another post in some way, it would do it by guid
# nightpool and an attacker had gotten to that guid first, well.....
# jaywink hmmm so you mean server A posts to server B but attacker server C posts it to server D using their own signing, someone would later maybe deliver something like a comment to server B referencing post by server A but it would end up under the post of server C? thats seems... not sure on what checks the servers do, whether or not the comment would be rejected or accepted
# nightpool That's a little complex, but yeah
# nightpool Say I have a quote-post, like on twitter
# nightpool So I make post B, which quotes post A and says "right on!"
# nightpool That post gets federated to server 1
# nightpool But a clever attacker, who already had seen post A and was like "wow, I bet a bunch of people are going to agree with this post"
# nightpool Created post A' with the same guid, and spread it around to all of the servers they knew about
# nightpool so when post B arrives, server 1 is like "oh, I already know post A, so I don't have to look it up"
# nightpool and displays post B with A' embedded, instead of A.
# nightpool anyway, this is people like URLs :D they come with authority and verification already solved
# jaywink I talked about diaspora protocol and it seems for comments/likes that kind of thing will not be possible. The reason is that according to the spec (my complex example) server D would only accept comments to server C's post from server C - since comments/likes always come from the originating server (by relaying). now relating to reshare (quote example), they'll make sure sufficient checks are in place