크립토 API (리눅스)
보이기
크립토 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]</ref> 이것은 리눅스 커널 버전 2.6.38에 통합되었다.[3][4] AF_ALG를 지원하기 위한 OpenSSL에 대한 플러그인이 존재하며,[5] 이것은 통합을 위해 제출되었다.[6]
- cryptodev
- OpenBSD의 인터페이스인 OpenBSD 암호화 프레임워크 /dev/crypto는 리눅스에 포트되었지만,[7][8][9] but never merged. 통합되지는 않았다.
같이 보기
각주
- ↑ “Kernel development”. LWN.net. 2002. 2013년 9월 29일에 확인함.
- ↑ Edge, Jake (2010년 10월 20일). “A netlink-based user-space crypto API”. LWN.net. 2011년 12월 29일에 확인함.
- ↑ Linux_2_6_38 changes
- ↑ 03c8efc fe869cd 8ff5909
- ↑ “OpenSSL - AF_ALG”. 2011년 10월 22일. 2011년 12월 29일에 확인함.
- ↑ “#2554: Patch: AF_ALG dynamic engine for linux >= 2.6.38”. 《OpenSSL》. Sun Jul 03 21:24:59 2011. 29 December 2011에 확인함.
- ↑ Ludvig, Michal. “CryptoDev for Linux”. 2011년 12월 29일에 확인함.
- ↑ Mavrogiannopoulos, Nikos. “cryptodev-linux”. 2012년 1월 12일에 확인함.
- ↑ Edge, Jake (2010년 8월 25일). “An API for user-space access to kernel cryptography”. LWN.net. 2011년 12월 29일에 확인함.