<<

Lecture Notes

Introduction to Digital Networks and Security

Raj Bridgelall, PhD

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 1/23

Table of Contents

PART I – NETWORKING CONCEPTS...... 4

1 INTRODUCTION...... 4

2 DATA COMMUNICATIONS ...... 4 2.1 THE OSI MODEL ...... 4 2.2 NETWORKING DEVICES ...... 5 2.3 TCP/IP ...... 6 3 MOBILE IP ...... 7 3.1 FIREWALLS...... 9 3.2 DHCP AND DNS ...... 9 3.3 IPV6 ...... 10 PART II – CRYPTOGRAPHY AND NETWORK SECURITY ...... 12

4 SECRET KEY CRYPTOGRAPHY ...... 12 4.1 SECRET KEY DISTRIBUTION ...... 13 4.2 SECRET KEY AGREEMENT ...... 13 4.3 SECRET KEY EXCHANGE ...... 13 5 PUBLIC KEY CRYPTOGRAPHY ...... 13 5.1 RSA PUBLIC KEY CRYPTOGRAPHY ...... 15 5.2 ELLIPTIC CURVE CRYPTOGRAPHY ...... 16 5.3 DIGITAL SIGNATURES ...... 17 5.3.1 Hashing ...... 17 5.3.2 Non-repudiation ...... 18 5.4 DIGITAL CERTIFICATES ...... 18 5.4.1 PKI Based on X.509 ...... 18 5.4.2 PKI Based on PGP ...... 18 6 CRYPTOGRAPHIC PROTOCOLS ...... 19 6.1 SSL ...... 19 6.2 IPSEC ...... 19 6.3 VIRTUAL PRIVATE NETWORKS ...... 21 6.4 POINT-TO-POINT PROTOCOL ...... 21 7 REFERENCES ...... 22

8 LIST OF ACRONYMS ...... 23

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 2/23

List of Figures

Figure 1: Illustration of the Mobile IP Process...... 8 Figure 2: Secure communications over an untrusted network using public key methods...... 14 Figure 3: IPSec protocol architecture...... 20 Figure 4: Assurances from the four possible protocol/mode combinations of IPSec...... 21

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 3/23

Part I – Networking Concepts

1 Introduction Part I of this lecture note summarizes numerous network communications concepts that are needed to appreciate various topics in cybersecurity. Part II summarizes network security concepts, many of which have become the base technology for cryptographic applications such as blockchains and crypto-currency.

2 Data Communications The transmission of data between applications on remote computing nodes involves a well- defined process for generating data packets and eventually converting them into transmissible bit streams for reliable end-to-end delivery over an unreliable and untrustworthy media.

2.1 The OSI Model Classical network communications theories layer each of these well-defined processes into a stack consisting of seven layers. The International Standards Organization (ISO) created a broad set of specifications for these seven layers. The ISO organized them into a model called the Open Systems Interconnection (OSI) to facilitate widespread and standardized development of interactive systems for a public network such as the Internet. These seven layers, starting with the one closest to the hardware level are the physical, data link, network, transport, session, presentation, and application layers (Forouzan 1998). The is responsible for the transmission of bits over a physical medium with pre- defined electrical and mechanical specifications. The bit encoding and bit representation schemes are also determined at this layer. For example, at this layer we consider the carrier modulation method and power fluctuations by which ‘ones’ and ‘zeros’ of a digital bit stream are represented for physical media transmission. IEEE 802.3 is an example of a physical layer specification that defines a bit encoding scheme (e.g. Manchester 10BaseT, 100BaseT, etc.) and a channel access mechanism based on Carrier Sense Multiple Access/Collision Detection (CSMA/CD.) Originally developed by Xerox Corporation and later extended as a joint venture that added Intel and Digital Equipment Corporations, the IEEE 802.3 specification, also called , became the most popular physical layer specification for Local Area Network (LAN) communications. The organizes bits into frames for node-to-node delivery. It adds headers and trailers that get the frame from one physical node to the next in an error free manner. With flow control, the data link protocol orders the frames and regulates the amount of data sent so as to prevent receiver overflows. Synchronization bits alert the receiver when frames begin and end and error bits indicate the need for re-transmission. Some examples of data link protocols are XMODEM, LAPD (used in ISDN), PPP (used for serial communications between personal computers and cellular phones), and (used for LANs.) For WLAN, the IEEE further sub-divided the data link layer into the Logical Link Control (LLC) and Media Access Control (MAC) layers. These implement the node-to-node and media sharing mechanisms respectively. The IEEE standardized the LLC implementation across all WLAN networks but allowed for dedicated implementation of the MAC as it pertained to the particular communications device. The LLC also contains source and destination port numbers that identify

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 4/23

the application end-points of the sending and receiving machines. The MAC layer resolves the contention for the shared media. It contains the frame synchronization, error, flow control flags, control specifications, and physical addresses necessary to move data between nodes. The is responsible for moving packets from source to destination nodes so as to provide internetworking. It fragments the original message (packet) from the into manageable pieces (frames) for final delivery and eventual re-assembly. Routers on the network contain routing tables that facilitate the best known virtual path between intermediate nodes that will eventually get the frame from the source address to the destination address. As frames move between network nodes on its way to the final destination, each node substitutes an intermediate data-link address header that moves the frame to the next node along the way. However, the source and destination addresses do not change as frames move between nodes. The network layer is also responsible for media sharing and channel-access so that multiple frames from different applications can simultaneously move across the same physical media. The transport layer provides a reliable end-to-end message delivery by overseeing the error recovery and flow control processes. Unlike the network layer, the transport layer recognizes a relationship between the frames so that they can be re-assembled into the original cohesive message packet and delivered to the appropriate application. Since several applications may be running simultaneously, the transport layer is responsible for identifying service points (also known as port or socket addresses) and to deliver the message to the intended application. Some session messages may be too long for reliable transport layer re-assembly or too short for efficient use of the media. Therefore, the original session message is also appropriately segmented or concatenated. Each message is sequenced so that they can be re-assembled in the original order with which they were transmitted. TCP and UDP are popular transport layer protocols, which we will briefly describe in Section 2.3. The is responsible for establishing, managing, and gracefully terminating communication sessions between two remote applications. It synchronizes the interaction between the two network entities so that processes can be reliably completed. For example, it utilizes session checkpoints so as to continue processes from where they were suspended as the lower levels recover from intermittent communications failure due to packet loss or packet latency from a noisy or congested network. The translates between native communication languages, provides data compression, and encryption for secure communications. Data translation provides a uniform interface for applications running on any platform. The software programs facilitate access to the network resources. Some examples are directory services, mail services, virtual terminals, and file management.

