Chapter 4: Information & Cryptography

“The world isn’t run by weapons anymore. Or energy. Or money. It’s run by little ones and zeroes. Little bits of data. It’s all just electrons.”


Sneakers, 1992

A comic from XKCD, a popular techy-nerdy comic strip. CC-BY-NC
https://xkcd.com/1683/

4.1 Information

4.2 Hiding Information

4.3 Certificates

4.4 Communication & Encryption


This is the original version of this book. This work is made available under the terms of a Creative Commons Attribution-NonCommercial-ShareAlike license.

4.1 Information

Learning Objectives

After studying this section you should be able to do the following:

  1. Identify the information security triad
  2. Provide examples of integrity issues in the real world

What is information?

Information is all around us. It’s everything. Talking to a friend? Your words are information. Your body language is information. Your intonation is information. Your friend is parsing the information into coherent, digestible pieces. Your friend is filtering out the background information and focusing on important information. Not only what you are saying, but how you are saying it. And why you’ve said one thing but omitted something else. There is information in voids of information. Even the clothes you are wearing tell a story; that’s information.

Information is the backbone of what we do and who we are. And now, more than ever, information is at a premium. The Economist declared data to be the most valuable resource in 2017[1]. You don’t have to look too far to see the implications of privacy concerns (Cambridge Analytica[2] was only the beginning - First American leaked 885 million bank transactions, Social Security Numbers, and more[3], Marriott Hotels suffered an attack that leaked data of 500 million guests[4], Lenovo inadvertently opened up 36 terabytes of network storage from customers[5], and let’s not forget Yahoo’s blunder of 3 billion accounts[6]). If you’re not counting, don’t worry. IdentityForce is. And you can see a log of big breaches at their website:

https://www.identityforce.com/blog/2019-data-breaches

But if breaches of personally identifying information (PII) don’t interest you (though they should terrorize you), just know that the race for information has pushed the needle in warfare to find, apprehend, and leverage information in a cyber world. Check out this quote from the 2019 WIRED Guide to Cyberwar[7]:

...a single cyberwar attack has already caused as much as $10 billion dollars in economic damage. Cyberwar has been used to terrorize individual companies and temporarily render entire governments comatose. It’s denied civilians of basic services like power and heat—if only briefly, so far—as well as longer-term deprivations of transportation and access to currency. Most disturbingly, cyberwar seems to be evolving in the hands of countries like Iran, North Korea, and Russia as they advance new disruptive and destructive cyberattack techniques.

The Information Security Triad

The analysis of information is trifurcated and is often referred to as the “Information Security Triad” or the “CIA” (not to be confused with the intelligence organization).

[The following section is from Information Systems for Business and Beyond (2019), CC-BY-NC[8]]


Information Systems for Business and Beyond, CC-BY-NC

Confidentiality

Protecting information means you want to be able to restrict access to those who are allowed to see it. This is sometimes referred to as NTK, Need to Know. Everyone else should be disallowed[a] from learning anything about its contents. This is the essence of confidentiality. For example, federal law requires that universities restrict access to private student information. Access to grade records should be limited to those who have authorized access.

Integrity

Integrity is the assurance that the information being accessed has not been altered and truly represents what is intended. Just as a person with integrity means what he or she says and can be trusted to consistently represent the truth, information integrity means information truly represents its intended meaning. Information can lose its integrity through malicious intent, such as when someone who is not authorized makes a change to intentionally misrepresent something. An example of this would be when a hacker is hired to go into the university’s system and change a student’s grade.

Integrity can also be lost unintentionally, such as when a computer power surge corrupts a file or someone authorized to make a change accidentally deletes a file or enters incorrect information.

Availability

Information availability is the third part of the CIA triad. Availability means information can be accessed and modified by anyone authorized to do so in an appropriate time frame. Depending on the type of information, appropriate timeframe can mean different things. For example, a stock trader needs information to be available immediately, while a sales person may be happy to get sales numbers for the day in a report the next morning. Online retailers require their servers to be available twenty-four hours a day, seven days a week. Other companies may not suffer if their web servers are down for a few minutes once in a while.

Integrity concerns

A security professional is typically concerned with integrity through the infosec lens; that is, “Is the contents of this file reliable? Do I trust where it came from and that it hasn’t been tampered with?”.

Consider the subreddit r/faketweets[9]; a collection of tweets that look convincing but are actually fabricated (one exercise for this unit includes manufacturing a fake tweet).

But there is another flavor of integrity asks the question, “was the information reliable before it was even transmitted?” We are in a new era of fake news (NPR has aggregated a provocative list[10]), and it is getting harder and harder to detect reality. One of the most alarming contributions to this landscape is the proliferation of “deepfakes”; videos that impose one person’s face on another person--often with seamless perfection. Jim Meskimen, a famous impersonator, partnered with deepfake artist Sham00k to show just how insidious of a problem this is. Check out the video on YouTube to see just how convincing the computer graphics are:

Original Video: https://www.youtube.com/watch?v=5rPKeUXjEvE
Behind the Scenes:
https://www.youtube.com/watch?v=Wm3squcz7Aw

Deepfakes are such a problem that California has introduced legislation to ban deepfakes[11] and Google has tackled the problem by freely opening up a deepfake dataset in the hopes that a solution for accurate deepfake detection can be found[12].

Deepfakes shouldn’t eclipse the cheapfakes problem either. A cheapfake is also problematic; it does not require much skill to create because it is leverages no special effects--just basic editing--but still portends skewed reality.. In May 2019, a viral (edited) video of House Speaker Nancy Pelosi circulated. The video was slowed down in parts to give the impression that Ms. Pelosi was slurring her speech[13]. Again, in February 2020, an edited clip of Nancy Pelosi was trumpeted by media. This one showed Nancy tearing up her copy of the State of the Union speech--which she did--but the video skewed the chronology so it looked as if she was tearing it up in response to smaller, individual stories. In this case, YouTube, Twitter, and Facebook refused to take the video down because it did not violate their deepfake policies[14].

Despite these endeavors to curb deepfakes, the future is bleak. Adobe has released a tool to supplant anyone’s voice over text[15], there is technology to faceswap/deepfake in real time[16], and Elon Musk’s AI endeavor, OpenAI, has developed technology to completely fabricate a seemingly well-researched article based exclusively on a one sentence primer[17].[b]

While these articles may portend doomsday, there are people looking for solutions (in addition to Google, there NiessnerLab has an endeavor, too[18]). And while deepfakes are a bit of a departure from information security, there is no question that the integrity issues facing society have parity with the issues security professionals have; namely determining what is real and what isn’t.[c]


4.2 Hiding Information

