title: Talking to a mirage?
by: Scott Bradner
Security is expensive. It is expensive in terms of complexity, management and non-ease of use. It is also expensive in terms of processing power required. But attempts to minimize the impact of the latter on web servers are now impacting the very security that is being sought.
Web security is pretty good stuff. The basic idea is that you want to set up a secure communication between yourself and a server that you are sure is the right server at the same time the server wants to be sure that its talking to you not someone down the street. The server has a digital certificate that your browser uses to be sure that it is communicating with the right server. You authenticate yourself to the server with your own digital certificate or with a logname password combination. Thus the server knows who you are. You as a user authenticate yourself to an authenticated server -- just the right level to be securing -- and the communication is encrypted - what more could you want?
By the way, what I meant by saying that web security is at "just the right level" is because the authentication is taking place at the user level not the system level as is the case with many VPN solutions. VPNs can be used between firewalls, in which case the communication inside the firewalls is open to eavesdropping and the identity of the servers and users is not assured. VPNs can also be used between remote computers and a firewall, the result here is not much different -- insecure internal communications and no server authentication, in addition if the remote computer is compromised the first line of corporate defense is breached.
But there is a disturbing, if understandable, trend that undermines some of the security of a secure web environment. This is the movement to separate front-end processors that are used to off load some of the computing intensive work from the web servers. These front-end processors mimic the server that you are trying to connect to. They have a digital certificate for that server so your browser thinks it is talking to the actual server. The front-end processor does the encryption and decryption and communicates with the actual web server using unencrypted data streams.
Since this is all in a data center one might think that it's all OK security-wise but its not. The data is now exposed to eavesdropping where it had not been. Also, if the front-end processor is compromised all of the servers it front-ends for are compromised. But more importantly, you as a user no longer can be sure what you are talking to. Transparent proxies, NATs and firewalls have already compromised the original end-to-end Internet model and I guess this is just another little step along the path but I don't have to feel good about it.
disclaimer: Harvard's original model is long gone or this column would be more pious -- but the University has not expressed a view on Internet transparency.