암호화 API(Linux)

Crypto API (Linux)

Crypto API는 IPsec 및 dm-crypt와 같은 암호화를 다루는 커널의 다양한 부분을 위한 Linux 커널암호화 프레임워크입니다.커널 버전 2.5.45에서[1] 도입되었으며, 이후 널리 사용되는 모든 블록 암호해시 함수를 포함하도록 확장되었습니다.

사용자 공간 인터페이스

AES 암호화의 하드웨어 액셀러레이션을 제공하는 많은 플랫폼은 다양한 칩셋(예를 들어 x86용 AES 명령 세트)의 명령 세트 아키텍처(ISA) 확장을 통해 이를 프로그램에 노출합니다.이러한 종류의 구현에서는 모든 프로그램(커널 모드 또는 사용자 공간)이 이러한 기능을 직접 사용할 수 있습니다.

그러나 ARM Kirkwood SheevaPlugAMD Geode 프로세서와 같은 일부 플랫폼은 ISA 확장으로 구현되지 않으며 커널 모드 드라이버를 통해서만 액세스할 수 있습니다.wolfSSL, OpenSSL, GnuTLS 등 암호화를 사용하는 사용자 모드애플리케이션이 이러한 액셀러레이션을 이용하려면 , 커널과 인터페이스 할 필요가 있습니다.

AF_ALG
netlink 기반의 인터페이스로,AF_ALG Linux 커널 메인라인 [3][4]버전 2.6.38로 통합되었습니다.[2]AF_ALG를 [5]지원하는 OpenSSL 플러그인이 있었습니다.[6]이 플러그인은 Marge용으로 제출되었습니다.버전 1.1.0에서는 OpenSSL이 AF_용 패치를 추가했습니다.ALG는 [7]인텔에 의해 제공되었습니다.wolfSSL은 AF_를 사용할 수 있습니다.ALG 및 cryptodev[8]
암호
OpenBSD 암호화 프레임워크 /dev/cryptoOpenB 인터페이스SD는 Linux로 [9][10][11]이식되었지만 병합되지는 않았습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Kernel development". LWN.net. 2002. Retrieved 2013-09-29.
  2. ^ Edge, Jake (October 20, 2010). "A netlink-based user-space crypto API". LWN.net. Retrieved 29 December 2011.
  3. ^ Linux_2_6_38 변경 사항
  4. ^ 03c8efc 아카이브된 2013-04-15.오늘 fe869cd 아카이브된 2013-04-15.오늘 8ff5909 아카이브된 2013-04-15.오늘 아카이브된 2013-04-15.
  5. ^ Markus (2011-10-22). "OpenSSL - AF_ALG". Archived from the original on 28 September 2011. Retrieved 29 December 2011.
  6. ^ Markus nepenthesdev at gmail.com (2011-07-03). "#2554: Patch: AF_ALG dynamic engine for linux >= 2.6.38". OpenSSL. Retrieved 29 December 2011.
  7. ^ clucey (2016-02-17). "ALG: Add AFALG engine". OpenSSL. Retrieved 31 August 2016.
  8. ^ Jacob (19 December 2018). "AF_ALG + Cryptodev-linux". Retrieved 10 March 2020.
  9. ^ Ludvig, Michal. "CryptoDev for Linux". Retrieved 29 December 2011.
  10. ^ Mavrogiannopoulos, Nikos. "cryptodev-linux". Archived from the original on 20 March 2012. Retrieved 12 January 2012.
  11. ^ Edge, Jake (August 25, 2010). "An API for user-space access to kernel cryptography". LWN.net. Retrieved 29 December 2011.