Learning Objectives

After studying this section you should be able to do the following:

  1. Explain why security through obscurity is not secure
  2. Furnish examples of steganography

Security through obscurity

There are a few different ways that information can be encoded through different means, often in plain sight. Security through obscurity refers to the notion that obscuring information is equivalent to protecting data (this idea has consistently been rejected by professionals--as early as 1851[19]). In a Jack Ryan novel by Tom Clancy (inspiration for popular video games Ghost Recon, Rainbow SIx, The Division, and Splinter Cell), a Russian operative is hoping to partner with the United States Military to save the life of a Polish priest. After negotiations, the affirmation to the operative comes encoded in a simple, quick act--the United States Flag is hoisted up the pole outside the embassy upside down. The information encoded in this act signals to the operative that the mission is a “go”, while appearing as an innocent mistake to everyone else.

A more relatable example can be found in Google Docs. When sharing a Google Document, it can be shared privately (by specifically inviting individual users), unlisted (the URL is not published, but you can send it to people), or public (the URL is discoverable by the world). Oftentimes, people will share a Google Doc as “unlisted” and then send the link out to who people they want to give access to. While fairly secure, the fact remains that anyone could get that link and then have access to the document. And the problem is more insidious than just guessing the URL. Vectors of attack include the browsing history, packet-sniffing, and ISP records.

[d]

A comic from XKCD, a popular techy-nerdy comic strip. CC-BY-NC
https://xkcd.com/257/

Steganography

Steganography is the art of concealing a message. An ancient example is the use of invisible ink. It wouldn’t be uncommon for secret messages to be written in invisible ink between other lines of non-significant text. If the message was intercepted, there is a layer of concealment because the message is seemingly innocuous. In 2019, a college student at Mie University in Japan submitted a final essay to her professor of Ninja History that was apparently blank. That is, until the professor applied heat and saw the essay reveal itself from the invisible ink[20]!

A more rudimentary example of steganography is the so-called “Shopping List Code”. In this example, there doesn’t appear to be a message, so anyone who encounters it would dismiss it.

But if you know it’s a hidden message, you can decipher it rather easily (each item on the list is providing one letter to the code; the number that precedes the item is the position of the letter - “Carson City”).

A popular version of steganography includes hiding an image (or text!) in an image. One way to obscure information in other information is to use the least significant bit method. For instance, data that is normally expressed in eight bits may be reconfigured to express almost the same data in seven bits, leaving the last bit to encode part of a secret message. If there are thousands of bytes of data, the last bit from each byte could be used to conceal the message. Of course, there is a degradation of quality to the obscuring image, but it is often an acceptable loss (and not perceptible to the user).

In the image below, the photo of the trees reserves the least significant bits to encode the image of the cat[21].

Another way to leverage steganography is in audio files. Historically, this has been a benign exercise (convert an image to a sound file and then mask the sound file with a real sound file). If done right, the message could be decoded with audio editing software such as Audacity (it’s free and open-source!). The results are an image inside the music spectrogram (check out the video tutorial How to Hide Secret Messages in Audio | Audio Steganography[22]):

CC-BY by AndrewIjano via Wikimedia

Recently, though, bad actors have discovered a way to obscure malware inside a .wav[e][f] file using steganography. So far, the malicious code seems to be limited to crypto mining software[23], but that could easily change in the future.


4.3 Certificates

Learning Objectives

After studying this section you should be able to do the following:

  1. Describe the difference between HTTP and HTTPS
  2. Explain what a certificate is
  3. Explain what a Man in the Middle attack is
  4. Espouse the virtues of a VPN

HTTP and HTTPS

Hypertext Transfer Protocol (HTTP) used to be the standard for delivering web content via the internet. In certain circumstances (for instance, bank websites), a certificate was required to provide encryption between users and the server. This is known as HTTPS (Hypertext Transfer Protocol Secure).

HTTPS is also known as “HTTP over SSL” or “HTTP over TLS”. It’s noteworthy to mention that TLS (Transfer Layer Security) is the replacement of SSL (Secure Sockets Layer). This means that traffic between the user and the server is encrypted. If anyone is sniffing packets on the network, they would not be able to see the contents.

In the dark ages of the internet, users would see a green lock in the address bar to indicate that the website was secure. But in 2018, Google marshalled the industry to move to HTTPS as the standard; instead of a green lock, HTTPS would be the default and anything using only HTTP would be indicated with a “Not Secure” notification in the address bar.

There is a great push to have HTTPS on all websites, even sites where the user does not send data back to the server. Let’s Encrypt is a free, automated, and open certificate authority that will provide certificates--for free--to any website. The Let’s Encrypt initiative receives support from heavy hitters like Mozilla, Cisco, the Electronic Frontier Foundation, Chrome, and a host of others[24].

But there are still some issues with this[g]. One such issue is the failure of some websites to automatically redirect visitors to the HTTPS version of their websites. This means that if a website has both an HTTP and an HTTPS version, users should automatically be redirected to the HTTPS version. But if the .htaccess[h] file on the server is not configured properly, this will not happen.

Another issue with HTTPS is the notion of mixed content. That is, an HTTPS website provides protection to users, but sometimes content on the HTTPS site is delivered via HTTP. For instance, images are often stored on a separate server,[i] so if an HTTPS website displays an image that is hosted on an HTTP server, most of the content the user gets will be secure (save for the images).[j] Note that this could happen with assets other than images (ads, music, video, etc.). Again, Google is pushing the needle on a more secure web experience and has said Chrome will eventually prohibit secure sites from serving insecure mixed content[25].

The threat is actually real. Imagine you are browsing personal images of family members shared with you via a site. The site may be secure (so you think you are safe from intruders peeking at your traffic),[k] but the images may be delivered to you via an HTTP server, so bad actors can’t see the text on the website but very well may see the images (in fact, some attacks rely on this feature of websites[26]).

Public Key Infrastructure

The idea of a secure connection seems like a good idea--and it is--but there is a lot of magic that needs to happen to ensure the connection is secure. The entire framework (that includes technology, trust, legal issues, etc.[l]) is known as the public key infrastructure (PKI). The internet-wide PKI is very complex (and individual corporations can have their own internal PKI) but we’ll look at a watered down version.

Suppose you want to visit www.daveghidiu.com. It sure would be nice if there was a way to prove that the person who runs daveghidiu.com is legit (and that the content is legit, too). The trust has to start somewhere[m]; the certificate authority (CA) gets the thumbs-up to be a CA from the Root CA (step 0). So I (as the owner of the website) ask a Certificate Authority (CA) to vouch for me (step 1). The CA will send out a Registration Authority to scope me out (step 2). If everything looks copasetic, the CA issues me a certificate (step 3). It’s got all sorts of goodies (in fact, we’ll take a look at certificates in a lab exercise) in it to prove that I’m trustworthy.

