Protocolo de federación de Google Wave


El Protocolo de federación de Wave (anteriormente Protocolo de federación de Google Wave ) es un protocolo abierto , extensión del Protocolo de presencia y mensajería extensible (XMPP) que se utiliza en Apache Wave . Está diseñado para una comunicación casi en tiempo real entre los servidores de ondas de trabajo cooperativo asistidos por computadora .

Todavía actualmente en desarrollo, el Protocolo de federación de ondas es un protocolo abierto que pretende ser paralelo a la apertura del protocolo de correo electrónico para que las ondas puedan suceder al correo electrónico como la forma dominante de comunicación en Internet. [1] [2] [3] [4] [5]

Dado que el protocolo está abierto, cualquiera puede convertirse en proveedor de olas y compartir olas con otros. Al igual que el correo electrónico , la comunicación es posible independientemente del proveedor. Por ejemplo, las organizaciones pueden operar como proveedores de wave para sus miembros, un individuo puede ejecutar un servidor de wave privado para un solo usuario o miembros de la familia, y un proveedor de servicios de Internet puede ejecutar un servicio de wave como otro servicio de Internet para sus usuarios como complemento de correo electrónico, mensajería instantánea , FTP , etc. En este modelo, Google Wave es uno de los muchos proveedores de Wave. [4] [5]

El código fuente de Java para "Google Wave Federation Prototype Server" se publicó en un repositorio de Mercurial en julio de 2009 bajo la Licencia Apache 2.0. [6] [7]

Algunas características del protocolo de presencia y mensajería extensible heredadas por el protocolo de federación de olas son el descubrimiento de direcciones IP y números de puerto, el uso de registros SRV del sistema de nombres de dominio (DNS) y la autenticación y el cifrado TLS .de conexiones El transporte XMPP cifra las operaciones a nivel de transporte. Por lo tanto, solo brinda seguridad criptográfica entre servidores conectados directamente entre sí. Una capa adicional de criptografía proporciona autenticación de extremo a extremo entre proveedores de wave mediante firmas y certificados criptográficos, lo que permite que todos los proveedores de wavelet verifiquen las propiedades de la operación. Por lo tanto, un proveedor de wave aguas abajo puede verificar que el proveedor de wave no está falsificando operaciones de wavelet. No debería poder afirmar falsamente que una operación de wavelet se originó en un usuario de otro proveedor de wave o que se originó en un contexto diferente. Esto soluciona la situación en la que dos usuarios de diferentes proveedores de wave confiables son participantes de un wavelet alojado en un proveedor malicioso.El protocolo requiere que cada participante firme las operaciones de su usuario con su propio certificado. Las firmas de todas las operaciones remitidas por el anfitrión serán evaluadas por los participantes. Esto es para evitar que los hosts maliciosos alteren o falsifiquen el contenido de los mensajes del usuario de otros servicios. Todas las firmas y verificaciones las realizan los proveedores de Wave, no el software cliente de los usuarios finales.[4] [5]

Todas las wave y wavelets (ondas secundarias) se identifican mediante un ID de onda único a nivel mundial, que es un nombre de dominio y una cadena de ID. El nombre de dominio identifica el proveedor de wave donde se originó la wave. Waves y wavelets están alojados por el proveedor de wave del creador. Los wavelets en la misma wave pueden estar hospedados por diferentes proveedores de wave. Sin embargo, los datos de usuario no están federados; es decir, no compartido con otros proveedores de olas. También son posibles wavelets de respuesta privada, de los cuales otros participantes no tienen conocimiento ni acceso. Si se envía una wavelet privada entre usuarios en el mismo proveedor de wave, no se federa independientemente de dónde esté alojada la wave principal. [4] [5]