Demystifying Windows NT 4.0's RAS security to answer this relevant question

You've probably seen the commercials in which businessmen and consumers alike are debating whether sending confidential information over the Internet is safe. You might even have pondered the issue as you were about to order flowers or send proprietary files over the Internet.

"Is it safe?" is a valid question, given that about 11 million Americans telecommute at least once a day. The increasing popularity of telecommuting is pressuring businesses to give employees and customers secure access to enterprise networks and the Internet. Network administrators and managers are spending thousands and even millions of dollars to secure their sites and networks.

In the past, companies often used clear text passwords for remote access connectivity. Although some Internet Service Providers (ISPs) still offer only clear text authentication, many are switching to more secure authentication methods, such as the one in Windows NT 4.0.

NT 4.0's Remote Access Service (RAS) offers much more than encrypted authentication. Microsoft claims that using NT RAS to dial in remotely is even more secure than logging on to a LAN file server. This claim carries some weight because RAS security features--such as authentication protocols, encryption standards, security hosts, and Point-to-Point Tunneling Protocol (PPTP)--are not usually available when you log on to a LAN.

Authentication Protocols
NT 4.0 uses various types of authentication protocols, including Password Authentication Protocol (PAP), Shiva Password Authentication Protocol (SPAP), Challenge Handshake Authentication Protocol (CHAP), and Microsoft CHAP (MS-CHAP). These protocols directly affect the type of encryption that remote access clients can use.

PAP is the least sophisticated authentication protocol. PAP encrypts the password database but not the user ID or password.

Because PAP uses clear-text passwords, you use PAP in only two circumstances: when you're dialing in to a Point-to-Point Protocol (PPP) server that does not support encrypted authentication and when you're dialing into a Serial Line IP (SLIP) server. (SLIP servers understand only clear-text passwords.) In general, you use PAP only when the client and server cannot negotiate a more secure form of authentication.

SPAP is Shiva's proprietary version of PAP. SPAP is more secure than PAP because SPAP uses a two-way (reversible) authentication method that encrypts passwords. Thus, SPAP offers a medium level of security for remote access.

Shiva uses SPAP in its remote access client software. Thus, you can use SPAP to connect an NT client to a Shiva LanRover or a Shiva client to an NT server. You can also use SPAP when a Windows 95 (Win95) client is set up for user-level security using a Novell NetWare account.

An important distinction exists between CHAP and MS-CHAP. CHAP is a widely accepted industry authentication protocol; MS-CHAP, a proprietary protocol, is not. You can, however, use MS-CHAP with CHAP.

CHAP provides a higher level of security for remote access than PAP. CHAP encrypts the user ID or password, but the CHAP password database is in clear text.

CHAP uses a three-way handshake to provide encrypted authentication. The authenticator first sends out a challenge to the client. The client responds with a one-way encrypted value. The authenticator checks to see whether the value matches. If it does, the authenticator acknowledges the authentication. CHAP then periodically verifies the client's identity. It changes the challenge value every time it sends out a message, which protects against playback attacks (i.e., a hacker records the exchange and plays back the message to obtain fraudulent access).

MS-CHAP, the most secure encryption algorithm that NT supports, is Microsoft's version of RSA Data Security's MD4 standard. MS-CHAP uses a one-way hash function to produce a message-digest algorithm. A hash function takes a variable-size input and returns a fixed-size 128-bit string. This type of algorithm produces a secure checksum for each message, making it almost impossible to change the message if you don't know the checksum. (For more information on hashed passwords, see Mark Minasi, "Windows NT Logons," June 1997.)

Both NT 4.0 and Win95 RAS clients use MS-CHAP to negotiate a PPP connection to an NT RAS server. MS-CHAP corresponds to the Require Microsoft Encrypted Authentication encryption setting on the RAS server. MS-CHAP uses RSA Data Security's RC4 algorithm to support RAS session user data encryption. Currently, NT uses two versions of the algorithm: 128-bit RC4 encryption for the US and Canada and 40-bit RC4 encryption for export. Microsoft cannot export the 128-bit version because US law prevents American companies from exporting software with an encryption scheme exceeding 40 bits. (Congress is currently debating HR 695, a bill that would let US companies export 56-bit encryption software. For more information on this bill's history, see Mark Smith's editorial, "The Key to the Kingdom," June 1997. For updates on where HR 695 is in Congress, go to

With MS-CHAP, you can configure the RAS server so that users connecting to the server can send only encrypted data. However, some vendors do not support MS-CHAP in their products, and therefore, you probably could not connect to those products.

