Why the Milliatary and Government Love XMPP Instant Messaging & Presence Solutions
Wednesday, April 1st, 2009Instant Messaging (IM) and Presence applications are of growing importance in secure environments such as Military and Government. The Internet Standard XMPP (eXtensible Messaging and Presence Protocol) is being widely adopted as the technology of choice.
There are a number of reasons why XMPP is the preferred choice for Military and Government:
-
XMPP is the only open standards choice, providing server/server protocols, with client and server implementations from multiple vendors.
-
An open standards client/server protocol enables use of different Web and desktop clients, allowing choice of client suitable to the specific application and avoiding vendor lock-in.
- Distributed deployment is important for:
- Interoperability with partner organizations.
- User partition for security reasons.
- Survivability.
An open server/server protocol is essential to achieve this.
- XMPP provides a base for a wide range of capabilities that go beyond basic IM, and the XSF (XMPP Standards Foundation) is an open organization actively developing this functionality, specified in the XEP (XMPP Extension Protocol) series. There is active military and government involvement in XSF to meet future requirements. This includes:
- Extended presence that provides additional user information and capabilities such as Geo-location.
- White-boarding.
- Direct user to user communication, for capabilities such as VOIP and file transfer.
- Publish/Subscribe (“PubSub”), which gives a flexible information sharing capability.
Government and Military organizations usually use directory servers to hold user information. Benefits of this architecture:
- User information is shared with other applications.
- XMPP clients can use the same user authentication as other applications.
- Location independent user and server configuration is provided.
- Many related tools provide user and server administration.
- XMPP user profile information can be centrally controlled, which avoids duplication.
- XMPP user profile changes can be used to update the directory
Peer Security (Client/Server and Server/Server)
There are a number of security services that may be used for either client/server or server/server XMPP communication.
Use of client server architecture is important for IM security. The IM client will authenticate to the server. This will enable the server to:
- Control messages and presence information from the client, to ensure this only goes to appropriate recipients.
- Ensure that the client is only provided with information that the client is entitled to have.
A client/server architecture enables security controls to be managed on the server, and so places the majority of the security requirements onto the server. Given that there are less servers, and that servers can be managed centrally, this is a good thing.
An XMPP Client will bind to its own server, and server/server communication is used for remote users. This builds a trust chain, and so server/server security is critical. The XMPP protocols use common security capabilities for the client/server and server/server protocols.
Data Confidentiality & Integrity
Data confidentiality is important in many government and military environments. The XMPP protocols (server/server and client/server) support data confidentiality using TLS (Transport Layer Security).
Some high security environments specifically choose not to use data confidentiality for applications, for example to enable audit and monitoring. Where this is the case, TLS can be used with a NULL cipher suite (i.e., no data confidentiality), so that TLS can provide data integrity services and support the authentication services described next.
Strong Authentication
Use of Strong Authentication for peer authentication is desirable in high security environments, particularly for server to server authentication.
XMPP authentication is based on the Internet Standard SASL (Simple Authentication and Security Layer). This includes strong authentication based on X.509 using the SASL EXTERNAL mechanism, so that the XMPP application utilizes authentication done at the TLS level.
The XMPP community is strongly promoting use of strong authentication for server to server communication, as this is substantially better than the dial-back mechanism in common operational use.
Use of strong authentication is strongly recommended for server/server use in military and government deployments. It is also recommended for client/server use, where clients support strong authentication.
Password Authentication for Clients
Although strong authentication is desirable, in many situations it may be preferable to use password based authentication. In particular, password based authentication is supported by a large number of clients. Where passwords are used, control of password quality and general use is important. This can be supported well using a directory back-end.
Multi-User Chat (MUC)
Multi-User Chat is critical to many XMPP deployments, in particular military, where sharing of information in groups (for example decisions on whether to engage) are made using MUC rooms. Support of MUC is a key feature for many XMPP deployments.