2.2 Networking Devices The Internet is made up of a number of networking devices called Repeaters, Bridges, Routers, and Gateways. Repeaters operate at the physical layer and their purposes are to intelligently regenerate the bit-stream in order that packets can reliably travel large distances between nodes. A repeater is not necessarily an amplifier, although the signal strength is generally restored to its original level.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 5/23

Bridges operate at both the physical and data link layers. They divide a large network into smaller sub-networks or combine smaller sub-networks of the same type into a larger network. Bridges contain a list of all the nodes connected to either side of it and so it can intelligently filter and forward packets to the intended recipients on either side. Routers operate in the physical, data link, and network layers and they are needed to establish the best paths for packets to travel along the way from source to destination nodes. They gain knowledge about the network configuration and path characteristics from periodic communications with other Routers. Eventually, all Routers have knowledge about the network to which they are connected so that each can determine the best path for routing packets. Routers typically use the Dijkstra graph theory algorithm 8 to determine the shortest path to other Routers. They also track and update a packet’s lifetime and may eventually ‘kill’ a packet if it has not found its owner within a predetermined time period. This mechanism prevents network congestion when disabled nodes cause looping or bouncing because packets reach dead-ends. Gateways can operate in all seven layers of the OSI model and convert between protocols so that data can move across different network types. Physically, a gateway is no more than additional software running on a Router.

2.3 TCP/IP The Advanced Research Project Agency (ARPA), a U.S. Department of Defense arm, developed TCP/IP in 1969 for connecting computers in a large network called ARPANET – now known as the Internet. TCP/IP developed before the OSI standard and, therefore, does not exactly match the OSI model. TCP/IP combines the three top layers of the OSI model (application, presentation, and session) into a single application or message layer. TCP or UDP is defined for the transport or Segment layer and IP is defined for the network or Datagram layer. The data link and physical layers are network dependent and consist of an organized pattern of frames and bits respectively. IP is unreliable and connectionless. Unreliability means that IP does not provide error checking or datagram tracking. Reliability is nevertheless obtained when IP is paired with a reliable transport protocol such as TCP. Connectionless refers to the fact that no virtual circuit is established for the transmission of the entire message which consists of an ordered series of datagrams. Each datagram is separately transmitted and does not necessarily follow the same path. Unlike a connection-oriented service, the receiver is not alerted about the incoming message and it is not expected to acknowledge successful receipt of the entire message once it has been completely transmitted. Each datagram consists of a 20 to 60 byte header and a data portion where the total datagram length does not exceed 65536 bytes. The header consists of information essential for its routing and delivery. For example, the header includes fields containing the source IP address, destination IP address, and datagram lifetime. There are also numerous other fields that relate to packet fragmentation, service class, reference protocol, routing, timing, management, and alignment controls. IP addresses of the present Internet version (IPv4) consist of four bytes that define a class type, network identification (NID), and host identification (HID.) At present, only the third of five address classes is available for use. The first two are already full. The fourth class is for multicasting and the fifth is reserved.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 6/23

IP supports three additional sub-protocols known as Address Resolution Protocol (ARP), Reverse Address Resolution Protocol (RARP), and Internet Control Message Protocol (ICMP.) ARP is used to associate an IP address with the physical address of the device, which is usually the Network Interface Card (NIC) hard coded address. Hosts and Routers find the physical address associated with an IP address by broadcasting an ARP query packet to every node on its sub-network and receiving an answer only from the owner. RARP allows a host to determine its IP address when it knows only its physical address. The host broadcasts its physical address in an RARP request packet and receives its IP address only from the network node that knows it. ICMP allows the host to determine when an IP datagram is undeliverable. Both TCP and UDP represent the transport layer portion of the protocol. TCP is reliable and connection-oriented. UDP is unreliable and connectionless and is thus simpler. Both UDP and TCP connections are port-to-port in contrast with IP, which provides host-to-host connectivity. The multi-tasking operating system of the host machine assigns a port to each active process. A port is generally a data buffer with which a process is associated. As such, UDP and TCP segment headers carry both the source and destination port addresses. Unlike UDP, TCP also contains identification and sequencing numbers so that the specific lost or damaged segment can be identified. TCP sets up an end-to-end virtual circuit for the entire duration of the segment transmission so that the end ports know to expect more datagrams and to check their sequencing. This virtual circuit session should not be confused with that of the session layer protocol, which is more concerned with the entire message exchange and not just the segment. TCP achieves reliability by adding header information that facilitates error detection, acknowledgements, and frame retransmission.

