Secure IP communication

There has been much chatter about recently
15 June 2018


                                                But what is Matrix?

                                                Matrix is "An open protocol for secure, decentralized real time communication over IP." 
                                                Matrix’s goal is to fix the problem of fragmented IP communications: letting users message and call each other without having to care what app the other person is using - making it as easy as sending an email.

                                                The longer term goal is for Matrix to act as a generic HTTP messaging and data synchronization system for the whole web - allowing people, services and devices to communicate easily with each other, empowering users to own and control their data and select the services and vendors they want to use: https://matrix.org/blog/home/

                                                Matrix is a protocol  -  the inner workings as it were, but you need a client to use it

                                                There are two, or three (depending on how you look at it) clients (also can be casually called "apps") in the Open Store which you can use to message others.

                                                Each are in development at the time of writing, and offer slightly different experiences:

                                                1. uMatriks by Mikel Larrea and his developing team, especially Delijathi. uMatriks has avatars, reproduces images and emojis that have been posted, and has convergence.

                                                2. uMatriks mariogrip test a forked version of uMatriks by Marius Gripsgård. The mariogrip test version (of uMatriks) supports VoIP calls, and should be merged into uMatriks when it becomes stable.

                                                3. FluffyChat by Christian Pauly, FluffyChat has avatars, reproduces images, offers Notifications and the facility to sign up for a Matrix account.

                                                How secure is it Matrix?

                                                Server-server traffic is mandatory TLS from the outset. Server-client traffic mandates transport layer encryption other than for tinkering. Servers maintain a public/private key pair, and sign the integrity of all messages in the context of the historical conversation, preventing tampering. Server keys are distributed using a Perspectives-style system.

                                                End-to-end encryption (E2E) is now available in the various Riot.im builds. This allows you to encrypt both 1:1 and group chats to protect user data stored on servers, using the Olm cryptographic ratchet implementation. Read more on the blog post that announced the feature.

                                                However, the Matrix developers themselves say that it should not be considered secure. Encryption support is work in progress, and a complete security audit has not been performed on it. 

                                                Privacy of meta-data is not currently protected from server administrators which means, for example, a home server administrator can see who is talking to whom and when, but not what is being said if E2E encryption is enabled. E2E encryption is currently not available on any of the phone apps mentioned above, but you can adjust your settings prior to chatting, using one of the available clients from https://matrix.org/blog/try-matrix-now

                                                Using Matrix

                                                Before you can start using Matrix, you need to set up an account - this just requires a user name and password. So where do you get one? Well, interestingly enough, NOT on the Matrix website! Since Matrix is a "decentralized thing", you could have your account at matrix.org, but there are hundreds of other instances out there upon which your account could abide. Here is an unofficial list of public Matrix servers.

                                                To create your account, simply boot up your browser, and go to a web-based client such as Riot.im, or use FluffyChat to set one up.  Many Matrix fans get excited about running their own Matrix server (node).  If you are interested in doing that, please refer to the Matrix reference home server.

                                                Once your account is set up, and you're logged in with a client, you're ready to chat. But, how do you find anybody? Well you join a group. Just type in the group you want, e.g.:

                                                #ubports:matrix.org
                                                #UBportsOT:matrix.org
                                                #uMatriks:matrix.org

                                                You can also invite people either to a group that's already set up, or set up a group of your own - it's just the press of a button - and invite people there (by email or by Matrix account name).

                                                There is an interesting point to note as we discuss the term 'groups':  unlike other messaging platforms a which consider a conversation between just two people to be a 'chat' or a 'PM' while a conversation between three or more to be a 'group', in Matrix even a PM between two people is a 'group'.  This is actually a pretty revolutionary way to look at conversations since it's very much like reality where a conversation between two people regularly expands into someone else who is a good 'fit'.  Instantaneously that person can be added to the 'group of two'.

                                                Notifications

                                                Notifications work well in FluffyChat. Just toggle the button in the app's settings.

                                                Also check and amend the settings to your desire, in System Settings>Notifications>FluffyChat.

                                                However, it has been reported that you should ensure to set up your notifications as you want them in a client such as Riot.im (the browser-based app), or the notifications might not work correctly in your Ubuntu Touch client/app.

                                                Odoo text and image block

                                                Bridges

                                                Matrix is about making bridges between servers, and many bridges for many services like IRC, Slack, Twitter and Telegram are available. Ivan Semkin cleverly set up such a bridge to a Telegram group - this means that you can read everything written in the Telegram group, in your Ubuntu Touch Matrix app, and you can interact as if you were in the Telegram room itself. Matrix comments look a little unattractive for readers in the Telegram room (but happily not on your phone's Matrix app), and media - stickers, videos, gifs etc - are not able to be sent from Matrix to Telegram in this 'bridge mode'.

                                                Ivan says that the Telegram bridge is in alpha, so either these issues will be fixed in due course, or, development will continue and everyone will migrate to Matrix for the benefits mentioned in this blog.

                                                If you are interested in setting up a bridge for a Telegram group, [t2bot] provides a ready-to-use bridge. If you're interested in running a bridge on your home server, [Telematrix] is how it works under the hood.
                                                Odoo - Sample 1 for three columns

                                                uMatriks login screen

                                                 

                                                Odoo - Sample 3 for three columns

                                                FluffyChat login screen
















                                                  uMatriks video chat


                                                   

                                                  Odoo - Sample 2 for three columns

                                                  FluffyChat notifications

                                                   

                                                  Odoo - Sample 3 for three columns

                                                  FluffyChat bubble notification


                                                  What do you think of this app?

                                                  Please send your comments and suggestions through the box at the bottom of this blog.

                                                  Explore the full spectrum of Ubuntu Touch Apps at OpenStore - The official Ubuntu Touch app store.