Las interfaces de programación de aplicaciones (API) son esenciales en los ecosistemas digitales de las organizaciones sanitarias. Al permitir el intercambio de datos sin problemas, facilitan el funcionamiento conjunto de tecnologías, sistemas, aplicaciones y procesos muy heterogéneos entre sí. Debido a ello se han convertido en un blanco preferido de los hackers. Por ende, es muy importante tomar medidas para reforzar la seguridad de las API.

Lo anterior queda aún más claro si se piensa que las API pueden permitir el acceso directo al núcleo de las aplicaciones y no siempre están sujetas a medidas de seguridad lo suficientemente estrictas.

En el caso de la computación en la nube, muy frecuente en el cuidado de la salud, los riesgos se incrementan. Dado que la información fluye entre servidores con configuraciones de seguridad dispares, los datos pueden quedar expuestos con facilidad. Una vulnerabilidad puede conducir a exfiltraciones o secuestro de datos. Es por ello tan necesaria la seguridad de las API.

Ahora bien, lograr el equilibrio entre la seguridad de las API y su funcionalidad es una tarea compleja. Sin embargo, existen criterios útiles para dicho propósito.

Seguridad de las API y autenticación

Establecer controles sólidos de acceso e identidades. Esto puede complicarse porque al establecer la comunicación entre programas, las API no siempre demandan confirmar la identidad del usuario. Por supuesto, eso pone en riesgo la seguridad de las API.

Para evitarlo pueden utilizarse herramientas como el lenguaje de marcado de aserción de seguridad (SAML) u Open Authorization (OAuth). Inclusive, cuando las API son de acceso abierto en la Internet, conviene establecer un paso extra de autenticación mediante tokens, por ejemplo. Además, se debe controlar el acceso a los datos según el rol del usuario.

Tales procedimientos pueden acelerarse y asegurarse mediante el uso de un microservicio de autorización dedicado. Eso reduce el riesgo de que agentes maliciosos se hagan de información o sistemas confidenciales.

Por otra parte, se debe evitar que las claves utilizadas por los desarrolladores para la autenticación entre servicios se expongan en el código fuente o en repositorios Git. También conviene que se utilicen claves distintas para cada entorno (desarrollo, prueba y producción) y que aquellas deban renovarse periódicamente.

Beneficios vs límites

Cifrar las llamadas a las API. Todas las llamadas deben ejecutarse mediante túneles de HTTP sobre TLS/SSL (HTTP/S), lo cual contribuye a la seguridad de las API al bloquear la mayoría de los ataques que buscan robar información, como el sniffing. Conviene establecer esta política aun si se piensa que las redes hospitalarias son seguras.

En el caso de la computación en la nube es más relevante, pues la información viaja entre centros de datos a través de la Internet. Si se utilizan servicios ​​en la nube para implementaciones temporales o para pruebas es necesario establecer políticas que refuercen la seguridad de las API.

Por otro lado, en el caso de las API heredadas suelen existir puntos ciegos. No son raros los recursos cuya existencia se ignora, por lo que se dice que están “en la sombra”. Pueden ser puntos de acceso obsoletos que nunca se eliminaron o bien, nuevos puntos de acceso sin documentar. Si las API continúan en uso, se debe comprobar que tengan una capa de cifrado y, si no es así, añadirla.

Limitar la velocidad y el número de solicitudes. Lo primero puede atajar los intentos de un hacker de descargar grandes conjuntos de datos, pues da más tiempo para que las soluciones de seguridad identifiquen el ataque. Lo segundo ayuda a frenar las amenazas automatizadas, como los ataques DDoS ejecutados por bots malignos.

Para evitar inconvenientes a las aplicaciones y usuarios legítimos sin comprometer la seguridad de las API, las limitaciones pueden vincularse a una autenticación robusta.

Vincular a las API con las aplicaciones de seguridad. Las API deben reportar las solicitudes que reciben a las herramientas de monitoreo, seguridad y gestión de eventos. Dichos datos permiten entonces detectar anomalías o conductas inusitadas para identificar con oportunidad ataques o fallas en los sistemas.

Utilidad de las API

De cara a los usuarios finales, las API también ofrecen beneficios, pues les brinda mejores experiencias. Esto es, en vez de lidiar con interfaces de usuario distintas para cada aplicación, les basta con ingresar a un solo portal web. A partir él pueden acceder a los recursos de la organización que necesiten de manera sencilla y rápida, sin frustraciones.

Mediante las API es posible mantener el flujo de datos sin afectaciones ante eventos como actualizaciones de software o cambios de medio de almacenamiento. Inclusive, dado que automatizan las comunicaciones entre aplicaciones, facilitan la toma de decisiones.

Así, por ejemplo, es más sencillo determinar la situación específica de cada paciente y dar seguimiento a su evolución. Y para preservar tales ventajas se requiere fortalecer la seguridad de las API.