3 Mobile IP Mobile IP is a standard proposed within the Internet Engineering Task Force (IETF) that will allow a mobile unit (MU) to have both a fixed home address and a care-of address that changes as the MU roams through different networks (Perkins 1998). In effect, remote applications will continue to transparently interact with the MU as it roams seamlessly across IP-based networks. The scope of this standard includes only packet switched connections based on IP. Mobile IP requires the existence of a home agent network node. Whenever the MU is attached to a foreign network, it registers with a foreign agent of that network. Vendors generally implement Mobile IP in routers that can serve as both home and foreign agents. The foreign agent assigns a new care-of address to the MU. As the MU moves between networks, it obtains a new care-of address via Dynamic Host Control Protocol (DHCP) and registers the new address with the home agent. Registration is done either directly or indirectly via the foreign agent, depending on the nature of the attachment. Mobile IP utilizes the (UDP) with re- transmission parameters in order to avoid the complexities of Transmission Control Protocol (TCP.) After registration, all packets arriving at the home agent will be re-directed to the foreign agent at the care-of address. After receiving the re-directed packets, the foreign agent substitutes the destination-IP address for the static home-IP address and delivers the packet to the MU. Mobile IP is implemented at the network layer of the OSI model such that applications running above, such as TCP, will be unaware of roaming as the MU changes its point of attachment to the network. Applications will see the MU’s static home-IP address as its source address when the MU is sending data and as the destination address when the MU is receiving data. Therefore,

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 7/23

Mobile IP implementation results in seamless application connectivity as the MU roams and attaches to topologically new IP nodes.

Figure 1: Illustration of the Mobile IP Process.

The home agent facilitates this transparency by re-encapsulating the arriving packets with a new IP address destination wrapper to the care-of address. The foreign agent then unwraps the packet before forwarding it to the MU. This re-encapsulation is also frequently a subset of some secure tunneling protocol, for example, IPsec. Therefore, Mobile IP can effectively accommodate a VPN style tunnel between the home agent and the foreign agent. A secure connection between the home and foreign agents is necessary in order to prevent rogue network entities from inconspicuously updating the home agent with a fake care-of address, thereby redirecting packets to an unintended destination. When MUs roam, they must either discover home and foreign agents via their advertisements, or they must solicit prospective agents. Several MUs utilizing a foreign agent may share a single care-of address. This works because the home address for each MU will remain unique and unchanged during the tunneling transit between the home and foreign agents. Therefore, after “de-tunneling,” each MU will get the packets destined for them. MUs capable of running the Mobile IP protocol can serve as their own foreign agent provided that they have access to a DHCP server for IP address assignment. In this case, the specifications refer to the care-of address as a co-located care-of address. When serving as its own foreign agent, the MU must additionally be capable of running the required tunneling protocol. Foreign agents may directly route packets from the MU to the remote host and bypass the home agent during the reverse trip as illustrated in Figure 1. Hosts that are capable of implementing a directory cache of care-of addresses and a tunneling protocol can bypass the home agent and communicate directly to the MU. This is desirable for reducing network traffic congestion to the home agent as well as a potentially inefficient route between the client and server.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 8/23

Although Mobile IP is one of the leading proposals for seamless roaming of next generation mobile Internet applications, there are numerous disadvantages to using the standard. For example, if the point of MU attachment changes faster than the round trip time for a packet, then the foreign agent routers will not have time to update their routing tables and packets will be lost. The round trip time for packets moving across the Internet depends on network utilization, congestion, number of operational nodes, etc. Also, TCP timers, such as packet time-out and retransmission counts, are not adaptively reconfigurable and depend on the network connection. Therefore, switching between the data rates of a slower wireless connection such as a WWAN and a faster wireless connection such as a WLAN may result in an inefficient data communications link. As tunnel overhead and network related delays between the home and foreign agents change while the MU roams, remote applications may unnecessarily increase error and flow control handshakes, thereby exacerbating the problem.

3.1 Firewalls Firewalls prevent unsolicited packets from entering the Intranet that it is protecting. They also prevent packets that appear to have emanated from a node within the Intranet from re-entering. In doing so, a firewall is attempting to filter out potentially malicious packets that are intended to spoof internal computers. Therefore, the MU may not be able to communicate with neighboring nodes within its domain if the home agent is located outside of this domain. One solution is to setup a reverse tunnel from the foreign agent back to the home agent, thereby bypassing the firewall function. However, this results in network routing inefficiencies that can possibly lead to network congestion.

3.2 DHCP and DNS The Dynamic Host Control Protocol (DHCP) provides new network clients with an IP address, the Domain Name Server (DNS) address, domain names, default Router addresses, and other configuration information needed for communications on the network. The DNS facilitates a user-friendly method of naming hosts and provides the equivalent host name or IP address if given either. When a client attaches to a network, it sends out a DHCP request. One or more DHCP servers or agents hearing the message will formulate a service offer to the client via its MAC address and source port. The DHCP server will not commit the IP address until the client acknowledges the response. The DHCP assigns a lease time to the IP address it allocates to the client. Hereafter the client is expected to renew the lease when it is at 67% of the expiration time or risk losing the IP address while in the middle of an application. In order to facilitate Mobile IP with conventional networks having DHCP and DNS servers, the MU must use its new DHCP-allocated IP address as a co-located care-of address and update the home agent. That is, the MU must now serve as its own foreign agent. However, the MU may also ignore the use of the DHCP-allocated IP address and utilize one from an advertising foreign agent instead. For WLANs, the access point (AP) can be configured as a foreign agent that advertises its services to MUs as they associate. Therefore, the AP can assign the MU a care-of address. The AP can also forward DHCP requests for a home IP address. In this case, the DHCP will return a home IP address that is closely associated with a nearby home agent with which the MU can register.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 9/23

