Bien, estas son muchas preguntas para una respuesta, y creo que probablemente solo pueda acertar a dos de ellas ... pero aquí va:
FIPS 140-2 Nivel 2
Los requisitos de FIPS 140-2 se centran alrededor de cómo se administran, protegen, manipulan y almacenan las claves. Para referencia, estoy leyendo los Requisitos de seguridad del sitio del NIST.
Lo que estoy viendo es que en la transición del Nivel 1 al Nivel 2, el estándar agrega requisitos relacionados con el almacenamiento físico del material clave, lo que es más sorprendente a nivel de manipulación. Los requisitos pasan de trabajar en el Nivel 1, donde el almacenamiento de claves podría ser software, a los requisitos donde no puedo ver de ninguna manera que pueda guardar las claves en la memoria de una PC o computadora portátil estándar; debe tener una ubicación física protegida para el material clave.
Eso no quiere decir que la ubicación física protegida deba ser un HSM de $ 10,000, si estoy leyendo el Módulos criptográficos validados bien, hay algunos casos en los que los proveedores de lo que parecen ser productos basados en SmartCard están validados hasta el Nivel 3. Ciertamente, algunos productos de SmartCard proporcionan evidencia de manipulación indebida .
Según mi experiencia, cuando opera su almacén de claves en el software, realmente no puede llamar al sistema global una solución FIPS 140-2 de nivel 2, porque no puede hacer esa manipulación. A prueba de pruebas lo suficientemente fuerte. Pero puede obtener módulos de software que pueden "operar en un modo FIPS 140-2 Nivel 2", lo que significa que interactuarán con un dispositivo que puede proporcionar evidencia de manipulación a este nivel y el módulo lo hará en una forma compatible con los estándares que no mueve la llave a ningún lugar al que no debería ir.
Para intentar concretar la pregunta: si puede encontrar un producto de tarjeta inteligente que cumpla con FIPS 140-2 nivel 2 (y creo que puede), puede hacer que una solución de costo más bajo que HSM funcione, pero tiene para darse cuenta de que la tarjeta inteligente tendrá que estar presente cada vez que desee que su solución realice operaciones de cifrado, ya que quitar las llaves de la tarjeta destruirá el propósito de evitar la manipulación indebida. Por lo tanto, no estoy seguro de que vaya a "Cargar claves usando un lector de tarjetas inteligentes", lo que para mí implica intentar quitar las claves protegidas de la tarjeta.
Estándares alternativos: CC-1 y EAL 5
Estoy un poco confundido aquí ya que estos no son exactamente lo mismo. EAL 5 es para un nivel de verificación bastante estricto de que un producto cumple con su comportamiento de seguridad definido. Pero no es lo mismo que las protecciones clave proporcionadas por FIPS 140-2. Con frecuencia, he desarrollado sistemas que han tenido que usar ambos , porque ofrecen diferentes tipos de seguridad. Tener un nivel EAL realmente alto lo protegerá de diferentes maneras que tener FIPS de Nivel 2.
Sería muy reacio a recomendar el intercambio de estos: debe diseñar un sistema que se proteja al nivel de los riesgos en el medio ambiente y el valor de la información / operaciones que protege. El intercambio entre estándares no va a hacer eso, lo hará el análisis de seguridad.
Intranet o independiente
Esto realmente tiene que basarse en las necesidades de una aplicación. Dónde lo ubique, cómo controle el acceso, qué propósitos tendrán la Intranet o los usuarios locales, y qué necesita proteger, determinará dónde lo coloque y qué protecciones necesitará para ello.
Ciertamente, cuanto más accesible sea la aplicación, más amplia será el área de ataque. Pero los sistemas en línea también pueden ser más fáciles de actualizar y mantener, y si la disponibilidad en una crisis supera la inaccesibilidad en caso de ataque, en línea puede ser mejor que un cliente independiente.
Me desconfiaría de los consejos sobre este punto que no provienen de una discusión bastante completa de su propósito y producto.