Now, when you visit my site, your computer will look at my certificate (step 4). If it jives with the root certificate from the root certificate authority--the canonical end-all, be-all of certificates (step 5), then your computer will trust my website! Note that my website only needs to get checked out by the CA once; after that, trust is established.

An example of PKI

This PKI is actually missing a piece - what happens when certificates are revoked? Well, for that conversation, we need to talk a little bit about certificate authorities.

Certificates and Certificate Authorities

A digital certificate verifies that the website you think you are visiting is actually the website you are visiting. If a certificate authority is trusted, then all the certificates it issues are also trusted. A list of trusted certificate authorities is stored on your computer in a certificate store.

So when you visit a secure website, you’ll get a verified certificate from the site, you’ll check in your store to see if the issuing certificate authority is in your store, and if so, you’ll trust that the connection is valid![n]

A certificate chain contains all the certificates that are issued. Let’s look at the certificate for daveghidiu.com:

A certificate chain

The DST Root CS X3 is the root certificate for this website. Even though the certificate is from Let’s Encrypt, the DST Root certificate is actually issued from IdenTrust (because Let’s Encrypt is relatively new and still earning trust, IdenTrust has cross-signed the certificate, boosting Let’s Encrypt’s street cred[27]). The next level, Let’s Encrypt Authority X3, can be trusted by other computers because the DST Root CA X3 is trusted. Therefore, the daveghidiu.com certificate can be trusted.

But what happens when something bad occurs? Maybe there is a rogue operative working at daveghidiu.com and he does some malicious things. Or maybe an entire CA is bad (like when the CNNIC CA was doing some shady stuff in 2015[28], or in 2012 when Trustwave CA allowed a company to issue any certificate it wanted[29], or in 2015 when Lenovo shipped computers with a Superfish, Inc. certificate in the store that did some dodgy things[30]). Or maybe it’s something insidious like when DigiNotar had a security breach resulting in valid issuing of malicious certificates[31]. Or perhaps it could be like that time Symantec issued certs that posed as Google.com certs[32]. Or maybe it’s something like when Sennheiser installed a self-signed root certificate into the certificate store of computers with inadequate security[33]. But don’t get scared - there are good instances when root certificates should be included in the store (maybe just don’t allow certificates with access for “all purposes”[34]).

Whatever the case, there needs to be a mechanism in a PKI for certificates to be revoked. One way to do this is to have a certificate revocation list (CRL). In this model, a public list is updated periodically and computers can download these lists. There are two problems with this; the lists may not always be up to date and the lists are getting larger and larger, which negatively impacts page load time.

A recent improvement to a CRL is the online certificate status protocol (OCSP). This allows browsers to query the CA directly, in real-time, for validity[35]. There’s even a new twist on OCSP called OCSP Stapling (where the OCSP request is “stapled” together with the certificate when the certificate is initially requested[36]).

While OCSP stapling would solve a lot of credential issues, only a small percentage of websites leverage it. According to SSL Pulse[o], only 32% of the 150,000 top websites use it[37]. And in February 2020, Apple announced that it would only respect certifications that are 398 days old[38].[p]

For further investigation, you should check out Episode 3 of the Darknet Diaries podcast: DigiNotar, You are the Weakest Link, Good Bye! Host Jack Rhysider explains how this breach in 2011 changed the way browsers do security.

https://darknetdiaries.com/episode/3/

01 October 2017 | 25:44

Heartbleed

You may remember in April of 2014 when Heartbleed made headlines. [q]Heartbleed leveraged a vulnerability in the OpenSSL library and allowed attackers to authentication secrets such as session cookies and passwords. As of June, 2019, Shodan (we’ll talk about Shodan in another chapter) reports that more than 91,000 servers are still susceptible to Heartbleed[39]. While this is not germane to our conversation on certificates, it does pertain to the security that SSL purports to offer.

MITM

A man-in-the-middle attack happens when a savvy attacker can intercept information exchange between two parties. The attacker could merely see all the data that flows between the parties, or the attacker could even change the data! Consider this exchange (from [r]Wikipedia, CC-BY-SA[40]):

Suppose Alice wishes to communicate with Bob. Meanwhile, Mallory wishes to intercept the conversation to eavesdrop and optionally to deliver a false message to Bob.

First, Alice asks Bob for his public key. If Bob sends his public key to Alice, but Mallory is able to intercept it, an MITM attack can begin. Mallory sends Alice a forged message that appears to originate from Bob, but instead includes Mallory's public key.