Mobile IP must also facilitate the time latency required for authentication and network security. Without network authentication, the MU cannot determine which DHCP server response is authentic nor can a DHCP server trust the MU. For example, rouge MUs can issue multiple DHCP requests, each with an associated fake MAC address so as to deplete the pool of IP addresses that the server can issue. MUs can also register normally but then configure themselves as fake DHCP servers and take control of the network.

3.3 IPv6 The number of Internet nodes has historically doubled every year. Each active Internet node requires a separate and unique IP address. With the explosive growth of Internet users, the present pool of IP addresses defined by IPv4 is dwindling rapidly. The Internet Engineering Task Force (IETF) first proposed IPv6 in July 1994 in order to address this and other issues. IPv6 provides four times more address bits for a total length of 16 bytes rather than four bytes of the current IPv4 standard. This results in 2(128-32) = 296 times more IP addresses. This is enough IP address to cover nodes on every square inch of every planet in the solar system. Each IPv6 datagram is composed of a payload that can be up to 65536 bytes and a fixed base header that is 40 bytes long. The payload itself consists of an optional extension header plus the data from upper layers. The 40 byte base header consists of a 16 byte source IP address and a 16 byte destination IP address plus other fields that are needed to route the datagram more efficiently than IPv4 through the Internet. Extension headers provide a facility for better source routing, fragmentation, authentication, and security. IPv6 incorporates many of the general ideas of Mobile IP. It incorporates several new features that removes the need for a foreign agent while more naturally facilitating the presence of a home agent entity. The home agent and the MU cooperate via a registration process involving the care- of address obtained from network access points. In IPv6, the MU has more responsibility for managing its own mobility. The MU is also now able to automatically configure its care-of address at the point of network attachment so that it contains the proper foreign network prefixes and is also more globally routable based on its location. As the MU moves, it directly supplies location information to its remote correspondents. The MU does so by using the IPv6 destination and security options located in the extension headers. For privacy reasons, the MU is not obligated to always communicate location information directly to its correspondents. Therefore, the MU must also communicate care-of address updates to the home agent, which must now also acknowledge receipt of the updates. IPv6 also has a new home address option that is generally included for communications between the MU and its correspondent. This informs correspondents that for mobile devices, they should consider sending packets to the home address rather than to the source IP address (care-of address) that they find within the fixed base header. This mechanism effectively resolves issues with firewall filtering. The MU keeps track of its connectivity status through Neighbor Discovery and Network Unreachability Detection (NUD) protocols. Routers periodically send multicast advertisements and this is one mechanism by which the MU determines the status of its network connectivity. Routers advertise their services such as whether or not they can serve as a home agent. In order to facilitate smooth handoffs between points of network attachment, the MU sends a location update packet to the previous router in order to indicate that it has moved to a new care-of address. Subsequently, the MU sends a location update to the remote correspondent.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 10/23

In IPv6, each node on the network will have a destination address cache that it is responsible for updating. This mechanism allows each node to process location updates from the MU and, thereby redirect correspondence to the new care-of address.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 11/23

Part II – Cryptography and Network Security

Cryptography is Greek for “hidden writing.” In computer based cryptography, it is the art of ciphering an easily understood message or “plain text” into one that cannot be easily deciphered (Mel and Baker 2001). The basic components for a cryptographic system are a ciphering engine, a key exchange mechanism, a hashing function, and a random number generator. A reversible ciphering engine will encrypt or decrypt the plain text message using the same secret key. This is called symmetric or secret key cryptography. It is different from public key cryptography whereby one key is used for encryption while another mathematically related key must be used in order to decipher the message. Ciphering engines are either block ciphers which encrypt blocks of text at a time, or stream ciphers, which produce an output bit stream in response to an input bit stream. Cryptography is essential for maintaining the confidentiality, authenticity, and integrity of messages that are communicated over untrustworthy channels. Confidentiality is the assurance that only the owners of the secret key can have access to the data. Authenticity is the assurance that the originator of the message is not an imposter. Integrity is the assurance that data has not been altered while in transit. All ciphering methods are based on the principles of diffusion and confusion, which are terms coined by Claude Shannon. Diffusion is the technique of transposing and substituting characters or bits. The intent is to disperse the statistical nature of the encrypted message or cipher text, and thereby hide its relationship with the plain text. Alternatively, confusion is the cryptographic principle of hiding the relationship between the cipher text and the secret key. Given a key length in bits, a strong cryptographic method has many possible secret keys such that a brute force search for the secret key will be infeasible.

4 Secret Key Cryptography In secret key cryptography the same key both encrypts and subsequently decrypts a message. This is also known as symmetric key cryptography. This type of cryptography is an attractive means for secure communications among low cost computing devices such as sensors because it involves less computationally expensive ciphering methods than public key cryptography. However, its strength ultimately depends on the robustness of a system for distributing secret keys to the network participants. Data Encryption Standard (DES) is one of the most popular symmetric encryption algorithms and has been a published standard since 1977. However in 1999, a team from the Electronic Frontier Foundation managed to break the DES encryption in less than 24 hours. Around the time of this event, the National Institute of Standards and Technology (NIST) requested algorithm submissions for a new federal Advanced Encryption Standard (AES.) Five contenders made it to the last round of selection. In October 2000 NIST selected the Rijndael algorithm, which was developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen. While this standard was being ratified, Walter Tuchman of IBM proposed Triple DES, which was an effort to improve the security of the DES algorithm. With triple DES, the DES algorithm is applied three times with two different secret keys.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 12/23

4.1 Secret Key Distribution A trusted third party or key distribution center (KDC) is often used to distribute copies of secret keys. Key distribution can become a significant problem when the number of keys to distribute grows exponentially with the addition of as new network clients. Therefore, the KDC can become the bottleneck of information exchange and is also a likely target for hackers. One way around this is to use public key encryption as a secure means of exchanging secret keys so that subsequent communications will use the less computationally expensive symmetric key methods.