Encryption Standards
Data encryption software often uses two types of encryption algorithms: public-key algorithms and shared-key algorithms. Public-key algorithms use two different keys for encryption and decryption, which is why people often refer to them as asymmetric algorithms. The software owner keeps a private key, and users share a public key.

Public-key algorithms are painfully slow. Thus, vendors usually use them only to encrypt session keys or digitally sign messages. Pretty good privacy (PGP) is a popular encryption program that lets people exchange files and messages in a private and convenient way. PGP offers a highly secure implementation of public-key technology to the masses. It uses RSA public-key cryptosystem and is faster than most other implementations of public-key cryptography.

Shared-key algorithms use the same key for encryption and decryption, which is why people often refer to them as symmetric algorithms. Vendors use shared-key algorithms more often than public-key algorithms in their encryption software because shared-key algorithms work much faster, especially when you're encrypting a large amount of data. The shared key (also called the shared secret) is usually the user's password, as is the case with NT 4.0. Two commonly used shared-key encryption standards are MD5-CHAP and Data Encryption Standard (DES).

MD5-CHAP is an encryption scheme from RSA Data Security. It produces a 128-bit hash code of an input file. On a 32-bit architecture, MD5-CHAP provides a fast and simple algorithm that can process input in 512-bit blocks.

Various PPP vendors use MD5-CHAP. Microsoft RAS clients can use MD5-CHAP when connecting to third-party remote access servers. Although MD5-CHAP is available on the client side, it is not available on NT RAS servers because it requires servers to use a clear-text password.

NT and Win95 clients automatically use DES when they communicate with an NT server over RAS. DES is a 64-bit symmetric block cipher that has a fixed key length of 56-bits. DES, a standard developed by the National Institute of Standards and Technology (NIST), uses an encryption key that is a binary number with 72 quadrillion possible combinations. Because each session uses a randomly selected encryption key, DES is a very secure encryption standard. DES is also fast. The encryption speed for DES on a Pentium 120MHz system is more than 1MBps.

Because DES is a US government standard, most people consider it a strong encryption scheme. But in June 1997, in response to RSA Data Security's $10,000 challenge, cryptography ex-perts decoded a message protected by 56-bit DES encryption. They checked 18 quadrillion keys until they found the correct key that revealed the encrypted message: "The unknown message is: Strong cryptography makes the world a safer place." Thus, cryptography experts believe that the 56-bit DES is not strong enough and recommend using 128-bit encryption instead. The 128-bit encryption requires 4.7 trillion billion times as much work as breaking 56-bit encryption.

NT 4.0 Options for Data Encryption
Microsoft recently released Routing and Remote Access Service (RRAS--formerly code-named Steelhead), which adds new capabilities to NT 4.0's RAS. (For more information about the differences between RAS and RRAS, see Mark Minasi, "Steelhead Swims into the Mainstream," August 1997, and Douglas Toombs, "Create a Virtual Private Network with RRAS," November 1997.) RRAS supports 256 simultaneous remote access connections, 48 demand-dial interfaces, and 16 LAN interfaces. Table 1 describes the authentication and encryption settings in NT 4.0 under RRAS.

One new capability that RRAS brings to NT 4.0 is the Require strong data encryption option. As Screen 1 shows, when you select the Require Microsoft encrypted authentication box, you can choose from two levels of encryption: Require data encryption or Require strong data encryption.

Require data encryption ensures that only encrypted data travels between the client and the server. RSA Data Security's RC4 algorithm provides this encryption. The clients must support MS-CHAP to take advantage of data encryption feature.

Require strong data encryption lets you use the strongest possible encryption scheme on your system. Thus, if you have 128-bit encryption on your system, this option forces you and those to whom you are connecting to use it. Therefore, you must make sure that the PC on the other end of your connection can negotiate a 128-bit encryption; otherwise, you will not be able to connect to the PC. Similarly, RAS clients and other routers must use the Require strong data encryption option if they want to connect with your system. RRAS does not support third parties' strong encryption options.

Another new capability is support for Remote Authentication Dial-In User Service. RADIUS is a protocol that provides remote authentication and accounting of dial-in users. A RADIUS database stores a profile of each user in the network. The profile contains permission, routing, packet-filtering, billing, and other data.

