Can CAAM be used at user level using /dev/crypto in linux? if yes, how to create blob at user level?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Can CAAM be used at user level using /dev/crypto in linux? if yes, how to create blob at user level?

1,848 Views
swapnilpendhare
Contributor III

There are three queries.

1. Linux has support for /dev/crypto i.e. cryptodev feature with which hardware accelerators can be accessed at user level. Is same thing possible for CAAM?

2. If yes, is there any demo code available to create encapsulated blob? and is it possible to modify keys at CAAM register level.

3. Are all the algorithms supported by CAAM available at user space library like openSSL?

I am using Yocto project Daisy with kernel 3.10.17 on wandboard-quad. I can see CAAM algorithms available in /proc/crypto. please refer attached output.

Tags (3)
0 Kudos
3 Replies

719 Views
Yuri
NXP Employee
NXP Employee

Hello,

   Please refer to section 9 (Security) of “i.MX_Linux_User's_Guide.pdf”.

“The CAAM drivers are accelerated through the CryptoDev interface”.

For blob, please use U-boot.


Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

719 Views
swapnilpendhare
Contributor III

Hi ,

Thanks for the reply. I am looking for develop General blob write/read operation in linux; something like How to Create Blob .

As mentioned in the mentioned link, it can be done through platform SDK only. Is it possible to do same thing from linux user pace.

and second query is,

link Page not found ​mentioned in post   iMX6 (CAAM, TrustZone) Hardware Security Blocks Use. is not accessible. Can you provide more details on this.

Thanks,

0 Kudos

719 Views
Yuri
NXP Employee
NXP Employee

Hello,

1.

   Please use section 52.5 (API Interface Level) of the "i.MX_Linux_Reference_Manual.pdf".

http://www.freescale.com/webapp/Download?colCode=L3.14.38_6UL_LINUX_DOCS

2.

  Please refer to Encrypted Boot explanations in “HABCST_UG.pdf” of the CST.

http://www.freescale.com/products/arm-processors/i.mx-applications-processors-based-on-arm-cores/i.m...

Regards,

Yuri.

0 Kudos