4.2 Secret Key Agreement The Diffie-Hellman (DH) algorithm developed by Whitfield Diffie and Martin Hellman of Stanford in 1976 is a popular method of key agreement. That is, the shared secret key is derived, rather than distributed by another system, via plain text communications across an untrustworthy network. Correspondents agree on a large prime generator g and a large prime number modulus n, each of which can be made public. The generator, g must have the property that its exponentiation with a random number from the selected number space will result in a large number of unique outcomes. The following table summarizes the DH algorithm for secret key agreement:

Correspondent-A Correspondent-B Publicly known: {g, n} Generate random number A (secret) Generate random number B (secret) Calculate X = gA MOD n Calculate Y = gB MOD n Transmit X Transmit Y Calculate Key = YA MOD n Calculate Key = XB MOD n = (gB)A MOD n = gBA MOD n = (gA)B = gAB MOD n Shared Key = gAB MOD n For a key that is 1024 bits long, an eavesdropper will need to compute the discrete log of both X and Y many times in order to discover the random numbers A and B. Fortunately, the discrete log problem is so computationally intensive that it will take a supercomputer several thousand years to compute.

4.3 Secret Key Exchange Even though the DH algorithm allows each party to create a secret key with publicly exchanged parameters it does not provide authentication. That is, neither correspondent can be assured that the other is genuine. Therefore, public key techniques are used to first exchange secret keys that correspondents can subsequently utilize.

5 Public Key Cryptography Unlike secret key cryptography, public key cryptography provides a better way to publicly distribute keys while keeping the secret or private key safely guarded. Public key cryptography is also known as asymmetric key cryptography because one key is used for encryption while another mathematically related key is used for decryption. Asymmetric or public key encryption methods typically use the concept of modular inverses to create public/private key pairs. Modular inverses are a pair of numbers in modular arithmetic that when multiplied together yield

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 13/23

unity. For example, the numbers 3 and 7 are modular inverses in modulo 10 arithmetic because (3  7) MOD 10 = 1. To encrypt a message, we essentially multiply numeric equivalents of it with the first number, transmit the result as the encrypted message, and then multiply the received encryption with the second number so as to recover the original message. We can view the overall process as multiplying the message by unity whereby the first number is the public key, and it’s inverse as the private key or vice versa. The success of public key cryptography for worldwide electronic commerce depends on the establishment of a trusted third party that will authenticate and distribute public keys. This will prevent imposters from claiming any public key as their own without first presenting proof of authenticity. Even though public key cryptography can provide all of the needed security functions while secret key cryptography cannot, it is not as practical to implement across all platforms primarily because of its high computational complexity. Therefore, secret key techniques are used for many networking applications, while public key techniques are used when necessary to facilitate authentication and secret key exchanges. RSA from the Massachusetts Institute of Technology (MIT), and Pretty Good Privacy (PGP), which was created in 1991 by Philip Zimmerman are probably the two most well-known public key cryptographic systems. Figure 2 illustrates the basic operation of a public key based message exchange.

Figure 2: Secure communications over an untrusted network using public key methods.

The sender first obtains the recipient’s public key from a trusted third party that vies for its authenticity. Section 5.4 describes public key distribution and digital certificates. With the

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 14/23

assurance that the public key is indeed assigned to the intended recipient, the sender encrypts the plain text message with the recipient’s public key B and transmits the encrypted message. The recipient decrypts the ciphered message with its securely held private key B. However, this process only provides confidentiality, which is the assurance that no one else could have deciphered the message in transit, other than the recipient. However, the message itself could have been intercepted, substituted, re-encrypted with the recipient’s public key, and delivered instead of the original message. Therefore, in order to authenticate the message, the sender adds a digital signature to the transmitted packet by encrypting a highly compressed form (a hash) of the original message with the sender’s private key. Upon receiving the message, the recipient also decrypts the hash with the sender’s public key and compares the result with its own hash of the received message, thereby validating the authenticity of the message. Section 5.3 describes hashing and digital signatures in greater detail.

5.1 RSA Public Key Cryptography RSA is named after its inventors, Ronald L. Rivest, Adi Shamir, and Leonard M. Adleman of MIT. It is a popular public key encryption algorithm that many cryptographers scrutinize. Its strength is based on the difficulty of factoring a very large number into two large prime numbers. The algorithm, developed from a basic theory by Pierre de Fermat in the 1600’s, specifies m(p-1) MOD p = 1 for any prime number p and positive number m that is less than p. Later, Leonard Euler extended Fermat’s theorem in the 1700’s by proving that the expression was also true for prime products. That is, when replacing p by the product of two primes pa and pb, the expression

(p -1)(p -1) m a b MOD papb = 1 is also true for base m and modulus (papb) relatively prime, which means having no common factors other than unity. Multiplying both sides by m yields

(p -1)(p -1)+1 m a b MOD papb = m Letting

(pa-1)(pb-1) = (n) where n = papb, any message m raised to the power (n)+1 in modulo n arithmetic gives back the original message m or m(n)+1 MOD n = m

The basic idea behind asymmetric key cryptography is to generate two numbers (keys) Kp and Kq such that their products will be equal to (n)+1,

KpKq = (n)+1

This problem is the same problem as finding Kp and Kq such that their product in modulo (n) arithmetic is unity. That is,

KpKq = 1 MOD (n)

Note that Kp and Kq are mathematical inverses of each other in modulo (n) arithmetic. Picking

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 15/23

one of the numbers, for example Kp, such that it is relatively prime with both (pa-1) and (pb-1) allows for the Extended Euclidean algorithm then generate Kq Error! Reference source not ound.. Therefore, if the public key is {Kp,n} then the private key would be Kq. Encrypting the message requires an exponentiation of it with the public key within the modulus n. Decrypting the message similarly requires an exponentiation of the encrypted message with the private key within the modulus n to get the original message m as follows:

