본문으로 이동

크립토 API (리눅스)

위키백과, 우리 모두의 백과사전.
Montouesto (토론 | 기여)님의 2016년 2월 29일 (월) 07:29 판 ("Crypto API (Linux)" 문서를 번역하여 만듦)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

크립토 API (Crypto API)리눅스 커널에서 IPsec과 dm-crypt 같이 암호를 다루는 커널의 여러 부분들을 위한 암호 프레임워크이다. 이것은 커널 버전 2.5.45에서 도입되었으며[1] 근본적으로 모든 유명한 블록 암호해시 함수들을 포함하기 위해 확장되고 있다.

사용자 공간 인터페이스

고급 암호화 표준(AES 암호화)의 하드웨어 가속을 제공하는 많은 플랫폼들은 다양한 칩셋들(예를들면 x86을 위한 AES 명령어 집합)의 명령어 집합 구조(ISA)의 확장을 통해 이것을 프로그램에 노출시킨다. 이러한 구현을 가진 어떤 프로그램(커널 공간이나 사용자 공간)도 직접적으로 이러한 특징들을 활용할 수 있다.

그러나 ARM Kirkwood SheevaPlug과 AMD 지오드 프로세서 같은 몇몇 플랫폼들은 ISA 확장으로 구현되지 않고 단지 커널 모드 드라이버들을 통해서 접근할 수 있다. OpenSSL이나 GnuTLS 같은 암호화를 활용하는 사용자 모드 애플리케이션이 이러한 가속을 활용하기 위해서는 반드시 커널과 접속되어야 한다.

AF_ALG
AF_ALG 인터페이스 패밀리를 추가하는 넷링크 기반 인터페이스;[2] 이것은 리눅스 커널 버전 2.6.38에 통합되었다.[3][4] AF_ALG를 지원하기 위한 OpenSSL에 대한 플러그인이 존재하며,[5] 이것은 통합을 위해 제출되었다.[6]
cryptodev
OpenBSD의 인터페이스인 OpenBSD 암호화 프레임워크 /dev/crypto는 리눅스에 포트되었지만,[7][8][9] 통합되지는 않았다.

같이 보기

각주

  1. "Kernel development".
  2. Edge, Jake (October 20, 2010).
  3. Linux_2_6_38 changes
  4. 03c8efc fe869cd 8ff5909
  5. "OpenSSL - AF_ALG". 2011-10-22.
  6. "#2554: Patch: AF_ALG dynamic engine for linux >= 2.6.38".
  7. Ludvig, Michal.
  8. Mavrogiannopoulos, Nikos. "cryptodev-linux".
  9. Edge, Jake (August 25, 2010).