As Figure 1 shows, here is how RADIUS authentication works:

    1. A remote access client dials in to a RAS server.
    2. The RAS server passes the request to the RADIUS server.
    3. The RADIUS server verifies the user's logon ID and passes the request to the NT authentication server.
    4. The NT authentication server responds to the RADIUS server.
    5. The RADIUS server forwards that response and the user's profile (which is in the RADIUS server's database) to the RAS server.
    6. The RAS server grants or denies the user access to the network based on the user's profile.

When you install RRAS, you can select either NT or RADIUS as the authentication provider. If you check the RADIUS box, your NT system acts as a RADIUS client and connects to a RADIUS server.

Win95 Client Options for Data Encryption
Win95 clients, by default, do not require encrypted authentication. You can enable encryption by going to Connection Properties and selecting the Server Types tab. If you check the Allow any authentication including clear text box on the NT RAS server and leave the Require encrypted password box unchecked on the Win95 client, the client will use DES encryption because both the client and server are using RAS. If you dial in to another server (such as an ISP), the Win95 client can use clear text (PAP) authentication.

Win95 supports PAP and MS-CHAP but not CHAP. If you are using devices that do not support MS-CHAP (e.g., 3COM's ISDN modems), you must leave the Require encrypted password box unchecked for Win95 clients, as shown in Screen 2. You must also leave the Require Microsoft encrypted authentication box unchecked for the NT client. If the PPP server you are dialing in to supports CHAP, you need to select Require encrypted authentication for the NT client. If the server does not support encryption, you need to select Allow any authentication including clear text.

Security Hosts
A security host is a third-party authentication device that verifies whether a remote access client has authorization to connect to the RAS server. Various types of security hosts are available. One type of security host requires that the user enter the security host's account name and password before gaining access to the RAS server. The security host checks the account name and the password against its database. If the user is authenticated, he or she can then connect to the RAS server for further authentication and access to the network resources. The security host's account name and password do not have to match the RAS server's username and password.

Another type of security host consists of two hardware devices: a security host and a security card. The security host, which sits between the RAS server and its modem, calculates a different access number every minute. The host synchronizes the access number with the number displayed on the security card. The card, which looks like a pocket calculator, remains with the user. When user calls in, he or she enters the number displayed on the security card. If the number matches, the security host lets the user connect to the RAS server. (For an example of this type of security host, see Ben Rothke, "Token-Based Security Add-Ons," June 1997.)

Security host verification does not bypass, but rather augments, NT RAS security. The security host usually sits between the client and the RAS server. It uses a hardware key for authentication. When clients dial in, the security host must authenticate them before they can reach the RAS server. After the security host authenticates clients, the RAS server must also authenticate them.

PPTP creates a secure tunnel between a RAS client and the RAS server. PPTP uses PPP--a popular industry protocol for dial-up access services that includes authentication and encryption standards--to provide compressed and encrypted communication.

PPTP lets clients use the Internet to access a private network. The re-mote access client uses a modem or ISDN line to connect to the local ISP. The remote access client then makes a second RAS connection (this time using PPTP over TCP/IP) to establish a secure connection to the PPTP RAS server. This arrangement is a Virtual Private Network (VPN). (For more information about PPTP, see Douglas Toombs, "Point-to-Point Tunneling Protocol," June 1997.)

An option on the RAS server enables PPTP packet filtering. This option enhances security because it accepts and routes packets from authenticated users only. As Screen 3 shows, the Enable PPTP Filtering option is on the RAS server in the Advanced IP Addressing screen. When you select this option, the server disables all protocols except PPTP on the network adapter.

With PPTP packet filtering and PPP's encryption standards, only secure, authorized, encrypted data can enter or leave your VPN. If hackers manage to capture your IP datagrams when they're traveling over the Internet, the hackers will not find much useful information to decipher. They might capture information such as IP headers, media headers, and PPP packets of encrypted data, but this information will not jeopardize network security.

In addition to using PPTP filtering, you can take advantage of the Enable Security option. This option lets you control the type of TCP/IP network traffic that reaches your NT server. You can select which TCP ports, User Datagram Protocol (UDP) ports, and IP protocols you allow to access your NT server.

PPTP uses TCP port 1723, and the IP protocol uses ID 47. You can use PPTP with most firewalls and routers. You route traffic destined to port 1723 through the firewall or router. PPTP supports TCP/IP, IPX, and NetBEUI protocols. (Although you can encapsulate all three, you can use only IP as the transport.)

It's Safe
RAS in NT offers a high level of security. RAS can ease any fears that you might have about remotely accessing a private network, even if you use the Internet to make that connection. When you use RAS security features and third-party offerings, remote access is a secure and reliable method to telecommute.