Encryption Decryption (m)Kp MOD n (mKp)Kq MOD n = m(n)+1 MOD n = m Kp An observer knowing Kp, n, and the cipher text (m) MOD n cannot solve for the message m within a few lifespan by using the fastest computer currently available. The only known practical method for computing m is to first know the secret key Kp. If pa and pb are known, then the secret key Kq can be derived. However, finding pa and pb will involve brute-force factoring of a very large (1024-bit) number, and this will also take several lifespans with the fastest computer currently available.

5.2 Elliptic Curve Cryptography Since the RSA key lengths have become so long (1024 bits), new techniques such as Elliptic Curve Cryptography (ECC) have been invented. ECC is based on sets of predefined mathematical rules for translating coordinates on an elliptic curve in modulo arithmetic. The elliptic curve is defined as y2 MOD p = (x3 + ax + b) MOD p

The public key includes the curve parameters (p, a, b), a point on the curve defined by an (x,y) coordinate pair P, and another point on the curve Q that is a “special” translation of the point P by some secret amount d. This secret amount d is the private key. The “special” translation is such that d  P = Q

This special translation operation is a one way function. That is, one cannot solve for the secret translation scalar d simply by knowing the input and output coordinates P and Q respectively. Therefore, correspondents at each end of the untrustworthy communications channel can easily derive a shared secret key by combining their private key with the correspondent’s public key as illustrated in the following table.

Correspondent-A Correspondent-B Public Key A = {p, a, b, P, Qa} Public Key B = {p, a, b, P, Qb} Private Key A = {da} Private Key B = {db}

Transmit Qa = da  P Transmit Qb = db  P Shared Key = da  Qb = da  (db  P) Shared Key = db  Qa = db  (da  P) This form of key exchange works because the correspondent’s public key also contains the

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 16/23

private key in cryptic form. This process is also referred to as the EC Diffie-Hellman Algorihm. EC keys require about 20 bytes of storage compared with about 256 bytes for RSA keys. Researchers found that a 170 bit EC key length will give approximately the same level of security as a 1024 bit RSA key. Smaller key sizes provide more flexibility for storage in low-end computing devices such as smart cards.

5.3 Digital Signatures Encrypting the plain text or a compressed version of it with the private key rather than the public key creates a digital signature. The recipient verifies the authenticity of the signature by applying the associated public key as we illustrated in Figure 2. The U.S. Federal Information Processing Standard (FIPS) adopted Digital Signature Algorithm (DSA) in the 1990s, even though RSA could have also been used. DSA is used only for digital signatures. Unlike RSA, DSA cannot be used with a public key to decipher the original plain text message. In fact, it requires the original plain text in order to verify the signature. RSA can verify signatures much faster than DSA. However, DSA can create signatures faster than RSA by using pre-computed values. Therefore, it is likely to be used for low complexity computing devices such as smart cards where the verification can be performed on servers which generally has computing capability.

5.3.1 Hashing When creating a digital signature with the private key, the original plain text message itself is not used directly. This is because it is not sensible to encrypt the plain text itself with a private key since it can be decrypted with a public key, as in RSA. Therefore, practical systems sign an irreversible and highly compressed version of the message so that the recipient can verify the signature as shown in Figure 2. Hashing is such a one way function that can produce an irreversible and highly compressed version of the message. When applied to a message, the hashing function produces a sequence of numbers known as the “digital fingerprint” since it is unique and repeatable. The hash value can also be viewed as a form of cryptographic checksum that must change if the input text changes. The hashing function output is also called a Message Integrity Code (MIC) or a Modification Detection Code (MDC.) MICs have a one-to-one mapping with the message. That is, no two messages will produce the same code. This is called weak collision resistance. MICs also have the reciprocal mapping property whereby each code uniquely represents only one message. This is called strong collision resistance. The subtle difference is that weak collision resistance prevents finding any two different messages that will result in the same code while strong collision resistance prevents finding two different source messages in the message space when given a specific code. Message Digest 5 (MD5), created by Ron Rivest, is a popular MIC hashing function. NIST enhanced the previous version of it (MD4) to produce Secure Hash Algorithm (SHA-1). NIST then released the SHA-2 family in 2001, which includes an update to SHA-256 in March 2012used by Bitcoin. A Message Authentication Code (MAC) is another form of message compression and coding that utilizes a secret key. Unlike a MIC, the correspondents using a MAC must share a secret key in order to create and then to later verify the message authenticity. Most MACs are made with secret key ciphers that are repeatedly applied to intermediate compressions of the message. For example, Data Authentication Algorithm (DAA), the FIPS standard since 1985, is really a combination of DES and a compression method. MACs execute much more slowly than MICs.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 17/23

Therefore in 1996, cryptographers proposed the combination of MIC hashing with secret keys and called it HMAC.

5.3.2 Non-repudiation Non-repudiation is the assurance that the sender cannot deny having originated the message because only one who has possession of the secret key could have constructed the digital signature in question. In addition to confidentiality, authentication, and integrity, public key cryptography also provides non-repudiation. Secret key cryptography cannot provide non- repudiation.

5.4 Digital Certificates A correspondent cannot be assured that a public key does indeed belong to the claimed party. Therefore, the public key must be distributed by a trusted source that is willing to certify its authenticity. A digital certificate is the method of choice for public key distribution. The third party authenticates a public key by attaching a digitally signed hash of the plain text message. The recipient verifies the message authenticity by decrypting the hash (verifying the signature) with the third party’s public key and comparing the revealed hash with that resulting from hashing the received plain text. The plain text contains the public key as an attachment and it also describes attributes of the public key owner. Public Key Infrastructure (PKI) is a digital certificate administrative framework for public key delivery. Well-known PKI standards are X.509 and Pretty Good Privacy (PGP.)

