For quite some time now, I've been thinking about a social networking website alternative, where you, as a user, can keep control of what you submit : who can see it, what can be seen, and most important, if you delete it, that it is really gone (at least from the website you originally put it on, as one can not be sure that something that is published on the internet can be completely removed from it). But I got an insight on how it could be done. It's only a rough idea, with a lot of conceptual and practical things still to be sorted out :
A way to reach this goal is to use encryption. When encrypting a message for instance with OpenPGP, you use the public keys of the ones that should be able to decrypt the message. To do so, they use their own - private - key, which is of course private, and can only be used by the one who owns it. So this way, only the ones you intend to be able to read your message will be able to read it.
So, in case of this conceptual open source social networking website, every user has a PGP-key. If you want to submit something to this website, for instance your place of birth, you encrypt it, using the public keys of a selection of your friends and submit that encrypted chunk of data to the website, where it is stored in the database.
If one of your friends accesses your page on this social networking website, all the data, in encrypted form, is requested from the website and decrypted using the private key of that friend. The data that was encrypted with that persons public key, will be decrypted, while the rest will remain unreadable, thus showing only the data that you intended for that person.
If on a later moment, you decide you want to change the list of people that will be able to consult your place of birth, you simple encrypt the same data with different keys and replace it in the database.
The kind of data you can encrypt is of course not limited to short texts, but can also be a picture, a piece of video, a link to a website, a piece of you DNA, ...
The upside of storing an encrypted version of the data you share, makes it unreadable to anyone who doesn't have the right decryption key. So even if your data remains in the database of the website, it will only be readable for the persons it was originally intended for. It will even not be readable by the maintainers of the website, unless you include their public key when encrypting.
So, the bottom line is that YOU should be able to keep control over your data. Encrypting the data is one thing, somewhat trusting the software that makes it happen and of course also the ones hosting it all, is as important.
And here the Open Source model comes in. The software is freely available, so the way it works can be checked and improved by the Open Source community.
And because the software is freely available, anyone can set up a social networking website. So as a user, you can choose who to trust when you join a group.
Of course, this is all just an idea and a very general concept.
One final remark : in order for this to work, the whole encryption mechanism should be invisible for the end user. And the encryption should be handled client side, for obvious reasons, otherwise the data you intend to be limited available, might end up unencrypted on some kind of server.
Wednesday, October 13, 2010
Open Source Social Networking
Posted by
Dieter Adriaenssens
at
23:19
0
comments
Labels: encryption, Open Source, social web
Friday, November 21, 2008
Social Web
Social networking websites are becoming more and more popular, and it's number is growing. Some websites provide a unique service, while other websites seem to be more of the same.
Some of your friends join one website while others join another, and both of them are requesting to join them on their website of choice.
After a while you have an account with several of those websites, and you start to notice you are providing the same information over and over again, on every of those websites : personal details, interests, schools you attended, employers you worked for.
And you have to (re)connect to your friends on every of those websites.
Not to mention when something changes, for instance when you change jobs, you have to change it on every website and hope you don't forget any of them.
Wouldn't it be convenient if all of the information you provide on those websites, can be shared between those websites? If you want to change something, you can do it in one place and all other social networking websites where you have an account adopt these changes automatically? If you add a friend on one website, and that friend has an account on another website where you have an account too, that this friend is added there as well?
I'm not the only one asking the same questions. And it seems some effort is put into creating a Social Web, where this kind of (personal) data can be shared between (social networking) websites in a open, easy and secure way.
These are a few of the initiatives :
No real usable application is available at the moment, not as far as I know, but the big players (MySpace, Facebook, Google, Twitter, Netlog, ...) are backing some of these initiatives.
Posted by
Dieter Adriaenssens
at
14:26
0
comments
Labels: internet, Open Source, security, semantic web, social web, structure