{"id":13006,"date":"2022-03-22T12:39:42","date_gmt":"2022-03-22T11:39:42","guid":{"rendered":"https:\/\/inlab.fib.upc.edu\/uncategorized-ca\/flowcrypt-chrome-extension-message-encryption\/2022\/"},"modified":"2023-05-24T09:17:17","modified_gmt":"2023-05-24T08:17:17","slug":"flowcrypt-chrome-extension-message-encryption","status":"publish","type":"post","link":"https:\/\/inlab.fib.upc.edu\/en\/news\/flowcrypt-chrome-extension-message-encryption","title":{"rendered":"FlowCrypt the Chrome extension for message encryption"},"content":{"rendered":"<p class=\"rtejustify\"><span style=\"text-align: justify; font-size: 13px;\">It is common to find ourselves in situations where we have to send documents with sensitive information by email, or share passwords via WhatsApp or Slack. The moment this sensitive information is sent, we give up the certainty that the information remains private. We may think that by using the HTTPS communication protocol we ensure that no one can capture the traffic and see the information, but the problem lies in the fact that it will be private as long as the company offering the service we use (Gmail, Slack , etc.) respects privacy or, putting us in a worse situation, all the data we store, including our private documents or passwords, is leaked.<\/span><\/p>\n<p class=\"rtejustify\"><span style=\"text-align: justify;\">To avoid possible problems, it is important to get into the habit of encrypting all this information so that only we and those we allow can read it.<\/span><\/p>\n<p class=\"rtejustify\"><span style=\"text-align: justify;\">FlowCrypt is a Google Chrome extension that allows us to send encrypted and signed e-mails. It makes use of PGP (&#8220;Prety Good Privacy&#8221;), a protocol that allows sending encrypted documents using asymmetric cryptography. We can add the tool directly to our browser from the official website.<\/span><\/p>\n<p class=\"rtejustify\"><span style=\"text-align: justify;\">Before going into detail on how to use this tool, we will explain how asymmetric cryptography works.<\/span><\/p>\n<h2><strong>What is asymmetric cryptography?<\/strong><\/h2>\n<p class=\"rtejustify\">In asymmetric cryptography, each user has a <span style=\"color: rgb(51, 204, 51); text-align: justify;\">public<\/span> key and a <span style=\"color: rgb(255, 0, 0); text-align: justify;\">private<\/span>&nbsp;key. The <span style=\"color: rgb(51, 204, 51); text-align: justify;\">public<\/span> key can be shared with anyone who wants to send encrypted data to you, but the <span style=\"color: rgb(255, 0, 0); text-align: justify;\">private<\/span> key should only be known to the user himself. If user <strong>A<\/strong> wants to send an encrypted email to user <strong>B<\/strong>, he will take user <strong>B<\/strong>&#8216;s <span style=\"color: rgb(51, 204, 51); text-align: justify;\">public<\/span>&nbsp;key and use it to encrypt the message. This encrypted message can only be decrypted by <strong>B<\/strong>&#8216;s <span style=\"color: rgb(255, 0, 0); text-align: justify;\">private<\/span> key, thus achieving privacy, since only <strong>B<\/strong> knows his <span style=\"color: rgb(255, 0, 0); text-align: justify;\">private<\/span> key and is the only user capable of decrypting the message.<\/p>\n<p class=\"rtejustify\">An easy way to visualize this is to see the <span style=\"color: rgb(51, 204, 51); text-align: justify;\">public<\/span> key as if it were a padlock and the <span style=\"color: rgb(255, 0, 0); text-align: justify;\">private<\/span> key as if it were a key. Everyone will be able to take the <span style=\"color: rgb(0, 128, 0);\">padlock<\/span> offered by <strong>B<\/strong> and use it to close the messages, but only <strong>B<\/strong> has the key to open this <span style=\"color:#008000;\">padlock<\/span> and, therefore, the only one who will be able to read the messages.<\/p>\n<p class=\"rtecenter\"><img decoding=\"async\" class=\" size-full wp-image-12974\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-1.png\" style=\"width: 220px; height: 200px;\" width=\"220\" height=\"200\" \/><\/p>\n<p class=\"rtecenter\"><em>Example of the use of asymmetric cryptography (1)<\/em><\/p>\n<p class=\"rtejustify\">We don&#8217;t need to worry about encryption algorithms, as the FlowCrypt tool already handles it for us. A detailed guide on how to install, configure and make use of this tool will be explained below.<\/p>\n<h2 class=\"rtejustify\"><strong>Installation Guide<\/strong><\/h2>\n<h3 class=\"rtejustify\"><strong>1. Add extension<\/strong><\/h3>\n<p class=\"rtejustify\">\u200bIt is important to be using the Chrome browser. The first step is to go to the official website and download and add the extension directly to the browser by clicking the green button shown in the image.<\/p>\n<p class=\"rtecenter\"><img fetchpriority=\"high\" decoding=\"async\" class=\" size-full wp-image-12977\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-2.png\" style=\"width: 400px; height: 219px;\" width=\"908\" height=\"498\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-2.png 908w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-2-300x165.png 300w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-2-768x421.png 768w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/p>\n<p class=\"rtecenter\"><em>FlowCrypt official website, Source: Own elaboration.&nbsp;<\/em><\/p>\n<p class=\"rtejustify\">It will redirect us to the Chrome Web Store page, and there we must click on &#8220;Add to Chrome&#8221;. An alert will pop up asking for confirmation if we want to add the extension to our browser, which we must accept. A few seconds later we will have the extension. Next to the profile image of the Google session we will see the icons of the extensions we have installed in the browser where FlowCrypt should appear.<\/p>\n<p class=\"rtecenter\"><img decoding=\"async\" class=\" size-full wp-image-12980\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-3.png\" style=\"width: 400px; height: 343px;\" width=\"699\" height=\"600\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-3.png 699w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-3-300x258.png 300w\" sizes=\"(max-width: 699px) 100vw, 699px\" \/><\/p>\n<p class=\"rtecenter\"><em>Browser extensions in which the FlowCrypt extension can be seen. Source: Own elaboration<\/em><\/p>\n<h3><strong>2. Configuration<\/strong><\/h3>\n<p class=\"rtejustify\">If we click on the icon or name of the extension, we will be redirected to a configuration page of the extension. The first step is to log in to the Google account we want to use FlowCrypt with and accept the permissions and conditions.<\/p>\n<p class=\"rtejustify\">The next step is to generate our keys. As this is the first time we do this, we do not have any private key and we must generate a new one, we will choose the first option: <strong>New Encryption Key<\/strong>. In case we already have one, we would choose the other option.<\/p>\n<h3 class=\"rtecenter\"><strong>\u200b<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-12983\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-4.png\" style=\"width: 400px; height: 187px;\" width=\"960\" height=\"449\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-4.png 960w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-4-300x140.png 300w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-4-768x359.png 768w\" sizes=\"(max-width: 960px) 100vw, 960px\" \/><\/strong><\/h3>\n<p class=\"rtecenter\"><em>Selection menu after Log-in. Source: Own elaboration<\/em><\/p>\n<p class=\"rtejustify\">Next you will have us create a pass phrase. It acts like a password, but it is intended to be as secure as possible, so a simple password like &#8220;passord123&#8221; will not be valid. I recommend using a password manager, such as Bitwarden or Keepass, to create and store passwords securely without having to remember them all. Do not activate the &#8220;Remember Pass Phrase&#8221; option and never save the password in an Excel, notepad, post-it&#8230;<\/p>\n<p class=\"rtejustify\">The other two options are left enabled. The configuration should be as shown in the following image. It is worth mentioning that the last option allows us to choose what type of password we want to use. Of the four offered, RSA 2048 is the one we recommend the least, as it is the shortest and the easiest to find compared to the other keys offered.<\/p>\n<p class=\"rtecenter\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-12986\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-5.png\" style=\"width: 400px; height: 262px;\" width=\"915\" height=\"600\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-5.png 915w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-5-300x197.png 300w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-5-768x504.png 768w\" sizes=\"(max-width: 915px) 100vw, 915px\" \/><\/p>\n<p class=\"rtecenter\"><em>Encryption-key generation and configuration. Source: Own elaboration<\/em><\/p>\n<p class=\"rtejustify\">We must not confuse this pass phrase with our private key. The pass phrase is simply a password to verify in the extension that it is us and not someone who wants to impersonate us using our private key.<\/p>\n<p class=\"rtejustify\">To check that everything has been done correctly, if we go to our Gmail we can see that on the &#8220;Compose&#8221; option there is a new option &#8220;Secure Compose&#8221; with the FlowCrypt logo. We will also have received two emails, one with information and the other with a backup of our private key.<\/p>\n<p class=\"rtecenter\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-12989\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-6.png\" style=\"width: 200px; height: 344px;\" width=\"278\" height=\"478\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-6.png 278w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-6-174x300.png 174w\" sizes=\"(max-width: 278px) 100vw, 278px\" \/><\/p>\n<p class=\"rtecenter\"><em>New option to send mail in Gmail. Source: Own elaboration<\/em><\/p>\n<h3><strong>3. Sharing the public key<\/strong><\/h3>\n<p class=\"rtejustify\">When creating an account, a public and private key has already been generated, we do not have to worry about using them to encrypt anything, all this is already done by the application. But if someone wants to send us an encrypted message, they will need our public key. To find it, go back to the FlowCrypt extension settings. You will see a drop-down menu and click on the gear that indicates configuration. A window like the one shown in the image will appear. Go to Additional Settings<\/p>\n<p class=\"rtecenter\"><em><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-12992\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-7.png\" style=\"width: 400px; height: 259px;\" width=\"927\" height=\"600\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-7.png 927w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-7-300x194.png 300w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-7-768x497.png 768w\" sizes=\"(max-width: 927px) 100vw, 927px\" \/><\/em><\/p>\n<p class=\"rtecenter\"><em>Configuration menu. Source: Own elaboration<\/em><\/p>\n<p class=\"rtejustify\">A window similar to the previous one will appear, but with new options. We will go to the first one, where it says Public Key. There we will be able to see our public and private key, but we are only interested in sharing the public one. We can see that there are several options. We can download it in a file and send the file, copy and paste it to the clipboard, or share the link they propose us. Don&#8217;t worry about sending this key by any unsecured communication channel, you are only sharing the public key, which as the name indicates, it&#8217;s okay, everyone can see it.<\/p>\n<p class=\"rtecenter\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-12995\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-8.png\" style=\"width: 350px; height: 329px;\" width=\"639\" height=\"600\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-8.png 639w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-8-300x282.png 300w\" sizes=\"(max-width: 639px) 100vw, 639px\" \/><\/p>\n<p class=\"rtecenter\"><em>Menu for copying and saving public and private keys. Source: Own elaboration<\/em><\/p>\n<h3><strong>4. Import public key<\/strong><\/h3>\n<p class=\"rtejustify\">In case we want to send an encrypted message to another user, we will need his public key first. We will assume that this user has already sent us his public key in a previous email. To import their key, we will go back to the Additional Settings. Once there, we will go to Contacts and then to import public key. We will see a space where we can attach the public key that we have received. Click on Show Content and if the key is correct, we will see the Gmail corresponding to that key. Once we confirm, we will be able to send encrypted emails to that email address.<\/p>\n<p class=\"rtecenter\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-12998\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-9.png\" style=\"width: 400px; height: 329px;\" width=\"730\" height=\"600\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-9.png 730w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-9-300x247.png 300w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><\/p>\n<p class=\"rtecenter\"><em>Menu that allows importing public keys from other users. Source: own elaboration.<\/em><\/p>\n<p class=\"rtejustify\">Once we have reached this point, we already have all the necessary configuration to use the tool correctly. We will have to import all the public keys of everyone with whom we want to exchange encrypted information.<\/p>\n<h2><strong>Encrypt and sign messages<\/strong><\/h2>\n<p class=\"rtejustify\">Sending encrypted messages is just as easy as sending normal messages. Go to Gmail and instead of clicking on &#8220;Compose&#8221;, click on &#8220;Secure Compose&#8221;. You will see an interface for composing an email very similar to the normal one, but with a green color. To perform the test, we will send an email to two users, one of whom we do not have his public key. The Gmails for which we do not have the public key will be grayed out, while the others will be green. We cannot send this email, since we cannot encrypt the message for one of the recipients. FlowCrypt offers the functionality to add a password, so the message will be encrypted with this password and the user (whose public key is not available) will also need it to read the message.<\/p>\n<p class=\"rtecenter\"><img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-13001\" alt=\"\" src=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-10.png\" style=\"width: 300px; height: 336px;\" width=\"535\" height=\"600\" srcset=\"https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-10.png 535w, https:\/\/inlab.fib.upc.edu\/wp-content\/uploads\/2022\/03\/fc-10-268x300.png 268w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/p>\n<p class=\"rtecenter\"><em>Example of encrypted mail in which we do not have a recipient&#8217;s public key. Source: Own elaboration.<\/em><\/p>\n<p class=\"rtejustify\">If instead of encrypting the email, we only want to sign it, we must click on the drop-down menu where it says &#8220;Encrypt, Sign and Send&#8221; and select only &#8220;Sign&#8221; (deselecting the Encrypt). We can see that we can send signed messages to users whose public key we do not have.<\/p>\n<p class=\"rtejustify\">Signing an e-mail will not encrypt its contents, but it will allow the recipients to confirm that we are the owners of that signature and, therefore, also of that e-mail.<\/p>\n<p class=\"rtejustify\">Finally, e-mails that we receive and are encrypted will be automatically decrypted as long as we are logged in to the extension (by entering our pass-phrase), otherwise, three dots will appear indicating that we cannot read their contents.<\/p>\n<h2 class=\"rtejustify\"><strong>Bibliography<\/strong><\/h2>\n<ul>\n<li class=\"rtejustify\">(1)&nbsp;https:\/\/en.wikipedia.org\/wiki\/User:Davidgothberg#\/media\/File:Public_key_signing.svg<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>It is common to find ourselves in situations where we have to send documents with sensitive information by email, or share passwords via WhatsApp or Slack. The moment this sensitive information is sent, we give up the certainty that the information remains private. We may think that by using the HTTPS communication protocol we ensure [&hellip;]<\/p>\n","protected":false},"author":1211,"featured_media":12971,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[571],"tags":[],"experteses":[20],"class_list":["post-13006","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","experteses-cybersecurity-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/posts\/13006","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/users\/1211"}],"replies":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/comments?post=13006"}],"version-history":[{"count":1,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/posts\/13006\/revisions"}],"predecessor-version":[{"id":20815,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/posts\/13006\/revisions\/20815"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/media\/12971"}],"wp:attachment":[{"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/media?parent=13006"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/categories?post=13006"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/tags?post=13006"},{"taxonomy":"experteses","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/en\/wp-json\/wp\/v2\/experteses?post=13006"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}