5.4.1 PKI Based on X.509 A root Certificate Authority (CA) in X.509 PKI is the first trusted source for authentic digital certificates. The CA can also subcontract its responsibilities to trusted Registration Authorities (RA) and hence form a trusted tree-structure for certificate distribution. Amongst other information, the digital certificate consists of plain text identifying the issuer, the subject unique identity (also called a distinguished name), the subject’s public key, signature method used, and a certificate expiration date. Software vendors typically pay a CA to distribute public keys and so already include CA public keys in their configuration parameters. These are called root certificates because they are self-signed by the CA and contains the CA’s trusted public key. Subjects need the CA’s public key to verify the CA’s digital signature on a certificate that it issues. The CA also issues a challenge message in order to be sure that the subject does indeed possess the associated private key. In doing so, the CA encrypts a random message with the subject’s public key and sends it. The subject decrypts the message with the private key and responds with the plain text message. The CA verifies that the response is the same as the challenge plain text. In addition to managing public keys, the CA also informs users when certificates have been pre- maturely revoked and puts the certificates on a certificate revocation list (CRL.)

5.4.2 PKI Based on PGP Philip Zimmermann developed PGP because he was not comfortable with the bureaucratic style architecture of X.509. Rather than using a CA, users in a PKI based on PGP issue and manage their own digital certificates as well as sign and forward those of other trusted correspondents.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 18/23

This also means that unlike X.509, each certificate can be signed by more than one subject thereby adding higher levels of thrust. Therefore, rather than a centralized thrust model, PGP utilizes a distributed thrust model. PGP is based on RSA public key cryptography but it also supports Diffie-Hellman.

6 Cryptographic Protocols

6.1 SSL Secure Socket Layer (SSL) is a data communications protocol primarily utilized by Internet browsers to facilitate secret key exchanges and provide authentication, confidentiality, and message integrity. It operates above TCP/IP. The IETF standardize it as the Transport Layer Security (TLS) in 1998. Microsoft was the first to incorporate TLS into its browser. SSL/TSL completes a secure transaction by first negotiating which cryptographic algorithms. It then exchanges public keys via digital certificates, generates shared secret keys, authenticates its clients, and finally bulk encrypts the transmitted data for confidentiality and integrity. SSL/TSL uses six secret keys. Both corresponding parties independently generate these from a pre-master secret, which is a random number that the initiating party generates and sends to the correspondent in encrypted form. Three keys are used in each communication direction for each bulk encryption, message integrity check, and cipher engine initialization.

6.2 IPSec In simplest terms, IPSec can authenticate data entering and encrypt data leaving a communications device. It is, however, a complex protocol and several books have been dedicated to the subject (Doraswamy and Harkins 1999). Functionally, IPSec consists or two main parts, secret key exchanges using Internet Key Exchange (IKE) by default, and bulk encryption. The IKE manages authentication and key exchanges while the bulk encryption process provides confidentiality and message integrity. The IKE is a two-phase protocol whereby the first phase openly negotiates parameters to protect the second phase, which in turn negotiates parameters in secrecy for the bulk encryption part. Once the parties agree on cryptographic parameters, the bulk encryption part uses either of two protocols and either of two modes to provide data packet assurances. Devices that use IPSec must also comply with policies that the network manager defines in a Security Policy Database (SPD.) Figure 3 illustrates the overall organization of the IPSec protocol. Unlike SSL/TSL, IKE involves two secret parameter exchanges in two phases so as to add greater security and speed. These separate secret parameter exchanges or phases are also called Security Associations (SA) because each result in the generation of many secret keys. Phase one (also known as IKE-SA) key agreement uses Diffie-Hellman to initially establish an authenticated and secure channel between the IPSec parties. Each party then derives three separate keys for symmetric cryptographic exchanges. Phase two (also known as IPSec-SA) cryptographic parameters and secret keys are then exchanged confidentially using phase one secret keys. The phase two parameters are used for the bulk encryption process and different secret keys are generated for different applications that IPSec services. These are derived much faster than phase one parameters because a secure and authenticated channel has already been established in phase one via more lengthy public key operations. For added security, IPSec

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 19/23

automatically updates phase two secret keys once they have aged beyond a pre-determined lifetime. Phase one keys are updated less often because they involve more computationally intensive public key methods. IPSec also requires a different SA for inbound and outbound messages of the bulk encryption part of the protocol.

IPSEC

SPD Policies

Bulk Phase 1 Encryption

Phase 2 ESP AH Tunnel Transport

IKE Protocols Modes Figure 3: IPSec protocol architecture.

Once the key exchange phases are complete, IPSec is ready to encrypt packets via one of two protocols and one of two modes. The protocol attribute controls the level of assurance, depending on whether, or not one or both message confidentiality and integrity is required. The mode attribute controls how much of the data packet will be protected by the protocol chosen. The two protocol choices are Encapsulating Security Protection (ESP) and Authentication Header (AH.) The mode choices are tunnel and transport. Therefore, there are four possible combinations of protocols and modes. ESP provides both message integrity and confidentiality whereas AH provides only message integrity. The ESP protocol encrypts both the upper layer payload data and the source/destination IP addresses in tunnel mode but only the payload data in transport mode. ESP also includes a signed hash (HMAC) of its own header and encrypted portion of the packet. The encrypted data is also often padded in order to fix the length of the packets. Fixed length data packets make it more difficult for eavesdropper to analyze the statistical nature of the traffic flow between hosts. The AH protocol does not encrypt any of the packet. It provides message integrity by including a signed hash of the payload data in transport mode and a signed hash of both the payload data and IP addresses in tunnel mode. The ESP and AH headers contain a Security Parameters Index (SPI), sequence numbers, and anti-replay attributes. The SPI helps the receiver to quickly locate the governing SA in the database. The sequence numbers and anti-replay attributes are used to detect packets that hackers may copy and replay in an attempt to overload the IPSec protocol and possibly cause the host application to ‘hang-up.’ The sender numbers each packet and the receiver looks within a pre- determined window size for indication of duplicate sequence numbers. The receiver can ignore packets with duplicate sequence numbers and, thereby, prevent hackers from flooding the system with old packets.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 20/23

