Crypto API es un marco de criptografía en el núcleo de Linux , para varias partes del núcleo que se ocupan de la criptografía, como IPsec y dm-crypt . Se introdujo en la versión 2.5.45 del núcleo [1] y desde entonces se ha ampliado para incluir esencialmente todos los cifrados de bloque y funciones hash populares .
Interfaces de espacio de usuario
Muchas plataformas que proporcionan aceleración de hardware del cifrado AES lo exponen a los programas a través de una extensión de la arquitectura del conjunto de instrucciones (ISA) de los distintos conjuntos de chips (por ejemplo, el conjunto de instrucciones AES para x86 ). Con este tipo de implementación, cualquier programa ( en modo kernel o en espacio de usuario ) puede utilizar estas funciones directamente.
Sin embargo , algunas plataformas, como los procesadores ARM Kirkwood SheevaPlug y AMD Geode , no están implementadas como extensiones ISA y solo se puede acceder a ellas a través de controladores en modo kernel. Para que las aplicaciones en modo usuario que utilizan cifrado, como wolfSSL , OpenSSL o GnuTLS , aprovechen dicha aceleración, deben interactuar con el kernel. [2]
- Álgebra_af
- Una interfaz basada en netlink
AF_ALG
que agrega una familia de direcciones; [3] se fusionó con la versión 2.6.38 de la línea principal del kernel de Linux . [4] [5] Hubo una vez un complemento para OpenSSL para soportar AF_ALG, [6] que se envió para su fusión. [7] En la versión 1.1.0, OpenSSL incluyó otro parche para AF_ALG aportado por Intel. [8] wolfSSL puede hacer uso de AF_ALG y cryptodev [9]
- desarrollo criptográfico
- La interfaz OpenBSD Cryptographic Framework
/dev/crypto
de OpenBSD fue trasladada a Linux, [10] [11] [12] pero nunca se fusionó.
Véase también
Referencias
- ^ "Desarrollo del núcleo". LWN.net . 2002 . Consultado el 29 de septiembre de 2013 .
- ^ Xiao, Yuan; Li, Mengyuan; Chen, Sanchuan; Zhang, Yinqian (30 de octubre de 2017). "STACCO: análisis diferencial de rastros de canales laterales para detectar vulnerabilidades SSL/TLS en enclaves seguros". Actas de la Conferencia ACM SIGSAC de 2017 sobre seguridad informática y de las comunicaciones . CCS '17. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 859–874. arXiv : 1707.03473 . doi :10.1145/3133956.3134016. ISBN 978-1-4503-4946-8.
- ^ Edge, Jake (20 de octubre de 2010). "A netlink-based user-space crypto API" (Una API criptográfica de espacio de usuario basada en Netlink). LWN.net . Consultado el 29 de diciembre de 2011 .
- ^ Cambios en Linux_2_6_38
- ^
03c8efc Archivado el 15 de abril de 2013 en archive.today
fe869cd Archivado el 15 de abril de 2013 en archive.today
8ff5909 Archivado el 15 de abril de 2013 en archive.today
- ^ Markus (22 de octubre de 2011). «OpenSSL - AF_ALG». Archivado desde el original el 28 de septiembre de 2011. Consultado el 29 de diciembre de 2011 .
- ^ Markus nepenthesdev at gmail.com (3 de julio de 2011). «#2554: Parche: motor dinámico AF_ALG para Linux >= 2.6.38». OpenSSL . Archivado desde el original el 9 de abril de 2016 . Consultado el 29 de diciembre de 2011 .
- ^ clucey (17 de febrero de 2016). «ALG: Añadir motor AFALG». OpenSSL . Consultado el 31 de agosto de 2016 .
- ^ Jacob (19 de diciembre de 2018). "AF_ALG + Cryptodev-linux" . Consultado el 10 de marzo de 2020 .
- ^ Ludvig, Michal. "CryptoDev para Linux" . Consultado el 29 de diciembre de 2011 .
- ^ Mavrogiannopoulos, Nikos. «cryptodev-linux». Archivado desde el original el 20 de marzo de 2012. Consultado el 12 de enero de 2012 .
- ^ Edge, Jake (25 de agosto de 2010). "Una API para el acceso desde el espacio de usuario a la criptografía del núcleo". LWN.net . Consultado el 29 de diciembre de 2011 .