Cifrando redes sociales

Este es tu lugar para hablar de programación, compartir, crear y desarrollar nuevos proyectos

Moderador: Moderadores

Cifrando redes sociales

Notapor NewLog » Mié Feb 20, 2013 3:55 pm

Hola Wadalbertitas,

Bueno, como estoy haciendo spam por todos lados, no puede faltar Wadalbertia.
Tengo en mente intentar implementar un nuevo proyecto. Se basará en cifrar las publicaciones de los usuarios de redes sociales antes de que estas se almacenen en la red social, y, a la vez, descifrar las publicaciones previamente cifradas. Todo esto se llevará a cabo a través de una extensión para el navegador.

Lo cierto es que es largo de explicar. Aquí os engancho lo que he escrito en Overflowed Minds:

Hola a todos!

Os explico lo que se me ha ocurrido.

Mi idea sería desarrollar una extensión/addon, o como queráis llamarlo, para el navegador. Por ejemplo para Chrome o Firefox.
Estas extensiones se programan con HTML, CSS y Javascript.

La extensión serviría para cifrar las publicaciones de un usuario antes de que éstas se envíen a la red social en cuestión (facebook o G+, por ejemplo). Al estilo de "tamper data", cuando el usuario envíe la publicación, ésta se filtrará, se cifrará y se enviará.
De modo contrario, cuando el usuario visite una publicación cifrada, la extensión descifrará su contenido sin que el usuario se de cuenta.

Quedan ciertas preguntas a responder.
  1. ¿Cómo funciona el cifrado y descifrado de las publicaciones?
  2. ¿Qué conseguimos con esto?

  1. La idea es que como usuario de la extensión tendrás una clave pública y una clave privada. Cuando otro usuario publique algo lo cifrará x veces, donde x es el número de contactos que tenga en la extensión. El cifrado se realizará con la clave pública de cada usuario. Por ejemplo, si publicara "Hola" y tuviera dos contactos con claves PK1 y PK2 respectivamente, cifraría "Hola" con PK1 y por separado volvería a cifrar "Hola" con PK2. Así pues, tenemos que una publicación se duplicaría por tantos contactos como el usuario tuviera en la extensión.
    En el momento de descifrar, la extensión leería el contenido de la página de la red social. La parsearía en busca de nombres de usuario que coincidiéran con los nombres de los contactos de la extensión. Si encontrara alguna coincidencia, descifraría el contenido de la publicación con la clave privada almacenada en la extensión y modificaría el código fuente de la red social para mostrar el contenido de la publicación descifrado.
  2. Evidentemente lo que intentamos es luchar contra la vigilancia masiva a la que estamos sometidos.
    Pero lo más importante es que lo conseguiremos sin ningún tipo de complejidad a nivel de usuario. Todo se reduce a instalar una extensión (dos clics) y añadir usuarios junto con su clave a la extensión.
    Hoy en día, en teoría es posible limitar la gente a la que llegan tus publicaciones a través de políticas de amigos, etc. Sin embargo, empresas como Facebook o Google pueden negociar con tus datos y los gobiernos puedes acceder a ellos siempre que quieran. Aunque hoy por hoy el problema no parezca tan grave bajo un ingenuo pensamiento, lo cierto es que nos encontramos en un punto de inflexión. De nuestras acciones actuales depende el futuro de internet y su neutralidad. Hoy por hoy nada nos asegura que en un futuro internet no sea censurado sin fin. En los últimos años hemos empezado a ver iniciativas en pos de ello, el gobierno chino, SOPA, PIPA, la ley Sinde. Demasiados intentos ya.


Todo esto se puede llevar a cabo con una extensión ya que tanto en Firefox como en Chrome las extensiones permiten almacenar contenido en el ordenador del usuario (nombre de los contactos, sus claves públicas y privadas, y tu clave pública y privada), filtrar datos vía POST o GET (al estilo tamper data) o hasta AJAX (lo he visto en Chrome), modificar el código fuente de las páginas que visualiza el usuario y, por último, con la librería en javascript se podría implementar la criptografía de clave pública.

Espero vuestras opiniones y vuestra ayuda. Recordar que el futuro depende de nosotros, los desarrolladores. Somos los arquitectos. Ya sabéis, un gran poder conlleva una gran responsabilidad :·P


La fuente aquí.

Os agradecería vuestras opiniones, vuestra ayuda o vuestra difusión.
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Cifrando redes sociales

Notapor okahei » Mié Feb 20, 2013 5:35 pm

1) Asymmetries. This kind of project will inevitably demand a lot of
ongoing effort. If you write this as a browser extension, you're going
to have to be parsing the DOM of whatever website you'd like to provide
transparent encryption/decryption for. That means every time their DOM
changes, you'll have to update your software -- and it's a lot easier
for them to change their DOM than it is for you to identify the changes,
modify your software, test your changes, and then push them out to all
your users. This is ultimately what led to the failure of projects that
have tried this with encryption for webmail (such as firegpg) in the past.