Alice, believing this public key to be Bob's, encrypts her message with Mallory's key and sends the enciphered message back to Bob. Mallory again intercepts, deciphers the message using her private key, possibly alters it if she wants, and re-enciphers it using the public key she intercepted from Bob when he originally tried to send it to Alice. When Bob receives the newly enciphered message, he believes it came from Alice.

  1. Alice sends a message to Bob, which is intercepted by Mallory:
    Alice "Hi Bob, it's Alice. Give me your key." →     Mallory     Bob
  2. Mallory relays this message to Bob; Bob cannot tell it is not really from Alice:
    Alice     Mallory "Hi Bob, it's Alice. Give me your key." →     Bob
  3. Bob responds with his encryption key:
    Alice     Mallory     ← [Bob's key] Bob
  4. Mallory replaces Bob's key with her own, and relays this to Alice, claiming that it is Bob's key:
    Alice     ← [Mallory's key] Mallory     Bob
  5. Alice encrypts a message with what she believes to be Bob's key, thinking that only Bob can read it:
    Alice "Meet me at the bus stop!" [encrypted with Mallory's key] →     Mallory     Bob
  6. However, because it was actually encrypted with Mallory's key, Mallory can decrypt it, read it, modify it (if desired), re-encrypt with Bob's key, and forward it to Bob:
    Alice     Mallory "Meet me at the van down by the river!" [encrypted with Bob's key] →     Bob
  7. Bob thinks that this message is a secure communication from Alice.

This example shows the need for Alice and Bob to have some way to ensure that they are truly each using each other's public keys, rather than the public key of an attacker. Otherwise, such attacks are generally possible, in principle, against any message sent using public-key technology.

A man-in-the-middle attack can be prevented by using HTTPS, a VPN (see below), and ensuring a healthy PKI (for instance, an up-to-date certificate store). In the summer of 2019, Kazakhstan required all citizens to install a state-sponsored certificate in all their browsers and all their devices[41]. With this certificate in place, the government could intercept and decrypt any web traffic. The certificate was called (in the spirit of social engineering) “Security Certificate”[42]. Since the certificate was in the store, it could inappropriately verify any site the user went to![s]

A man-in-the-middle attack

There are several different types of man-in-the-middle attacks:

IP Spoofing

IP spoofing [t]is one of the fundamental flaws of the Internet’s TCP/IP architecture because the basic design lacks a form of authentication to verify who information is coming from[43]. Think of your IP as your “address”, and when you are communicating with a person or website online you need their “address” to send and receive information. The information you send and receive between the two “addresses” is broken down into bits of information called packets.

For example, anyone reading this chapter on cryptography via Google Docs had to send packets of information to access this document and similarly Google had to send the reader packets of information so they could view it on their machine. As the quote at the beginning of this chapter implied, data is more valuable than ever and bad actors will use flaws in this design to extract or disrupt the flow of information on the Internet. The authentication flaw in TCP/IP architecture is that it allows people to lie about their “address” so a bad actor can pose as a trustworthy source to fool a victim into revealing sensitive data or hide the attacker’s identity in the case of the attacker launching a bigger attack, such as a DOS attack[44].

Fortunately, there are remedies for this problem. Using a VPN can prevent an attacker from viewing a possible victim’s traffic and then faking or spoofing an IP address to deceive the victim[45]. Mentioned many times before in this course, it cannot be stressed enough how important using antivirus software is. In the case of IP spoofing, an antivirus program will scan incoming packets and prevent malicious code from executing -- code that could come from a fake IP address.

DNS Spoofing

DNS (Domain Name System) is a way of translating an IP address into a readable format for users (it’s what converts the ‘www.google.com’ to ‘172.217.10.110when a user)[u]. [v]DNS spoofing is the process of intercepting a request to a website and changing the IP address that will be sent to the user into the IP address of the attacker. What then happens is a bit of IP spoofing, in which the attacker makes the system believe the user’s system has the same IP address as the attacker so it can then access the server with the same IP address and then usually forcibly downloaded malware. The process of making the computer believe that the IP is the same is used since in most cases a system will double check on a different DNS server if something is off.[46] [47]

HTTPS Spoofing

HTTPS Spoofing (also known as a homograph attack) that dupes users into thinking they are navigating to the correct site by replacing characters in the URL with non-ASCII characters[w][48]. The most elementary version of a homograph attackThis is possible due to Punycode, which[x] allows hostnames to have characters that are non-ASCII. Hackers will also commonly register the Secure Sockets Layer (SSL) which makes the fake website look as though it can be trusted. If the user were to disable Punycode in their browser, fake websites would become much clearer to spot and avoid. Another method that protects against homographic attacks is a password manager which will autofill credentials on known, legitimate websites. It is not fooled by false hostnames.

Here are two examples of homograph attacks:

HOMOGRAPH ATTACK EXAMPLES

google.com

cbs.com

g00gle.com

cьs.com

This attack uses the number zero instead of the lowercase letter ‘o’.

Instead of the lowercase letter ‘b’, the Cyrillic small letter ‘Soft Sign’ (Unicode 044C) is used.

SSL Hijacking

SSL Hijacking is when an attacker’s computer is inserted as an obscure bridge during the Secure Sockets Layer (SSL) protocol to capture and manipulate encrypting certifications. The bridge insertion between a user’s computer and a secure server allows the attacker to intercept confidential information passed between the two when the HTTP server directs the user to the HTTPS (secure) version of the same file. SSL, predecessor to TLS, was the primary method used to ensure transmitted data remained confidential through the use of certificates issued by Certificate Authorities (CAs) during the Hypertext Transfer Protocol (HTTP). Netscape created SSL for its web browser before the Internet Engineering Task Force (IETF) created and maintained standards. There was no standardization process to update SSL, even though all web browsers were using it, and resulted in SSL being compromised and not recommended for use anymore[49].

Eavesdropping

Eavesdropping is the act of passively listening to communication between parties. This can be done by the use of software or hardware that can exfiltrate the sensitive data later. One way to combat eavesdropping is by encrypting the data[50]. The Electronic Communications Privacy Act was passed in 1986 as a way to protect communication without the threat of eavesdropping (unless permitted by law).

Stealing browser cookies

Stealing browser cookies is also known as session hijacking. With stealing browser cookies the cyber criminals hijack your internet session in real time and steal cookies to allow them to access password protected sites. Once in the computer they can download items to your computer or steal data without the users knowledge.

One way this is done is by malware that is used to steal the browser cookies and leverage them to gain access to authenticated sites.[y]

Another example is the “Man in the Middle” attack, which is when user B tries to get between users A and C  They then relay--or even alter--communications between users A and C. In this exchange, A and C have no idea that someone is intercepting the communications.[z]

There are some phenomenal demonstrations of a man-in-the-middle attack on YouTube. Three videos that are well worth your time are:

Man-in-the-Middle Attack Videos



Public Domain via Wikimedia[51]

Hacking Starbucks WiFi with a Raspberry Pi and Kali Linux

https://www.youtube.com/watch?v=q7HkIwbj3CM

Stealing Data Over Open WiFi
https://www.youtube.com/watch?v=NkNgW3TwMy8

Cain and Abel - Jonathan Weissman

https://www.youtube.com/watch?v=J9OShn-5MXM

VPN

A virtual private network (VPN) establishes a connection from a user’s device to a private network, shielding the user from attackers. A tunneling protocol is used for a secure connection.[aa] For instance, when you are at home and your phone is on WiFi, your phone connects to the router, which goes to your ISP (maybe Spectrum), and your ISP then figures out how to get you the information you want. The problem is, now your ISP knows your every move. You might be okay with this, but the problem is much worse when you are on public WiFi (as seen in the videos above).

However, if you use a VPN, the ISP (or the public WiFi router) can’t see where you are going! The only thing those devices will see is that you are connected to a VPN. Now, you still need to trust your VPN to be responsible with your data (in fact, on October 21, 2019, it was reported that NordVPN suffered a breach in 2018[52]). The breaches aren’t as troublesome as the fact that some of the free VPNs--and even some of the paid ones--sell your browsing data[53]!

A VPN in action - the ISP has no notion of the data being exchanged.

1.1.1.1 Warp & Cloudflare

Cloudflare is an internet infrastructure and security company that has many services (content delivery network, DDoS mitigation, security etc.). They consistently lobby for privacy and security and are always on the right side of consumer protection. In the fall of 2019, Cloudflare released an app for mobile devices called 1.1.1.1 WARP. It’s a free VPN (and DNS over HTTPS) service! According to their website[54]:

  1. We don't write user-identifiable log data to disk;
  2. We will never sell your browsing data or use it in any way to target you with advertising data;
  3. Don’t need to provide any personal information — not your name, phone number, or email address — in order to use WARP or WARP+; and
  4. We will regularly work with outside auditors to ensure we're living up to these promises.

The app is easy to use and has positive reviews. Wired proclaims that it’s a faster web experience, delivers privacy and security from ISPs and routers, but doesn’t prevent geo-restrictive content like a true VPN does[55].

Other free VPN services

There are a few other free VPN services that are worth installing for times when you may need security or privacy (or both!). Proton VPN is a reliable service that doesn’t sell your information (they are responsible for Proton Mail). VPNhub is a free service that is ad supported but still offers security.


4.4 Cryptography

Learning Objectives

After studying this section you should be able to do the following:

  1. Differentiate between symmetric and asymmetric encryption
  2. Discuss various forms of cryptography
  3. Describe authentication and nonrepudiation

What is cryptography?

Many times an organization needs to transmit information over the Internet or transfer it on external media such as a flash drive. In these cases, even with proper authentication and access control, it is possible for an unauthorized person to gain access to the data. Encryption is a process of encoding data upon its transmission or storage so that only authorized individuals can read it. This encoding is accomplished by software which encodes the plaintext[ab] that needs to be transmitted (encryption). Then the recipient receives the cipher [ac]text and decodes it (decryption). In order for this to work, the sender and receiver need to agree on the method of encoding so that both parties have the same message. Known as symmetric key encryption, both parties share the encryption key, enabling them to encode and decode each other’s messages.

An alternative to symmetric key encryption is asymmetric encryption. This is where there are two different keys used--one to encrypt, and a different one to decrypt. Public key encryption is an example. In public key encryption, two keys are used: a public key and a private key. To send an encrypted message, you obtain the public key, encode the message, and send it. The recipient then uses their private key to decode it. The public key can be given to anyone who wishes to send the recipient a message. Each user simply needs one private key and one public key in order to secure messages. The private key is necessary in order to decrypt a message sent with the public key.

Notice in the diagram below how the sender on the left creates a plaintext message which is then encrypted with a public key. The ciphered text is transmitted through the communication channel and the recipient uses their private key to decrypt the message and then read the plain text.

Key types

Keys for encryption can be either static or ephemeral.

Static key

A cryptographic key is called a static key if it is intended for use for a relatively long period of time and is typically intended for use in many instances of a cryptographic key establishment scheme[56].

Ephemeral key

An ephemeral key is generated for each execution of a key establishment process. In some cases ephemeral keys are used more than once, within a single session (e.g., in broadcast applications) where the sender generates only one ephemeral key pair per message and the private key is combined separately with each recipient's public key[57].

Stream types

When data is transferred, it can travel in two different ways, blocks or streams.

Block cipher

A block cipher is useful when you know the size of the data being transmitted (and it’s a reasonable size). In this case, the data is divided into chunks (let’s say 64 bits). Each block is encrypted, sent to the recipient and then decrypted[58].

Stream cipher

In a stream cipher, every bit is encrypted. This is better for large data or data with an unknown size (such as a secure wireless connection)[59].

Symmetric encryption

As noted above, symmetric encryption relies on the same key being used to encrypt the data and then decrypt the data. There is only one key--a private key--so it is imperative that both parties protect it. The One Time Pad Cipher is the only method of encryption that is proven to be uncrackable[60]--and it relies on symmetric encryption.

Key distribution problem

This content from The Key Distribution Problem, OpenLearn [CC-BY-SA][61]        

Traditionally, symmetric encryption suffered one enormous shortcoming – it was necessary for either the sender or the recipient to create a key and then send it to the other party. While the key was in transit, it could be stolen or copied by a third party who would then be able to decrypt any ciphertexts encrypted with that key.

Another problem is that a large number of key pairs are needed between communicating parties. This quickly becomes difficult to manage the more there are. This can be calculated as n(n-1)/2 where n is the number of communicating parties.

For example, if ten parties want to communicate with each other securely they would need 45 different key pairs: 10(10-1)/2 = 45. This would increase to 4,950 if there were 100 communicating parties!

This problem, called the key distribution problem, affected anyone wishing to use encryption until the 1970s when a method of distributing keys without actually sending the keys themselves was developed independently by GCHQ in the United Kingdom and Whitfield Diffie and Martin Hellman in the United States. The British discovery was kept secret for many years, so today the solution is known as the Diffie–Hellman key exchange method.

Symmetric encryption methods have the advantage that encryption and decryption is extremely fast, making them ideal for transmitting large amounts of secure data.

Symmetric encryption comes in two flavors: block and stream. Each of the types of encryption have pros and cons, but both are popular.

There are many different forms of symmetric encryption. Below are a few of the notable ones:

AES

On May 26, 2002 AES was officially launched as the new Advanced Encryption Standard replacing the DES (Data Encryption Standard)[62]. The new algorithm was created by Vincent Rijmen and Joan Daemen, the two Belgium cryptographers had designed an encryption process that used all the standard numeric properties of others but would mix columns, shift rows and substitute bytes. The symmetric block cipher adds even further layers of security by adding and multiplying during encryption and subtracting and dividing while decrypting[63]. While just the concept may be confusing, the calculus involved rivals something you might see on the “Big Bang Theory”.

The algorithm is a subset of the Rij family of ciphers that uses 3 keys to encrypt 128, 192, and 256 bytes and 128 bytes to decrypt plaintext to ciphertext and back again.

Each encryption goes through a round of various actions mentioned before and depending on the encryption level there would be 10 to 14 rounds of encryption before the hash was produced. The complexity of this algorithm can be seen for free online with resources like 1Password where you can put in a password and it can tell you how long it would take to crack a password. Based on my research I did not see any reason to believe that his encryption standard was likely to be cracked anytime soon. But just in case those crafty hackers find a true vulnerability the system is completely tested every five years to ensure it is still the best option available.

DES and Triple DES

DES stands for Data Encryption Standard. It is a symmetric-key block cipher algorithm developed by IBM in 1975 to accommodate the US government’s need for an encrypting standard for encrypting unclassified, sensitive information. DES was plagued with controversy since its release. DES’s key length is only 56 bits, which was questionable then and obsolete now. It was also criticized for it’s classified design elements, and it’s collaboration with the NSA.

DES was proven to be insecure in 1999 when a collaboration between distributed.net and the Electronic Frontier Foundation successfully broke a DES key in 22 hours and 15 minutes using a brute force attack.

Triple DES was the replacement for DES. Triple DES uses a “key bundle” of three 56bit keys. To generate the ciphertext, it takes the plaintext , encrypts it with the first key, decrypts it with the second key, and encrypts it with the third key.

Triple DES has 112 bits of security. That’s less than it’s 168 bit long key, because it is susceptible to meet-in-the-middle attacks. Triple DES was deprecated by NIST in 2017[64] and is considered a “weak cipher” by OpenSSL[65].

Note that the founders of Unix had their original passwords (from 1986) cracked recently, and they were encrypted with DES[66].

IDEA

International Data Encryption Algorithm (IDEA) is one of the strongest secret-key block ciphers published in 1991 by Xuejia Lai and James L. Massey. The algorithm works on a 64-bit plain text and cipher block. During encryption the 64 bits are split into four 16-bit sub-blocks. The four blocks are set up P1, P2, P3, and P4. Each block will go through eight rounds of algorithmic and logical operations. The output from round one is the input to round 2 and so on. This will repeat all eight rounds then, the output transformation phase. The last phase does algorithmic operations only. The entire encryption process has 52 keys. Each round has six sub-keys (round 1- round 8) consisting of 16-bits. The output transformation uses 4 sub-net keys[67].

RC2/4/5/6

Ron Rivest created his own cryptography algorithm called Ron’s Code, or RC2. Lotus Software was looking to come up with a custom cipher for their software, Lotus Notes, and influenced the development of the code. This code is a symmetric-key block cipher and ron would later create RC4, RC5, and RC6. Both RC2 and 4 use a 40-bit key, which is significantly under regulations for US cryptography, while 5 and 6 can use up to 2040 bits. RC2 started to use 64-bit block ciphers and 18 rounds of mixing and mashing[68], but would evolve into using 128-bit blocks and 20 rounds in RC6[69]. The structure used is called a Feistel network, created by Horst Feistel and Don Coppersmith in 197[ad]

Blowfish and Twofish

Blowfish and Twofish are both symmetric-key block ciphers. Both were designed by Bruce Schneier, Blowfish in 1993 and Twofish in 2000. Because of this, many recommend using Twofish because it is more powerful and used more often in modern systems. These ciphers both use single keys of varying length (Twofish has a length up to 256 bits, Blowfish a length up to 448 bits). They are implanted in smaller processors and all implementers to trade encryption speed, key setup time, and code size. This is all meant to balance performance.

Serpent

Serpent is a symmetric encryption, block cipher, that was developed for the AES contest and was first published in 1998[70]. It was developed by Ross Anderson, Eli Biham and Lars Knudsen. When this cypher encodes a message, it encodes each character 32 times. Designers had figured that 16 times would be enough to prevent any attacks that were being used at that point in time, but with an eye to the future they decided to double the amount of rounds. This cipher came in second place for that contest because it was harder to implement than the finalist. This cipher was never patented and is available for free for anybody to use l signatures which can prove authenticity and integrity of the message. In 1977 Ron Rivest, Adi Shamir, and Leonard Adleman, whose last name form the acronym were the last to come up with the final public key cryptography. RSA uses some math formulas for encryption and decryption like trapdoor functions, generating primes, Carmichael’s totient function, and separate function in computing the public and private keys[71].

Asymmetric encryption

In asymmetric encryption, the data is encrypted with a public key (it doesn’t matter who has it because that key can be used to do only one thing--lock the data up). The only way to decrypt the data is to use the matching private key. One advantage of this is that the key distribution problem does not exist (the public key can be given to anyone and there are fewer keys floating around in the system). The disadvantage is that asymmetric encryption is slower.

Elliptic curve cryptography

This type of cryptography is an approach to a public key cryptography based on the algebraic structure of elliptic curves over finite fields. This specific cryptography uses elliptic curves for  key agreement, digital signature, pseudo-random generators and various other tasks. There are multiple algorithms that have been designed that utilize this.

This cryptography works by expecting that an elliptic curve is a plane curve over a finite field with points to satisfy an equation and with distinguished points of infinity. These points are predetermined by using predetermined groups of characters and elliptic curves.

Originally this cryptography was developed by Neal Koblitz and Victor S. Miller.[72]

RSA

Rivest-Shamir-Adleman[73] is a public/private key encryption technique. Unlike block cipher and stream cipher, the RSA uses both the public and private key to encrypt/decrypt a single message. The opposite key of the key used to encrypt is used to decrypt. This method makes encryption more secure. Many network protocols rely on RSA including S/MIME, SecureShell, SSL/TLS, and OpenPGP as well as software programs. The RSA algorithm works by having two prime numbers (represented by p and q) created through the Rabin-Miller primality test algorithm. The two numbers are multiplied to calculate the modulus (represented by n). The modulus is used as the link between the public and private key. The public key and private key, as stated before, both contain n. The public key also contains an exponent (represented by e), usually 65537. The private key contains a private exponent (represented by d), found by the Extended Euclidean algorithm.

Diffie-Hellman

Named after Whitefield Diffie and Martin Hellman, who first published the scheme in 1976.How this method works, is  by allowing two unknown parties to establish a shared secret key over an unsecured channel.  In 1997, When the British Government revealed that James Ellis, Clifford Cox and Malcom Williamson had come up with the first public-key scheme between 1969 and 1973[74].The best way to describe this is that both parties are going to make one public key with two private keys. Colors is a great way for you to understand how this works. Both users agree to a common random color, now each user will choose a secret color. The results of the common color plus the secret color is shared with one another. The users then take those results and add their secret color to the other results and they both come up with a common secret color.  

This video does a phenomenal job of explaining Diffie-Hellman

https://www.youtube.com/watch?v=NmM9HA2MQGI

DSA

Digital Signature Algorithm, or DSA, is a Federal Information Processing Standard that develops digital signatures with its roots in the algebraic properties of modular exponentiation, which it uses alongside the discrete logarithm problem. The algorithm uses a private and a public key. The private key creates a digital signature which the public key then verifies. This ensures that there is authentication and integrity. DSA also utilizes four different operations, the key generation, key distribution, signing and finally the signature verification. The DSA was approached by the National Institute of Standards and Technology (NIST) after the government had begun seeking a standard for public key signatures. NIST expressed interest in utilizing the DSA’s Digital Signature Standard (DSS) as the federal standard for digital certificates. Despite pushback from tech companies that had put much of their investments into the development of RSA cryptosystems NIST eventually accepted DSA as a federal standard[75]. DSA is still, to this day, along with RSA, one of the most used digital signature algorithms[76].

PGP/GPG

PGP stands for Pretty Good Privacy and is an encryption program that was developed by Phil Zimmermann in 1991. Wikipedia describes it as providing cryptographic privacy and authentication for data communication. It is most commonly used for signing, encrypting and decrypting texts, e-mails, directories and whole disk partitions. It seems to be most notably used for increased security in email.

PGP uses a combination of hashing, data compression, symmetric-key cryptography and public-key cryptography[77].

GPG stands for GNU Privacy Guard, aka GnuPG, and is a free software replacement for PGP and is able to work with PGP. GPG is known as a hybrid encryption software for its use of symmetric-key cryptography for speed and public-key cryptography for ease of secure key exchange. GPG encrypts messages with asymmetric key pairs that are individually generated by GPG users and then those public keys can be exchanged with other users[78].


4.5 Staying Safe

Learning Objectives

After studying this section you should be able to do the following:

  1. Give examples of PII
  2. Help other people protect themselves

Personally Identifiable Information

Any information that specifically identifies a person is considered personally identifiable information (PII). This includes Social Security Numbers, bank accounts, passports, driver’s license, and anything else that uniquely identifies a person. Other data points are less identifiable (though could still be used in concert with other data points to identify unique individuals). These include name, address, city, birthdays, and browser cookies[79].

Incidental PII exposure

Given the rise of social media and the prevalence of technology, it is even easier for people to leak their PPI. Consider the following examples:

Photos of keys at a distance

It is possible to get a key cut from a photograph[80]! Car keys, house keys, safe keys, lock keys. There is even an app that can scan in your key so it can be replicated later[81]. Even more scary is the recent advances in physical penetration - an app called SpiKey can (with a long range microphone) hear the tumblers falling when someone unlocks a door. Based on the duration of the falls, SpiKey can predict (with great accuracy) three different keys - one of which will open the door. A portable 3D printer can then print the keys[82].

Photos of fingerprints

Although you would need high quality photos of fingerprints (therefore, people in the public eye are have a higher chance of being attacked--just as in deepfakes), it is possible to reconstruct a fingerprint. Infact, Germany’s Federal Minister of Defense had her fingerprint compromised.

Constructing audio from video

Researchers from MIT, Microsoft, and Adobe teamed up in 2014 for a data exfiltration experiment. They recorded video (without audio) with a high-speed camera. By looking at the vibrations of indoor plants and a bag of chips, they were able to reconstruct the audio that had not been recorded. The technology was good enough that the video--recorded on the opposite side of soundproof glass--was able to pick up enough vibrations (imperceptible to the eye) that the reconstructed audio was sufficient for Shazam to recognize the song that was captured[83].

Locating people by examining the reflections picked up in their eyes' irises

In September of 2019, a fan of a Japanese teen idol was able to determine the location of the teen idol by the reflection in her eyes from a selfie she posted! The images revealed the train stop she frequented. Those images, combined with publicly available images on Google Earth were enough for the fan to locate the woman and assault her[84].

End to end encryption

End to end encryption is an asymmetric encryption method whereby the message is encrypted as it leaves the sender and cannot be decrypted by anyone but the receiver. This means that the contents of the message cannot be tampered with (or even viewed by) anyone else, including the service that handles the message.

For instance, ProtonMail (a well-respected player in the customer privacy arena) supplies end-to-end encryption (E2EE) for all users. While this used to be difficult to accomplish for the layperson, technology has made it easier to accomplish. ProtonMail claims[85]:

  • It keeps your data safe from hacks. E2EE means fewer parties have access to your unencrypted data. Even if hackers compromise the servers where your data is stored (e.g. Yahoo mail hack), they cannot decrypt your data because they do not possess the decryption keys.
  • It keeps your data private. If you use Gmail, Google can know every intimate detail you put in your emails, and it can save your emails even if you delete them. E2EE gives you control over who reads your messages.
  • It’s good for democracy. Everyone has the right to privacy. E2EE protects free speech and shields persecuted activists, dissidents, and journalists from intimidation.

Note that services such as GMail do not have this baked in (so Google can read every email, though they stopped doing it for advertising purposes in 2017). Regardless, third party apps for GMail that are given access by the user can also scan every email[86]. This would be impossible with ProtonMail or any other E2EE service. Thunderbird, a mail client by Mozilla, announced in October of 2019 that they will have E2EE baked in to their product (using OpenPGP)[87].

Apps such as WhatsApp force E2EE (the user cannot turn it off)[88], much to the chagrin of governments. In 2018, Australia passed the Assistance and Access Bill which can compel companies to provide access to messages of users. But they weren’t the first to try this; in 2016 the UK passed the Investigatory Powers Act. The IPA did not have the teeth that Australia’s law does, as demonstrated by the lawsuits surrounding the law[89]. Happily (for consumers sake), this is not possible with E2EE. Time will tell what will happen with the struggle between privacy and (allegedly) safety. But the industry does look to be willing to go toe-to-toe with authorities. In March of 2019, Mark Zuckerberg outlined his vision for privacy in social networking (which included some level of E2EE). It’s a fascinating read; you should check it out[90]. In October of 2019, an open letter was penned in response to Zuckerberg’s vision. It was signed by the Rt Hon Priti Patel MP [United Kingdom Secretary of State for the Home Department], William P. Barr [United States Attorney General] Kevin K. McAleenan [United States Secretary of Homeland Security (Acting)], and Hon Peter Dutton MP [Australian Minister for Home Affairs][91].

For further investigation, you should check out Episode 12 of the Darknet Diaries podcast: Crypto Wars. Host Jack Rhysider discusses how people had to fight for their right to encrypt!

https://darknetdiaries.com/episode/12/

01 February 2018 | 28:30

Page         0.9        Chapter 4 - Cryptography & Information


[1] The world’s most valuable resource is no longer oil, but data

[2] Facebook and Cambridge Analytica: What You Need to Know as Fallout Widens

[3] 885 Million Records Exposed Online: Bank Transactions, Social Security Numbers, and More

[4] Marriott Data Breach Is Traced to Chinese Hackers as U.S. Readies Crackdown on Beijing

[5] Lenovo Confirms 36TB Data Leak Security Vulnerability

[6] All 3 Billion Yahoo Accounts Were Affected by 2013 Attack

[7] The WIRED Guide to Cyberwar

[8] Information Systems for Business and Beyond

[9] Reddit subreddit - r/faketweets

[10] Stories about Fake News

[11] California makes ‘deepfake’ videos illegal, but law may be hard to enforce

[12] Contributing Data to Deepfake Detection Research

[13] Distorted Videos of Nancy Pelosi Spread on Facebook and Twitter, Helped by Trump

[14] Trump tests disinformation policies with new Pelosi video

[15] Adobe’s New Audio Tool Can Change What Anyone Says

[16] FaceIT Live will swap your face in realtime to someone else's

[17] Better Language Models and Their Implications

[18] FaceForensics++: Learning to Detect Manipulated Facial Images

[19] Security through obscurity [Wikipedia]

[20] Japan ninja student gets top marks for writing essay in invisible ink

[21] Steganography - Digital Messages [Wikipedia]

[22] How to Hide Secret Messages in Audio | Audio Steganography [YouTube]

[23] .WAVs Hide Malware in Their Depths in Innovative Campaign

[24] Let’s Encrypt is a free, automated, and open Certificate Authority.

[25] Chrome will block HTTP content from loading on secure sites

[26] How to Flip Photos, Change Images & Inject Messages into Friends' Browsers on Your Wi-Fi Network

[27] Let’s Encrypt - Chain of Trust

[28] Google boots China's main digital certificate authority CNNIC

[29] Trustwave Admits It Issued A Certificate To Allow Company To Run Man-In-The-Middle Attacks

[30] The Superfish certificate has been cracked, exposing Lenovo users to attack

[31] DigiNotar - Wikipedia

[32] Fuming Google tears Symantec a new one over rogue SSL certs

[33] Sennheiser discloses monumental blunder that cripples HTTPS on PCs and Macs

[34] When you shouldn’t trust a trusted root certificate

[35] Understanding How SSL Certificate Revocation Process Works

[36] HTTPS Certificate Revocation is broken, and it’s time for some new tools

[37] SSL Pulse

[38] SSL/TLS certificate validity chopped down to one year by Apple’s Safari

[39] Heartbleed - Wikipedia

[40] Man in the Middle - Wikipedia

[41] Kazakhstan government is now intercepting all HTTPS traffic

[42] Kazakhstan Attempts to MITM Its Citizens

[43] Center for Applied Internet Data Analysis Spoofer

[44] Introduction to Cyber Attacks with Dr. Edward G. Amoroso

[45] What is IP Spoofing | NordVPN

[46] DNS spoofing

[47] What is domain name system (DNS) spoofing

[48] HTTPS Spoofing

[49] CompTia Security+ Get Certified Get Ahead SYO-501 Study Guide, Written by Darril Gibson

[50] Handbook on Securing Cyber-Physical Critical Infrastructure

[51] YouTube Logo - Wikimedia

[52] NordVPN confirms it was hacked

[53] How to find the best VPN service: Your guide to staying safe on the internet

[54] WARP is here (sorry it took so long)

[55] Cloudflare 1.1.1.1 with Warp review: faster browsing, but not a real VPN

[56] Static Key - Wikipedia

[57] Ephemeral Key - Wikipedia

[58] Block Cipher - Wikipedia

[59] Stream Cipher - Wikipedia

[60] One Time Pad Encryption - The unbreakable encryption method

[61] The key distribution problem

[62] Advanced Encryption Standard

[63] AES Explained (Advanced Encryption Standard) - Computerphile

[64] Update to Current Use and Deprecation of TDEA

[65] https://www.openssl.org/blog/blog/2016/08/24/sweet32/

[66] UNIX Co-Founder Ken Thompson's BSD Password Has Finally Been Cracked

[67] INTERNATIONAL DATA ENCRYPTION ALGORITHM (IDEA) – A TYPICAL ILLUSTRATION

[68] RC2 (wiki)

[69] RC6 (wiki)

[70]Serpent information

68 Wood, Alex. An Introduction to Cryptography. Opensource blog. May 21, 2018.   https://opensource.com/article/18/5/cryptography-pki

69 Stevens, Hallam. Hans Peter Luhn and the Birth of the Hashing Algorithm. IEEE Spectrum Website. Jan. 18, 2018. https://spectrum.ieee.org/tech-history/silicon-revolution/hans-peter-luhn-and-the-birth-of-the-hashing-algorithm

 

[71] What is RSA encryption and how does it work?

[72] Elliptic-curve cryptography (ECC)

[73] RSA Algorithm (Rivest-Shamir-Adleman)

[74] diffie-hellman-key-exchange

[75] Digital Signature Algorithm 

[76] Digital Signature Algorithm (DSA)

[77] PGP [wiki]

[78] GPG [wiki]

[79] Personal Data - Wikipedia

[80] A Key You Can Photograph Is A Key That Can Be Copied

[81] Photograph Your House Key With This App, Then Print A Copy Anywhere

[82] Copying a Key by Listening to It in Action

[83] Eavesdropping with a camera and potted plants

[84] Stalking suspect allegedly studied pop idol's pupil images online to find her location

[85] What is End-to-End Encryption

[86] Google still lets third-party apps scan your Gmail data

[87] Thunderbird, Enigmail and OpenPGP

[88] End-to-end encryption

[89] Australia's Encryption-Busting Law Could Impact Global Privacy

[90] A Privacy-Focused Vision for Social Networking

[91] OPEN LETTER: FACEBOOK’S “PRIVACY FIRST” PROPOSALS

[a]maybe "barred" would work better

[b]This paragraph is a little sketchy =/ lol

[c]This is a little sketchy too!

[d]i appreciate this

[e]Maybe give explanation of what a .wav file is? I don't know what it is ;P

[f]https://en.wikipedia.org/wiki/WAV

[g]Some issues with what?

[h]Maybe an explanation of what this is?

[i]separate server from what?

[j]What does this mean?

[k]Maybe incorporate HTTPS, such as "The site may be using HTTPS, so you think you are safe from intruders, but...."

[l]This is kind of sketchy

[m]The trust of what, and between who?

[n]When "you" visit? Or is it when the computer visits a secure website? Or am I actually going into this store myself as the user to check and see?

[o]Maybe reference what SSL Pulse is =)

[p]Does this mean at most 398 days old? or at minimum?

[q]Maybe reference what Heartbleed is, because I don't know =P

[r]This is kind of sketchy, where does it continue onto? =/

[s]A little repetitive to above paragraph? =/

[t]Maybe add a definition of IP Spoofing and then continue with the explanation and examples =)

[u]YES!! Like this for the IP Spoofing!!

[v]When a user what?

[w]Maybe quick reference here reminding readers what an ASCII character is, therefore what a NON-ASCII character is =)

[x]What is Punnycode? Is it a literal code? Or a setting? Maybe a quick reference here such as "Punncode, which is a "........" that allows hostnames"

[y]Is this kind of repetitive to the above paragraph? We already talked about cookies and gaining access to authenticated sites. =/

[z]Was Man in the Middle not defined earlier in the chapter?

[aa]Maybe quick reference as to what a tunneling protocol is, then explanation. For example, "A tunneling protocol, which is "..............." and then the explanation.

[ab]Quick definition of plain text

[ac]Quick definition of Ciphertext

[ad]incomplete year