Learning AtlasIT Support → Cybersecurity
← กลับบทอ่าน

5.IT Security Defense against the digital dark arts

T0661 · ข้อความต้นทางภาษาอังกฤษ

ไฟล์ transcript ต้นทาง · subtitle (12).txt

หน้านี้แสดงข้อความจากไฟล์ต้นทางที่ผู้ใช้ให้ไว้เพื่อเทียบแนวคิด คำอธิบายภาษาไทยในหนังสือเป็นการเรียบเรียงใหม่ ไม่ได้แปลข้อความนี้ทั้งไฟล์

In the last section, we covered the basics of what exactly symmetric encryption algorithms are and give a basic example of the Caesar cipher, a type of substitution cipher. We couldn't possibly protect anything of value using the cipher though. There must be more complex and secure symmetric algorithms. Of course, there are. One of the earliest encryption standards is DES, which stands for Data Encryption Standard. DES was designed in the 1970s by IBM with some input from the US National Security Agency. DES was adopted as an official FIPS, Federal Information Processing Standard for the US. This means that DES was adopted as a federal standard for encrypting and securing government data. DES is a symmetric block cipher that uses 64 bit key sizes and operates on blocks 64 bits in size. Though key size is technically 64 bits in length, eight bits are used only for parity checking. A simple form of error checking. This means that real-world key length for DES is only 56 bits. A quick note about encryption key sizes in symmetric encryption algorithms, the same key is used to encrypt as to decrypt everything else being the same. The key is a unique piece that protects your data and the symmetric key must be kept secret to ensure the confidentiality of the data being protected. The key size defined in bits is the total number of bits or data that comprises the encryption key. So you can think of the key size as the upper limit for the total possible keys for a given encryption algorithm. Key length is super-important in cryptography since it essentially defines the maximum potential strength of the system. Imagine an ideal symmetric encryption algorithm where there are no flaws or weaknesses in the algorithm itself. In this scenario, the only possible way for an adversary to break your encryption would be to attack the key instead of the algorithm. One attack method is to just guess the key and see if the message decodes correctly. This is referred to as a brute force attack. Longer key length protect against this type of attack. Let's take the DES key as an example, 64 bits long minus the eight parity bits gives us a key length of 56 bits. This means that there are a maximum of 2^56 power or 72 quadrillion possible keys. That seems like a ton of keys and back in the 1970s, it was. But as technology advanced and computers got faster and more efficient, 64 bit keys quickly proved to be too small. What were once only theoretical attacks on the key size became reality in 1998 when the EFF, Electronic Frontier Foundation decrypted a DES encrypted message in only 56 hours. Because of the inherent weakness of the small key size of DES, replacement algorithms were designed and proposed. A number of new ones appeared in the 1980s and 1990s. Many kept the 64 bit block size, but used a larger key size allowing for easier replacement of DES. In 1997, the NIST, National Institute of Standards and Technology wanted to replace DES with a new algorithm. In 2001, adopted AES, Advanced Encryption Standard after an international competition. AES is also the first and only public cipher that's approved for use with top secret information by the United States National Security Agency. AES is also a symmetric block cipher similar to DES, in which it replaced. But AES uses 128 bit blocks, twice the size of DES blocks and supports key length of 128 bit, 192 bit, or 256-bit. Because of the large key size, brute-force attacks on AES are only theoretical right now because the computing power required or time required using modern technology exceeds anything feasible today. I want to call out that these algorithms are the overall designs of the ciphers themselves. These designs then must be implemented in either software or hardware before the encryption functions can be applied and put to use. An important thing to keep in mind when considering various encryption algorithms is speed and ease of implementation. Ideally, an algorithm shouldn't be overly difficult to implement because complicated implementation can lead to errors and potential loss of security due to bugs introduced in implementation. Speed is important because sometimes data will be encrypted by running the data through the cipher multiple times. These types of cryptographic operations wind up being performed very often by devices. So the faster they can be accomplished with the minimal impact to the system, the better. This is why some platforms implement these cryptographic algorithms and hardware to accelerate the processes and remove some of the burden from the CPU, for example modern CPUs from Intel or AMD have AES instructions built into the CPUs themselves. This allows for far greater computational speed and efficiency when working on cryptographic workloads. Let's talk briefly about what was once a wildly used and popular algorithm, but has since been proven to be weak and is discouraged from use. RC4 or Rivest Cipher 4 is a symmetric stream cipher that gain widespread adoption because of its simplicity and speed. RC4 supports key sizes from 40 bits to 2048 bits. So the weaknesses of RC4 aren't due to brute-force attacks, but the cipher itself has inherent weaknesses and vulnerabilities that aren't only theoretically possible. There are lots of examples showing RC4 being broken. A recent example of RC4 being broken is the RC4 no more attack. This attack was able to recover an authentication cookie from a TLS encrypted connection in just 52 hours. As this is an attack on the RC4 cipher itself, any protocol that uses this cipher is potentially vulnerable to the attack, even so, RC4 was used in a bunch of popular encryption protocols, like WEP for wireless encryption and WPA, the successor to WEP. It was also supported in SSL and TLS until 2015 when RC4 was dropped in all versions of TLS because of inherent weaknesses. For this reason, most major web browsers have dropped support for RC4 entirely along with all versions of SSL and use TLS instead. The preferred secure configuration is TLS 1.2 with AES GCM, a specific mode of operation for the AES block cipher that essentially turns it into a stream cipher. GCM or Galois/Counter Mode works by taking randomized seed value, incrementing this, and encrypting the value, creating sequentially numbered blocks of ciphertext. The ciphertexts are then incorporated into the plain text to be encrypted.
สารบัญบทอ่าน →