PHINMS Security White Paper Pdf Icon[230 KB, 8 Pages]
Total Page:16
File Type:pdf, Size:1020Kb
On Securing the Public Health Information Network Messaging System Barry Rhodes Rajashekar Kailar Associate Director For Public Health System Development Chief Technology Officer Information Resources Management Office Business Networks International, Inc. Centers for Disease Control and Prevention www.bnetal.com www.cdc.gov Abstract The Public Health Information Network PHINMS is operating system neutral since it is Messaging System (henceforth, PHINMS) is the implemented using Java and J2EE standards. Centers for Disease Control and Prevention’s (CDC) implementation of the ebXML 2.0 Further, it provides language neutral, queue based messaging standards [EbXML]. This system was interfaces for sending and receiving messages. The developed for the purpose of secure and reliable preferred queue implementation is an messaging over the Internet. This software has ODBC/JDBC compliant database table, but been widely deployed by CDC and its public support for queues based on XML file descriptors health partners, including state and local health also exists. PHINMS supports peer-to-peer departments, and healthcare providers. PHINMS is messaging, as well as messaging via a third party designed to leverage X.509 digital certificates using a send and poll model. issued by public key infrastructures, but does not require a single, universal PKI. In this paper we Message data security is accomplished using a discuss some of the security aspects of PHINMS. combination of encryption, end-point authentication, and access control techniques. Introduction Transport reliability is accomplished using message integrity verification, transmission retries and duplicate detection on message receipt. The Public Health Information Network Messaging System (PHINMS) is a CDC Since PHINMS is used to transport sensitive data developed implementation of existing standards over public un-trusted networks (e.g., Internet), it for the secure and reliable transmittal of messages is important to make sure that end-points trust across the Internet. each other, are able to identify and authenticate each other, and that communication channels The PHINMS relies on ebXML, XML encryption preserve data confidentiality and integrity. Further, [XMLENC], XML Digital Signature [XMLDSIG], access to data sent and received should be SOAP [SOAP] and other standards. PHINMS is controlled. the primary message transport system for the National Electronic Disease Surveillance System The balance of this paper will focus on some of [NEDSS], the Laboratory Response Network the security considerations that went into the [LRN], National Health Safety Network [NHSN] design and implementation of PHINMS. and various other public health preparedness programs within CDC. By design, PHINMS is message data (payload) independent; hence it can be used to transport any type of data (e.g., text, binary). Security Considerations Several security considerations went into the acceptable. In a purely PKI based authentication design, implementation and deployment of framework, a trust bridge such as the Federal PHINMS. The following is a brief description: Bridge CA could be used to address this Trust1 problem. However, while PHINMS supports PKI based authentication, it also supports other Secure messaging over public un-trusted modes of authentication, such as basic or custom networks requires messaging parties to be able authentication. to identify, authenticate and trust each other. For this, firstly, real world trust relationships need to be established between messaging organizations. PHINMS is designed to support both centralized This may include establishing written and de-centralized trust models. Decisions on agreements on service levels, liabilities, etc., identity binding and security credentialing are pursuant to OMB guidance on the Government made by the deploying organizations. Decisions Paperwork Elimination Act (GPEA) as well as on trusting the identity and security credentials the Electronic Signatures in Global and National are made mutually between messaging parties at Commerce Act (E-SIGN). Further, business the time when electronic collaborations are processes for creating and handling messages at created. each end of the messaging pipe need to be put in place. Once trust and business relationships are established in real world terms, electronic Identification, Authentication and collaboration agreements can be setup for Authorization message transport and processing. This includes setting up relationships to trust certification Identification and authentication in messaging is authorities and the identity of the sending and a difficult topic and is one that is far from receiving components (e.g., using access control mature. Since the message is typically sent by a lists). process and not necessarily triggered by an individual, the authentication dialog must be scriptable. That is, the sending application must In the centralized trust scenario, a central node be able to negotiate the exchange of credentials performs identity binding and security without human intervention. This is only credentialing, and all nodes establish trust possible for certain security tokens (e.g., relationships with a central node. In this case, hardware based one time passwords and assuming n nodes, only O(n) trust relations are biometric identities don’t lend themselves to this needed. However, in a heterogeneous kind of scripted authentication exchange). environment where trust is de-centralized, with n nodes, each node may need to establish a trust PHINMS supports automated authentication relationship and security credentials with every dialogs for client-certificate based authentication other node, and in the worst case scenario O(n2) over SSL, basic authentication, and form based trust relationships may be needed. Since authentication. The method used for mutual and messaging nodes typically belong to automated identification and authentication autonomous organizations and realms, between messaging parties is part of the establishing a globally accepted central identity electronic agreement between them, and should and trust authority may not be politically be established upfront, after the real world trust relationship has been established. 1 “Trust” in this context is more generic than what is involved in PKI based certificate chain validation. In particular, it may involve other (non-PKI) authentication mechanisms (e.g., basic or form based authentication). PHINMS Receiver Server A Security Credential P PHINMS Sender Security Credential Q PHINMS Receiver Server B Each messaging node in the Public Health The web-server proxies typically reside in the Information Network (PHIN) is identified by a organization’s DMZ, and mediate all inbound globally unique identifier. As shown in the traffic for the PHINMS receiver server, diagram above, a messaging node (i.e., PHINMS authenticating the sending process. SSL with sender) may contain one or more security client-certificate based authentication is the credentials that allow it to conduct automated preferred method of authentication for PHINMS, authentication dialogs with other messaging since it is a well established standard and is nodes. In the absence of a universally trusted widely implemented by web-server proxies. authority to issue security identities and credentials, potentially, a different security Once the message sender is authenticated, it is identity and set of credentials may be needed for the responsibility of the receiving organization’s the purpose of authenticating to each message web-server proxy to ensure that an authenticated destination. The security credentials may include sender only gains access to the receiver URL. At client certificates (key-stores), passwords, etc. this time, PHINMS does not provide support for Managing these security credentials can be a attribute certificates which can be used for daunting task for the messaging administrator in authorization decisions. Authorization the face of expiring certificates, password information is stored on the receiver server, and renewals etc. Of course, certificates can be enforced by the web-server proxy based on the issued with an expiration period of years, authenticated identity of the PHINMS senders. whereas passwords typically must be changed every 90 days, so the problem with the latter is far more daunting. Authentication Factors For interactive authentication dialogs over the The recommended architecture for PHINMS Internet, generally, two factor authentication2 is messaging is one where the PHINMS receiver considered stronger and more secure than single components are protected from direct access factor authentication. from the Internet, by web-server proxies as shown in the diagram at the top of the next column: 2 Authentication mechanisms typically use secrets such as what a user knows (e.g., password), what a user has (e.g., hardware token) and what a user is (e.g., thumbprint). These are called authentication factors. For strong authentication, a combination of two of these three factors is used. However, in the case of B2B automated security In the case of store and forward messaging, data dialog, the security value of two-factor is protected from being read by intermediaries authentication is significantly diminished, since by using asymmetric encryption using the public there is no real user behind the authentication key of the message recipient to encrypt a dialog. random symmetric key, which in turn encrypts the data. Additionally, communication