65.9K
CodeProject 正在变化。 阅读更多。
Home

Intel® 基于硬件的安全技术为生物识别应用带来差异化优势 第 2 部分

2016 年 2 月 1 日

CPOL

6分钟阅读

viewsIcon

11110

Intel® 高级加密标准新指令和 Intel® Secure Key 实现的高性能安全软件加密。

Intel® Developer Zone 提供面向跨平台应用开发、平台和技术信息、代码示例以及同行专业知识的工具和操作指南,助力开发者创新并取得成功。加入我们的社区,了解 Android物联网Intel® RealSense™ 技术Windows,下载工具,访问开发套件,与志同道合的开发者交流想法,并参加黑客马拉松、竞赛、巡展和本地活动。

第一部分链接

目录

结论
关于作者
参考文献

利用英特尔® 高级加密标准新指令和英特尔® 安全密钥实现高性能、安全软件加密7

为了保护敏感信息安全或运行代码安全,密码学算法和地址空间布局随机化(ASLR)相关技术已广泛应用于应用程序和操作系统层面。

英特尔® 安全密钥

生成密钥对或创建随机地址空间时,真随机数生成器比伪随机数生成器更优。英特尔® 安全密钥提供了英特尔® x86 指令 RDRAND,以实现高质量的随机数生成器。

RDRAND 指令是一种创新的硬件方法,用于生成高质量、高性能的熵和随机数。它遵循级联构造 RNG(随机数生成器)模型,使用处理器内置的熵源,反复播种硬件实现的 CSPRNG(密码学安全伪随机数生成器)。然后 RDRAND 指令可以生成符合 NIST SP 800-90A 标准的随机数,在大多数常见情况下可被视为真随机数生成器。

图 1. RDRAND 指令从内部硬件随机数生成器获取数字。

RDRAND 的使用方式多种多样

  1. 直接在汇编代码中使用 RDRAND 指令,或在 C/C++ 中使用内联汇编。
    – rdrand %edx 
    – unsigned long therand, err;
      asm volatile("rdrand %0 ; setc %1"
          : "=r" (*therand), "=qm" (err));
          //therand	 -> save the result
          //err	 -> return the status, 1 on success, 0 on underflow
  2. 英特尔提供的库(librdrand
  3. 第三方库

英特尔® 高级加密标准新指令

英特尔® 高级加密标准新指令(Intel® AES-NI)是最流行的对称加密算法之一。它被广泛用于加密内存、本地存储和网络通信包中的数据,以保护隐私免受内存/文件转储和网络嗅探器攻击。

图 2. 使用 AES 加密通信通道。

为提高安全余量,建议加密使用多轮 AES,相当于增加 AES 加密密钥的长度。2010 年,英特尔推出了一套新指令(Intel AES-NI),为英特尔 AES 加密和解密提供完全的硬件支持,以提高性能并降低内存需求。目前,英特尔几乎所有的台式机或移动处理器都支持 Intel AES-NI。下图显示了与纯软件实现相比的显著性能提升。

硬件:英特尔® 平台,Bay Trail FFRD8 PR1 操作系统:Android* 4.4,OpenSSL* 原生 C API

模式(CBC/256)

文件大小

已启用 AES-NI

禁用 AES-NI

加密

351 MB

2.89 秒

14.59 秒

 

56 MB

0.48 秒

2.63 秒

解密

351 MB

1.76 秒

19.78 秒

 

56 MB

0.29 秒

3.16 秒

  • 加密:性能提升近 5 倍
  • 解密:性能提升近 11 倍
  • 功耗降低约 40%
图 3. 英特尔® Atom™ 处理器 Z3770(代号 Baytrail)移动平台上的性能比较。

如今,大多数主流操作系统都为 Intel AES-NI 提供了原生支持。当应用程序调用操作系统级别的密码学 API(如 Windows CNG API 和 Android* Javax.crypto Java 类)时,低级驱动程序将自动使用 Intel AES-NI 来加速性能。同时,许多第三方库(如 OpenSSL* 1.0.1、Intel® Integrated Performance Primitives 加密库、Crypto++ 等)都经过优化,可以利用 Intel AES-NI。

英特尔® RealSense™ 摄像头深度传感器实现的活力检测

基于面部的登录功能在人们的日常生活中被广泛使用。人们使用面部来解锁他们的 Android 手机和个人电脑设备。由于用于人脸识别应用程序的摄像头是传统的 2D 光学摄像头,它无法区分拍摄的照片是来自真实人脸还是照片。因此,黑客也可以使用一张印有用户面部的纸张来登录设备。

英特尔® RealSense™ 摄像头是一种深度摄像头解决方案,可带来令人兴奋的新用户体验8。它的一个关键特性是可以数字化捕捉 3D 对象和人物。在某些生物特征识别场景中,它还可以用作活力检测,以提高安全性。当光学摄像头捕捉到用户的面部时,深度摄像头也可以同时获取面部的深度信息。这种面部几何信息可以轻松用于判断拍摄的图像是真实的人物还是平纸。

图 4. 英特尔® RealSense™ 摄像头 F200 的深度摄像头捕捉的 3D 面部几何形状。

图 5. 英特尔® RealSense™ 摄像头 F200 的深度摄像头捕捉到的打印纸的平面几何形状。

结论

总的来说,生物识别身份验证与密码身份验证不同。由于生物特征是不可撤销的,这种新的身份验证方法需要更严格的安全保护。

英特尔在基于英特尔处理器(包括台式机和移动平台)的处理器中提供了各种硬件安全技术。这些技术可以帮助生物识别解决方案提供商在不增加硬件成本的情况下,提供更安全的生物识别身份验证方案。

图 6. 黄色区域显示了如何在英特尔® 平台上提高生物识别应用的安全性。

作者简介

Jianjun Gu 是英特尔软件和解决方案事业部(SSG)、开发者关系部门、移动企业赋能团队的高级应用工程师。他专注于企业应用程序的安全性和可管理性。

Zhihao Yu 是英特尔软件和解决方案事业部(SSG)、开发者关系部门的应用工程师,负责英特尔® TEE 技术赋能和基于英特尔® 平台的安全支付解决方案支持。

Liang Zhang 是英特尔软件和解决方案事业部(SSG)、开发者关系部门的应用工程师,负责支持基于英特尔® 平台的企业应用程序和物联网开发者。

参考文献

  1. TEE 系统架构 v1.0:http://www.globalplatform.org/specificationsdevice.asp
  2. 英特尔® 软件保护扩展(Intel® SGX),ISCA 2015 英特尔® SGX 教程幻灯片https://software.intel.com/sites/default/files/332680-002.pdf
  3. 利用创新指令创建可信软件解决方案:https://software.intel.com/en-us/articles/using-innovative-instructions-to-create-trustworthy-software-solutions
  4. 英特尔® 64 和 IA-32 架构软件开发人员手册:http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
  5. Ravi Sahita 和 Uday Savagaonkar。“走向一个支持虚拟化的信息可追溯性框架 (VFIT)。”载于《内部攻击与网络安全》 39 卷,Advances in Information Security 系列,第 113-132 页,Springer,2008 年。
  6. 英特尔® 身份保护技术(Intel® IPT):http://ipt.intel.com/Home
  7. 英特尔® AES-NI 和英特尔® 安全密钥指令简介:https://software.intel.com/en-us/node/256280
  8. 英特尔® RealSense™ 技术:http://www.intel.com/content/www/us/en/architecture-and-technology/realsense-overview.html
© . All rights reserved.