2) Insecurities. This will require implicit trust in the website. At
any time, the website could deliver javascript to a web browser that
copies data out of an input field before your extension encrypts it on
submit. Beyond the intentionally malicious, there are all kinds of ways
that this can go wrong in today's world: auto-save forms, auto-complete
forms, etc.. mean that data is constantly being transmitted as a user
types. It's not as simple as catching a form submit event and taking an
action.


Ahí está la miga, que para ponerte a hacer un man in the middle con peticiones AJAX (tienes que capturar lo que va enviando javascript según escribes al server para cifrarlo) según va escribiendo "el luser en su caralibro" vas a alucinar para programarlo y que cuando te cambien algo tú vas a tener que debuguear durante largo tiempo para saber qué falla.

La idea es cojonuda, pero muy costosa de mantener.

Y ahora que lo pienso podrías meter en escena un servidor a parte que fuese el que postea y lee las cosas de los "muros" (que es el que haría el trabajo sucio de cifrar y descifrar, eso sí un cachondeo padre tener tú en el server las llaves privadas :D )

Si lo haces estaré encantado de probarlo.

Un saludo.
Un saludo.
-<|:·)
Avatar de Usuario
okahei
-<|:·þ
-<|:·þ
 
Mensajes: 3715
Registrado: Sab Ene 29, 2005 12:12 pm

Re: Cifrando redes sociales

Notapor NewLog » Mié Feb 20, 2013 5:43 pm

Doble hola okahei :lol:

Sobre lo que comentas de AJAX, crees que no sirve la respuesta que he dado a lo que se plantea en 2)?
Entiendo que todo esto que se ha comentado de enviar el formulario antes de que se envíe se debe hacer en Javascript (y no a nivel de servidor). Por lo tanto, la extensión tendrá acceso al código antes de que el usuario se ponga a escribir el post y podrá eliminar dicho código.

No te parece viable esta solución para 2)? Evidentemente es específica para cada red social y sus artimañas, pero lo que creo que es inevitable es que su código va a tener que pasar por la extensión para que el usuario lo ejecute y, por tanto, se podrá filtrar y eliminar.

Lo que tu entiendes por servidor extrapólalo a la extensión. Creo que si cambias servidor por extensión verás que, en teoría, ha de funcionar.

Hablamos!
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Cifrando redes sociales

Notapor NewLog » Mié Feb 20, 2013 5:45 pm

Para aclararlo más.

Por lo que he leído, las extensiones son capaces de hacer, básicamente, un man in the middle entre usuario y página web. Pueden capturar eventos, leer el código, etc.

Ya de paso dejo enlazado lo que me hace entender eso de las extensiones. Por un lado se pueden modificar los parámetros enviados al estilo Tamper Data.

http://stackoverflow.com/questions/8914 ... -extension

Por otro lado se puede modificar el código de la página web al estilo NoScript o AdBlock.
http://stackoverflow.com/questions/5797 ... -extension
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Cifrando redes sociales

Notapor konquet » Jue Feb 21, 2013 11:14 am

Mañana me lo leere todo mejor, por que aqui son las 10:00 y aun no he pillado la cama.

Dicho esto, aunque yo estoy solo en el primer escalon a lo que programacion se refiere. No me llama del todo...

Como opinion personal y retorciendome un poco la cabeza, que me gusta pensar en las cosas que aparentemente nadie piensa.... Te voy a exponer una situacion.

Tu tienes dicha extension hecha y funcionando, se la das a 4 o 5 amigos de los 30 que tengas. Por que la gran mayoria tenemos amigos en las redes sociales y tambien compañeros con los que no tratamos tanto, pero siempre estan hay. De estos amigos restantes que no pueden ver tu tablon por que no tienen el addon...
¿quedaria estupido tenerlos no?

Luego.. Si uno de estos amigos por "X" razon, te reporta (por alguna estupidez de motivo) por que piense que tengas el tablon averiado, por que se haya peleado contigo y te haya reportado por cualquier tonteria.
La compañia, lee el report y va a mirar tu perfil/tablon.

¿Podria acceder a el y leerlo? Si es si, ok. Si es no...¿ Esta compañia borraria tu cuenta? ¿Te daria un aviso ? sobre que tu tablon no les he visible... Luego me aborda la idea de si ese addon que mencionas, no viola las condiciones de uso de la red social o los derechos de la misma. "esos que todos aceptamos al ingresar y que casi nadie lee". Donde seguramente ponga, que autorizas al uso publicitario de tu perfil, si dicha compañia lo ve necesario.

Son las unicas dudas que me abordan ahora mismo y no relacionadas con la programacion del addon en si.

Dicho esto.. Yo tengo FB/G+/Tuenti. Pero Solo uso Tuenti.

Un saludo!
konquet
<|:-)
<|:-)
 
Mensajes: 261
Registrado: Vie Ene 19, 2007 8:48 pm

Re: Cifrando redes sociales

Notapor NewLog » Jue Feb 21, 2013 11:47 am

Buenas konquet!