Transport Tunnel

Encrypted Host IP ESP Encrypted Gateway IP ESP Encrypted HMAC Host IP HMAC Addresses Header {TCP/Data/Padding} Addresses Header {TCP/Data/Padding} ESP Addresses

Authenticated Authenticated

Host IP AH Plain-Text Gateway IP ESP Host IP HMAC HMAC TCP/Data AH Addresses Header {TCP/Data} Addresses Header Addresses

Authenticated Authenticated

Figure 4: Assurances from the four possible protocol/mode combinations of IPSec.

A Security Policy Database (SPD) stores a set of rules that every IPSec enabled host must follow. These set of rules limit the degree with which its host can correspond with other computers on the Internet.

6.3 Virtual Private Networks A Virtual Private Network (VPN) is a secure communications channel that is established between two networking devices (e.g. routers) on a transit or public network such that the two entities can communicate in privacy. Before VPN technology became widespread, corporations leased dedicated channels on private networks in order to communicate in confidence. VPN’s are also used for establishing a secure point-to-point communications channel between the server of a remote client (e.g. a mobile professional) and a corporate server. Point to Point Tunneling Protocol (PPTP), Layer 2 Tunneling Protocol (L2TP), and IPSec are examples of technologies used for establishing Virtual Private Networks (VPN’s.) Most IPSec based VPN products utilize the ESP protocol with tunnel mode because it is the most robust combination. Tunnel mode must be used when proxy gateways or servers (e.g. firewalls) are established between the correspondent hosts. Tunnel mode conceals both the packet and the host address headers. The proxy servers decrypt the packets before forwarding them to the addressed hosts.

6.4 Point-to-Point Protocol PPP was designed to send data across dedicated point-to-point connections between a dial-up client and a Network Access Server (NAS.) It is a four-phase protocol that encapsulates IP (also IPX or NetBEUI) packets. PPP is often used for dial up connections over a serial communications link. It allows two machines on a point-to-point communications channel to negotiate the network layer protocols that will be used during the session. The phase one portion of the protocol establishes, maintains, and eventually tears-down the physical connection. This is also the phase where authentication protocols are selected for the next three phases of communications. The decision to use encryption and compression are also determined in this phase but the specific selections are made in the last phase. Phase two involves client and server authentication and utilizes Password Authentication

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 21/23

Protocol (PAP), or Challenge Handshake Authentication Protocol (CHAP), or Microsoft Challenge Handshake Authentication Protocol (MSCHAP). PAP communicates user name and password in plain text and does not provide any security. CHAP utilizes a challenge and response mechanism whereby the client sends an MD5 hash made with the password, and containing the password, a random challenge string, and the session identification. The server verifies the MD5 hash with the password linked to the user name and thereby completes the authentication phase. The third phase of PPP is an optional callback control mechanism whereby the NAS will disconnect then call back the client at the specified phone number. The fourth and last phase invokes the various control protocols selected in the previous phases. In addition, both data compression and encryption protocols will be selected. Finally, data transfer begins with an encapsulation of the packets with PPP headers.

7 References [1] Doraswamy, Naganand, and Dan Harkins. 1999. IPSec: The New Security Standard for the Internet, Intranets, and Virtual Private Networks. NJ: Prentice Hall. [2] Forouzan, Behrouz. 1998. Introduction to Data Communications and Networking. McGraw- Hill. [3] Mel, H. X., and Doris Baker. 2001. Cryptography Decrypted. Addison-Wesley. [4] Perkins, Charles E. 1998. Mobile IP: Design Principles and Practices. Addison-Wesley.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 22/23

8 List of Acronyms

Acronym Meaning 802.11a A section of the IEEE 802.11 standard that specifies WLAN networks for speeds up to 54 MBPS using OFDM for channel access and QPSK or QAM for carrier modulation. In general, the 802.11 standard specifies channel sharing via CSMA/CA mechanisms that are managed by the MAC. 802.11b A section of the IEEE 802.11 standard that specifies WLAN networks for speeds up to 11 MBPS using DSSS for channel access and QPSK for carrier modulation. API Applications programmer interface. CSMA/CA Carrier sense multiple access/collision avoidance. HTTP Hypertext transfer protocol. IP Internetworking protocol. IPsec IP Security – a set of protocols for secure exchange of Internet packets. ITU International telecommunications union. LLC Logical link control – upper sublayer of the data link layer as defined by IEEE 802.2. MAC Media access control. MSC Mobile switching center. NAS Network Authentication Server PDA Personal digital assistant (e.g. Palm pilot, Compact IPAQ) PHY Physical (layer.) PPP Point to point protocol. RADIUS Remote Authentication Dial-In User Service. RTP Real-time protocol. TCP Transmission control protocol. UDP User datagram protocol. VoIP Voice-over-Internetworking protocol. VPN Virtual private network. WLAN Wireless local area network. WSD Wireless systems division of Symbol Technologies. WWAN Wireless wide area network.

© Raj Bridgelall, PhD (North Dakota State University, College of Business) Page 23/23