konquet escribió:Tu tienes dicha extension hecha y funcionando, se la das a 4 o 5 amigos de los 30 que tengas. Por que la gran mayoria tenemos amigos en las redes sociales y tambien compañeros con los que no tratamos tanto, pero siempre estan hay. De estos amigos restantes que no pueden ver tu tablon por que no tienen el addon...
¿quedaria estupido tenerlos no?


No sé muy bien cómo contestar a lo que expones. Pero sí, es lo que tiene la criptografía, a quien no le das la clave no puede leer tus mensajes. De eso se trata. No hay vuelta de hoja. Si quieres que te lean, dales la clave (extensión) si no quieras que te lean, no se la des. Por otro lado, no siempre estás forzado a utilizar la extensión.

konquet escribió:(...) ¿Podria acceder a el y leerlo? Si es si, ok. Si es no...¿ Esta compañia borraria tu cuenta? ¿Te daria un aviso ? sobre que tu tablon no les he visible...


No, no podría. Si te borrara la cuenta significaría que el futuro que tememos está más cerca de lo que creemos. El día que se criminalice la criptografía y las personas que la utilicen sean perseguidas por ello, empezaremos a estar jodidos de verdad.

konquet escribió:Luego me aborda la idea de si ese addon que mencionas, no viola las condiciones de uso de la red social o los derechos de la misma. "esos que todos aceptamos al ingresar y que casi nadie lee". Donde seguramente ponga, que autorizas al uso publicitario de tu perfil, si dicha compañia lo ve necesario.


Si las condiciones de uso prohibieran el uso de criptografía estaríamos en el caso anterior. En cuanto a si en las condiciones de uso hay una cláusula del estilo "autorizar el uso publicitario de tu perfil", pues no infringes nada. Utiliza todo lo que publico con fines publicitarios, vende mis datos, haz lo que quieras con ellos. Aunque no creo que consigas nada :trollface. De nuevo, se trata de eso. No impides que utilicen tus datos, por tanto no infringirías nada. Como si quieres utilizar la red social para publicar "AAAAAAAAAAA" cada día.


Gracias por tu opinión ;)
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am

Re: Cifrando redes sociales

Notapor okahei » Sab Abr 13, 2013 10:20 am

Hola.

He recordado este hilo, estoy montando un ejabberd con OTR (http://en.wikipedia.org/wiki/Off-the-Record_Messaging) y me he topado con esta extensión para firefox/chrome :

https://crypto.cat/

Hace más o menos lo que pides (pero a través de xmpp, que es lo que usa caralibro/google etc etc)

Un saludo.
-<|:·)
Avatar de Usuario
okahei
-<|:·þ
-<|:·þ
 
Mensajes: 3715
Registrado: Sab Ene 29, 2005 12:12 pm

Re: Cifrando redes sociales

Notapor vlan7 » Sab Abr 13, 2013 8:21 pm

Esto es muy bueno...
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Re: Cifrando redes sociales

Notapor okahei » Dom Abr 14, 2013 1:48 am

La verdad es que montar un ejabberd con certificado y clientes OTR en el móvil (android/iphone) es bastante sencillo, también soporta escritorio (pidgin u otros).

Con Crypto.cat ya tenemos las pata que faltaba, el poder hacerlo a través de un cliente desde la web.

Lo único que no he podido hacer es implementar la autenticación de los usuarios a través de certificado de cliente válido. (pidgin lo permite, los clientes para android no (xabber y gibberbot)).

Un saludo.
-<|:·)
Avatar de Usuario
okahei
-<|:·þ
-<|:·þ
 
Mensajes: 3715
Registrado: Sab Ene 29, 2005 12:12 pm

Re: Cifrando redes sociales

Notapor okahei » Jue Jul 04, 2013 9:01 pm

http://securityspread.com/2013/07/04/cr ... mpromised/

Tela, por lo visto Wikileaks lo ha estado usando con gente en Syria....

Un saludo.
-<|:·)
Avatar de Usuario
okahei
-<|:·þ
-<|:·þ
 
Mensajes: 3715
Registrado: Sab Ene 29, 2005 12:12 pm

Re: Cifrando redes sociales

Notapor NewLog » Sab Jul 06, 2013 1:34 am

Muy bestia. He estado de vacaciones y lo he leído hoy. Vaya fail. Y eso que es open source...

Aquí la respuesta oficial: https://blog.crypto.cat/2013/07/new-cri ... t-details/


Por cierto, en cuanto a la aproximación de este hilo, encontré esto: http://www.priv.ly
Como veis es muy parecido a lo que propuse, sin embargo ellos no piensan en una aproximación ""peer to peer"" sino que de momento utilizan servidores centralizados para almacenar las publicaciones (al menos, la idea es que el usuario pueda utilizar el gestor de contenidos que prefiera).
Imagen
http://www.overflowedminds.net - Quieres introducirte al exploiting?
Avatar de Usuario
NewLog
<|:-D
<|:-D
 
Mensajes: 1130
Registrado: Sab Ene 14, 2006 1:03 am


Volver a Programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados

cron