数字比较关联模型中基于图像的中间人防御 【技术领域】
至少一个特征涉及对在无线网络中通信的网络装置的配对和验证, 且更确切地 说, 涉及在比较关联模型中使用图像、 图标和 / 或 ( 任选地 ) 声音, 所述比较关联模型以针 对中间人攻击的防御方案实施以用于无线装置验证。背景技术
在无线通信系统中, 可通过配对和验证过程来实现参与的通信单元之间的安全通 信。许多无线技术实施密码密钥交换机制, 所述机制向参与的通信单元提供交换且共享的 秘密信息, 其确认连接了正确的装置。
所述密钥交换机制中可能普遍出现的一个问题是, 其可能容易受到中间人 (MITM) 攻击, 即恶意用户可能会拦截和 / 或更改两个通信装置之间的消息的安全性破坏行为。举 例来说, 在两个通信装置之间的密码密钥交换期间, MITM 攻击中的入侵者可在密钥交换期 间获得一个或一个以上密码密钥, 入侵者可使用所述密码密钥来获得对在两个装置之间传 输的信息的存取权。为了防御 MITM 攻击, 一些现有技术验证方法可实施数字比较协议, 其 中数字确认值由所述两个通信装置单独计算。接着, 可在所述两个装置上显示数字确认值 以供用户进行比较, 或者确认值的一个例项可由一个装置计算并被输入到另一装置中, 以 便与确认值的另一例项进行比较或核对。
蓝牙无线技术、 Wi-Fi、 已认证无线 USB(CW-USB) 无线技术提供了无线通信网络 系统的实施方案。举例来说, 蓝牙允许以 ad-hoc 方式连接个人装置。蓝牙标准 ( 见 2007 年 7 月 27 日的 “蓝牙系统规范, 核心, 2.1 版本 +EDR” (Specification of the Bluetooth System, Core, Version 2.1+EDR)) 包括许多种安全性机制, 用以确保用户希望添加的装置 正是所添加的装置, 并且有助于避免无意或有意地添加非既定装置。 确切地说, 蓝牙规范提 供了一种安全、 简单的配对和验证机制, 其包含公共密钥交换和数字比较协议, 以防御主动 的 MITM 攻击。公共密钥交换可用以建立可用来保障通信的共享秘密。数字比较协议允许 用户对两个装置上的确认值进行验证, 以证实通信链接或关联是在两个既定装置之间, 而 无入侵装置。
为了验证目的, 一些无线技术 ( 例如, 蓝牙 2.0、 Wi-Fi 保护接入 (WPA/WPA2 及更早 版本 )) 使用装置上粘贴的固定标签或张贴物 ( 或其它途径, 例如装置附带的手册 ) 来向用 户提供专用标识号 (PIN)。用户可输入 PIN 或者按下按钮以启用针对验证的数据加密。其 它技术 ( 例如蓝牙核心规范版本 2.1+EDR、 CW-USB、 Wi-Fi 保护设置 ) 正在开始转移到关联 模型, 其实施对主动 MITM 攻击的更大防御。 通常, MITM 保护涉及 : 在两个装置上显示 N 位数 字 ( 通常介于两位与六位之间 ) ; 以及请求来自用户的确认。 “蓝牙核心规范版本 2.1+EDR” 提供了请求用户核对每一装置上的六个十进制数字的关联模型。CW-USB 具有类似于蓝牙 2.1 的机制, 但使用较少的数字来进行比较。Wi-Fi 联盟的保护设置配置也使用数字比较, 其中可产生动态 PIN, 并在装置的显示器上显示所述动态 PIN, 以便与所添加的装置所提供 的 PIN 进行比较。使用 PIN、 数字确认值和 / 或其它形式的数字和 / 或字母数字序列的一个限制是, 数字零 (0) 到九 (9) 每个字符提供的信息不多。虽然一些技术中使用的数字比较协议已简 化了用户的验证过程, 但因为不要求用户记住固定的 PIN 或编号, 或在两个装置上创建和 输入新的 PIN, 所以一些用户可能仍觉得对两个数字确认值进行比较很麻烦。此外, 在无线 网络连接涉及不同基础语言 ( 例如, 汉语、 阿拉伯语、 日语、 希伯来语、 希腊语等 ) 的通信的 情况下, 数字 ( 或甚至字母数字 ) 比较协议是无效的或效率较低。因此, 需要改进在用于 MITM 防御的数字比较协议中产生的确认值的比较的可靠性和容易性。 发明内容
提供一种特征, 用于使用户能够通过使用图像 ( 例如一个或一个以上图标、 图片、 符号、 色彩等 ) 而不是数字比较协议的数字或字母数字来快速且明显地确认验证配对。与 数字或字母序列相比, 图像的使用潜在地传达了更多信息, 同时使用户更容易进行比较。 由 于使用了图像, 装置的可用性可得到改进, 因为其促进了验证和 / 或配对模型, 例如用以在 建立与另一装置的关联或链接时提供对中间人攻击的防御的验证和 / 或配对模型。
提供一种在第一装置上操作的方法, 用于经由无线通信链接安全地建立与第二装 置的关联。执行与第二装置的密码密钥交换, 其中获得针对所述第一和第二装置的密码信 息。 在一个实例中, 所述密码信息可包含以下各项中的至少一者 : 与所述第一装置相关联的 第一公共密钥 ; 与所述第一装置相关联的第一临时值 ; 与所述第二装置相关联的第二公共 密钥 ; 以及与所述第二装置相关联的第二临时值。基于所述密码信息获得针对所述第一装 置的确认值。举例来说, 所述确认值可包含具有多个数字的数字值以及字母数字序列中的 至少一者。接着基于所述确认值获得或产生确认图像。确认图像可由多个图像 ( 例如, 图 标、 图形、 符号、 色彩和声音中的至少一者 ) 形成。举例来说, 可将多个图像存储在所述第一 装置中, 其中通过将所述确认值的一个或一个以上数字映射为所述多个图像中的一者或一 者以上而将所述确认值转换成所述确认图像。所述确认图像与所述确认值唯一地相关联。
接着, 将所述确认图像提供给操作者以用于对照针对所述第二装置的对应确认图 像进行验证。 将所述确认图像提供给操作者以用于进行验证可包含在第一装置的显示器上 呈现所述图像。响应于将所述确认图像发送提供给所述操作者, 所述第一装置可从操作者 接收关于是接受还是拒绝与第二装置的关联的反馈。 在所述反馈指示所述确认图像与所述 第二装置中的对应确认图像相同的情况下, 第一装置可接受与第二装置的关联。 否则, 在所 述反馈指示所述确认图像与所述第二装置中的对应确认图像不同的情况下, 第一装置可拒 绝与第二装置的关联。
在一个实例中, 基于所述确认值获得所述确认图像可进一步包括从存储在所述第 一装置中的所述多个图像中选择一个或一个以上图像。
在另一实例中, 可将图像产生算法存储在所述第一装置中, 其中通过使用所述图 像产生算法将所述确认值转换成所述确认图像。图像产生算法可组合一个或一个以上图 像、 图标、 色彩、 形状、 声音和背景以产生确认图像。
在一些实施方案中, 所述确认图像可基于确认值的第一导数。 在一些实施方案中, 基于确认值获得确认图像可包含应用防冲突函数来产生确认图像, 其中所述防冲突函数禁 止使用不同值产生同一图像。在一个实施方案中, 所述第一装置可包含用于与所述第二装置的所述密码密钥交 换的支持蓝牙的通信接口。
在一个实施方案中, 基于确认值获得确认图像可包含 : (a) 将所述确认值映射为 经度与纬度对 ; 和 / 或 (b) 获得与所述经度与纬度对相关联的位置的地图或图像中的至少 一者, 并将所述位置的所述地图或图像用作所述确认图像。
在另一实施方案中, 基于确认值获得确认图像可包含 : (a) 将所述确认值转换成 搜索字符串 ; (b) 将所述搜索字符串输入到搜索引擎中以获得包含多个网页在内的一个或 一个以上搜索结果 ; 和 / 或 (c) 将所述搜索结果中的一网页用作所述确认图像。所述搜索 引擎可在外部网络上操作, 且所述多个网页可经由所述外部网络接入。
在又一实施方案中, 基于确认值获得确认图像可包含 : (a) 将所述确认值转换成 网络上的内容的地址引用, 其中内容包含图像 ; (b) 获得与所述地址引用相关联的图像 ; 和 / 或 (c) 将所述图像用作所述确认图像。
还提供一种装置, 用于经由无线通信链接安全地建立与第二装置的关联。所述装 置可包含无线通信接口和验证模块。所述无线通信接口可用以与第二装置通信。所述验 证模块可经配置以 : (a) 执行与所述第二装置的密码密钥交换, 其中获得针对所述装置和 第二装置的密码信息 ; (b) 基于所述密码信息获得确认值 ; (c) 基于所述确认值获得确认图 像; 且 / 或 (d) 经由输出接口将所述确认图像提供给操作者以用于对照针对所述第二装置 的对应确认图像进行验证。
所述装置还可包含耦合到所述验证模块的输入接口, 所述输入接口用于从所述操 作者接收关于是接受还是拒绝与所述第二装置的关联的反馈。 所述验证模块可进一步经配 置以 : (a) 在所述反馈指示所述确认图像与所述第二装置中的所述对应确认图像相同的情 况下接受与所述第二装置的关联 ; 且 / 或 (b) 在所述反馈指示所述确认图像与所述第二装 置中的所述对应确认图像不同的情况下拒绝与所述第二装置的关联。
所述装置还可包含用于存储多个图像的存储装置, 其中通过将所述确认值的一个 或一个以上数字映为所述多个图像中的一者或一者以上而将所述确认值转换成所述确认 图像。 所述验证模块可进一步经配置以从存储在所述第一装置中的所述多个图像中选择一 个或一个以上图像以获得所述确认图像。
所述装置还可包含耦合到所述验证模块的图像产生器, 其中所述图像产生器经配 置以将所述确认值转换成所述确认图像。所述图像产生器可组合一个或一个以上图像、 图 标、 色彩、 形状、 声音和背景以产生确认图像。
在一些实施方案中, 所述确认图像可唯一地与所述确认值相关联。所述确认图像 可由多个图像形成。所述确认图像可基于确认值的第一导数。所述确认图像包含图标、 图 形、 符号、 色彩和声音中的至少一者。所述密码信息可包含以下各项中的至少一者 : 与所述 第一装置相关联的第一公共密钥 ; 与所述第一装置相关联的第一临时值 ; 与所述第二装置 相关联的第二公共密钥 ; 以及与所述第二装置相关联的第二临时值。所述通信接口可包含 用于与第二装置的密码密钥交换的支持蓝牙的通信接口。 所述输出接口可包含用于以视觉 方式向所述操作者呈现所述确认图像的显示器以及以听觉方式向所述操作者提供图像的 扬声器中的至少一者。
因此, 提供一种装置, 其包括 : (a) 用于与第二装置通信的装置 ; (b) 用于执行与所述第二装置的密码密钥交换的装置, 其中获得针对所述装置和第二装置的密码信息 ; (c) 用于基于所述密码信息获得确认值的装置 ; (d) 用于基于所述确认值获得确认图像的装 置; (e) 用于经由输出接口将所述确认图像提供给操作者以用于对照针对所述第二装置的 对应确认图像进行验证的装置 ; (f) 用于从所述操作者接收关于是接受还是拒绝与所述第 二装置的关联的反馈的装置 ; (g) 用于在所述反馈指示所述确认图像与所述第二装置中的 对应确认图像相同的情况下接受与所述第二装置的关联的装置 ; (h) 用于在所述反馈指示 所述确认图像与所述第二装置中的对应确认图像不同的情况下拒绝与所述第二装置的关 联的装置 ; (i) 用于存储多个图像的装置, 其中通过将所述确认值的一个或一个以上数字 映射为所述多个图像中的一者或一者以上而将所述确认值转换成所述确认图像 ; 和/或 (j) 用于将所述确认值转换成确认图像的装置。
一种在第一装置上操作的用于经由无线通信链接安全地建立与第二装置的关联 的计算机程序, 其在由处理器执行时致使所述处理器 : (a) 执行与所述第二装置的密码密 钥交换, 其中获得针对所述装置和第二装置的密码信息 ; (b) 基于所述密码信息获得确认 值; (c) 基于所述确认值获得确认图像 ; (d) 经由输出接口将所述确认图像提供给操作者 以用于对照针对所述第二装置的对应确认图像进行验证 ; (e) 从所述操作者接收关于是接 受还是拒绝与所述第二装置的关联的反馈 ; (f) 在所述反馈指示所述确认图像与所述第二 装置中的对应确认图像相同的情况下接受与所述第二装置的关联 ; (g) 在所述反馈指示所 述确认图像与所述第二装置中的对应确认图像不同的情况下拒绝与所述第二装置的关联 ; (h) 存储多个图像, 其中通过将所述确认值的一个或一个以上数字映射为所述多个图像中 的一者或一者以上而将所述确认值转换成所述确认图像 ; 和 / 或 (i) 将所述确认值转换成 所述确认图像。所述确认图像与所述确认值唯一地相关联
还提供一种处理电路, 用于经由无线通信链接安全地建立与第二装置的关联, 所 述处理电路适于 : (a) 执行与所述第二装置的密码密钥交换, 其中获得针对所述装置和第 二装置的密码信息 ; (b) 基于所述密码信息获得确认值 ; (c) 基于所述确认值获得确认图 像; (d) 经由输出接口将所述确认图像提供给操作者以用于对照针对所述第二装置的对应 确认图像进行验证 ; (e) 从所述操作者接收关于是接受还是拒绝与所述第二装置的关联的 反馈 ; (f) 在所述反馈指示所述确认图像与所述第二装置中的对应确认图像相同的情况下 接受与所述第二装置的关联 ; (g) 在所述反馈指示所述确认图像与所述第二装置中的对应 确认图像不同的情况下拒绝与所述第二装置的关联 ; (h) 存储多个图像, 其中通过将所述 确认值的一个或一个以上数字映射为所述多个图像中的一者或一者以上而将所述确认值 转换成所述确认图像 ; 和 / 或 (i) 将所述确认值转换成所述确认图像。所述确认图像可唯 一地与所述确认值相关联。 附图说明
图 1 是说明可实施基于图像比较的配对和 / 或验证模型的无线通信网络的框图。
图 2 说明可经配置以建立由基于图像的验证促进的安全通信链接或关联的装置 的框图。
图 3 是说明两个装置可如何使用用户进行的基于图像的验证来建立安全关联或 通信链接的流程图。图 4 说明成功地使用基于图像的验证来确认两个装置之间的关联的实例。
图 5 说明基于图像的验证揭露中间人攻击且允许用户拒绝两个装置之间的关联 的第二实例。
图 6 是说明可如何将数字值映射成一个或一个以上图像的一个实例的框图。
图 7 是说明可如何将数字值映射成一个或一个以上图像和色彩中的另一实例的 框图。
图 8 是说明可使用图像产生算法将数字值映射为动态产生的图像的实例的框图。
图 9 是说明适于执行基于图像的验证的装置的逻辑组件的框图。
图 10 是说明在第一装置上操作的用于促进对与第二装置的关联的基于图像的验 证的方法的流程图。具体实施方式
在以下描述中, 为了提供对各种特征的全面理解而给出具体细节。 然而, 所属领域 的技术人员将理解, 可在没有这些具体细节的情况下实践这些特征。 举例来说, 为了不使框 图中说明的实例或配置模糊, 可能未在框图中展示电路细节。 此外, 请注意, 实例可能被描述为过程, 所述过程被描绘为程序框图、 流程图、 结构 图或框图。虽然程序框图可能将操作描述为循序过程, 但所述操作中的许多操作可并行或 同时执行。此外, 所述操作的次序可重新排列。当过程的操作完成时, 过程终止。过程可对 应于方法、 函数、 规程、 子例程、 子程序等等。当过程对应于函数时, 过程的终止对应于函数 返回到调用函数或主函数。
此外, 存储媒体可表示一个或一个以上用于存储数据的装置, 包含只读存储器 (ROM)、 随机存取存储器 (RAM)、 磁盘存储媒体、 光学存储媒体、 快闪存储器装置和 / 或其它 用于存储信息的机器可读媒体。术语 “机器可读媒体” 包含 ( 但不限于 ) 便携式或固定存 储装置、 光学存储装置、 无线信道以及各种其它能够存储、 含有或携载指令和 / 或数据的媒 体。
此外, 可通过硬件、 软件、 固件、 中间件、 微码或其组合来实施配置。当以软件、 固 件、 中间件或微码实施时, 用以执行必要任务的程序代码或代码段可存储在机器可读媒体 ( 例如存储媒体或其它存储装置 ) 中。处理器可执行必要任务。代码段可表示规程、 函数、 子程序、 程序、 例程、 子例程、 模块、 软件包、 类, 或指令、 数据结构或程序语句的组合。 代码段 可通过传递和 / 或接收信息、 数据、 自变量、 参数或存储器内容而耦合到另一代码段或硬件 电路。可经由合适的方式来传递、 转发或传输信息、 自变量、 参数、 数据等等, 所述方式包含 存储器共享、 消息传递、 令牌传递和网络传输等等。
在以下描述中, 使用特定术语来描述特定特征。术语 “密钥” ( 例如密码密钥、 验证 密钥 ) 是指证书、 识别符、 密码或其它类型的数字、 字母数字和 / 或符号。术语 “图像” (例 如图标、 符号、 图形、 验证图像 ) 是指黑白、 彩色和 / 或灰度级视觉表示, 包含 ( 但不限于 ) 一 个或一个以上图形、 图标、 象形文字、 字母数字对象、 符号和 / 或图片等, 以及音频、 声音和 / 或音调。术语 “图像” 可指代一个图像或多个图像。
一个特征提供一种用于使用户能够通过使用图像 ( 例如图标、 图片、 符号、 色彩 等 ) 而不是数字比较协议的数字或字母数字来快速且明显地确认验证配对的经改进的方
式。与数字或字母序列相比, 图像的使用潜在地传达更多信息, 同时使用户更容易进行比 较。由于使用了图像, 装置的可用性可得到改进, 因为其促进了验证和 / 或配对模型, 例如 用于在建立与另一装置的关联或链接时提供对中间人攻击的防御的验证和 / 或配对模型。
图 1 是说明可实施基于图像比较的配对和 / 或验证模型的无线通信网络 102 的框 图。在一个实例中, 可使用蓝牙无线技术在网络 102 中实施短程无线通信, 蓝牙无线技术是 一种在 2.45GHz 的未经许可的 ISM( 工业、 科学和医疗 ) 频带中操作的无线通信技术, 所述 频带提供大约 83.5MHz 的无线电频谱。蓝牙无线技术允许在所谓的微微网 (piconet) 中以 ad-hoc 方式通信地连接在所述频谱内的装置。 每一装置可同时与单个微微网内的多个其它 装置通信。每一装置也可同时属于若干微微网。当具有蓝牙功能的装置进入和离开无线电 接近范围时, 微微网动态且自动地建立。
无线通信网络 102 可包含多个通信装置 ( 例如, 手持机、 移动电话、 计算机和 / 或 任何具有通信能力的装置 ), 所述通信装置在此实例中被指定为第一装置 104、 第二装置 106 和第三装置 108。 无线通信网络 102 中第一装置 104、 第二装置 106 和 / 或第三装置 108 之间的通信可 ( 例如 ) 经由射频、 以光学方式、 以磁性方式、 以感应方式和 / 或以电容性方 式来实现, 且包含各种装置之间的连接、 通信链接和 / 或关联。举例来说, 无线手持机可与 移动电话通信, 两个移动电话可彼此通信, 移动电话可与个人计算机通信, 移动电话可与陆 线电话通信等等。 通常, 在两个装置之间的通信链接或关联中, 一个装置可充当 “起始方” , 且另一装 置可充当 “非起始方” 或 “响应方” 。起始方装置可为从其发生初始通信链接或关联设置的 一个装置。 然而, 一装置可充当一个通信链接或关联的起始方, 同时充当其它通信链接或关 联的非起始方 / 响应方。举例来说, 在无线通信网络 102 中, 第一装置 104 可充当与第二装 置 106 的通信链接的起始方, 但可在与第三装置 108 的通信链接中充当非起始方。
蓝牙核心规范包括许多种安全性机制, 包含数字比较关联模型。在数字比较关联 模型中, 提供一种安全、 简单的配对验证协议, 其中两个装置执行密码密钥交换, 其用以导 出数字确认值, 所述数字确认值向用户显示以供核对, 以便防御 MITM 攻击。
当用户想要连接两个装置, 但所述装置不是彼此直接连接而是在不知道的情况下 连接到第三 ( 攻击 / 入侵者 ) 装置时, 发生中间人 (MITM) 攻击, 所述第三装置担任所述两 个装置正试图与之配对的装置的角色。 接着, 第三装置在两个装置之间中继信息, 从而造成 所述两个装置是直接连接的假象。 攻击装置可窃听两个装置之间的通信 ( 称为主动窃听 ), 且能够插入和修改连接上的信息。在这种类型的攻击中, 在两个装置之间交换的所有信息 均受到连累, 且攻击方可将命令和信息注入到所述装置的每一者中, 从而潜在地损害所述 装置的功能。
蓝牙 MITM 防御方法是基于以下假设 : 如果密码密钥交换中存在中间人, 那么在 10-number_of_digits 的概率内, 数字确认值在合法装置中将不同。举例来说, 如果数字确 认值是 6 个数字, 那么中间人将产生相同确认值的概率为 1,000,000 分之 1。蓝牙核心规 范应用基于迪菲 - 赫尔曼 (Diffie-Hellman) 密钥交换协议的密码密钥交换 ( 例如, 公共 / 私用密钥交换 )。根据此协议, 每一装置具有一私用密钥 ( 也称为秘密密钥 ), 根据所述私 用密钥导出一公共密钥, 并将所述公共密钥发送到另一装置。每一装置可根据其私用密钥 和 / 或另一装置的对应的接收到的公共密钥来产生共享的秘密密钥, 其中所述共享的秘密
密钥用于保障所述装置之间的通信。 每一装置还可基于所述密码密钥中的一者或一者以上 导出一数字确认值。 所述数字确认值可由每一装置显示, 以允许用户对其进行比较, 并确认 或拒绝通信链接或关联。如果数字确认值相同, 那么用户可确认两个装置之间的通信链接 或关联。 如果密码密钥交换中存在中间人, 那么数字确认值在两个合法装置中可能不同, 且 用户可拒绝所述两个装置之间的通信链接或关联。
可从针对 Wi-Fi 认证产品的 Wi-Fi 保护设置、 认证无线 USB 和其它无线技术获得 与蓝牙核心规范版本 2.1+EDR 相当且涉及数字比较的安全关联模型。在用于这些技术的验 证模型中, 装置可具有用以实施数字关联模型且能够向用户显示从两 (2) 位到十六 (16) 位 的数字确认值的显示器。
图 2 说明可经配置以建立由基于图像的验证促进的安全通信链接或关联的装置 的框图。 在此实例中, 装置 A 202 可包含处理装置 208( 例如处理电路、 处理器、 计算机等 ), 其耦合到通信接口 206、 存储装置 210 和 / 或显示器 212。类似地, 装置 B 204 也可包含处 理装置 216, 其耦合到通信接口 214、 存储装置 220 和 / 或显示器 218。通信接口 206 和 / 或 214 可使装置 A 202 和装置 B 204 能够经由无线或有线通信链接 213 彼此通信。举例来说, 通信接口 206 和 214 可为支持蓝牙的接口, 其促进短程 ad-hoc 通信。处理装置 208 和 216 可经配置以执行密码密钥交换 ( 例如, 公共 - 私用密钥交换 ), 以保障通信链接且 / 或彼此 验证。处理装置 208 和 216 可执行计算以基于装置 A 202 与装置 B 204 之间的密码密钥交 换来计算共享的秘密密钥。
为了防止或阻止密码密钥交换 ( 例如, 公共 - 私用密钥交换 ) 期间的中间人攻击, 处理装置 208 和 / 或 216 可进一步经配置以或适于允许用户使用配对和 / 或验证关联模型 以虚拟方式和 / 或可听方式确认通信链接 213 的安全性。举例来说, 处理装置 208 和 216 可基于密码密钥交换来执行计算以获得数字确认值。然而, 对字符的数字和 / 或字母数字 序列 ( 例如, 数字和 / 或字母 ) 进行比较是麻烦的, 而且如果检查值相似却不完全相同, 那 么很容易发生错误。因此, 不是让用户对两个装置 202 和 204 上的数字确认值进行比较, 而 是可将确认值映射或转换为一个或一个以上图像, 接着用户可更容易且明显地对所述图像 进行比较。在一个实例中, 可通过将数字确认值转换成一个或一个以上图像 ( 例如图标、 图 片、 色彩、 声音、 化身、 符号等 ) 来获得所述一个或一个以上图像, 以便使用户更容易且快速 地辨认。
在一个实例中, 装置 A 202 可将数字确认值映射为 ( 例如预先存储在存储装置 210 中的 ) 一个或一个以上图像, 且接着在显示器 212 上显示所映射的图像。 类似地, 装置 B 204 也可将数字确认值映射为 ( 例如预先存储在存储装置 220 中的 ) 一个或一个以上图像, 且 接着在显示器 218 上显示所映射的图像。在各种实施方案中, 可从预先存储在图像库中的 多个图像中选择所映射的图像, 且 / 或可通过一种或一种以上产生图像的算法来产生所映 射的图像。向用户显示以供核对的一个或一个以上图像可唯一地对应于由处理装置 208 和 214 中的每一者计算的数字确认值。 在一些实施方案中, 可使用防冲突函数来产生与特定确 认值相关联的特定图像, 且禁止使用其它值产生同一图像。
如果装置 202 和 204 所显示的图像相同, 那么用户可接受装置关联。否则, 如果所 述图像不同, 那么密码密钥交换可能已经受到中间人攻击, 且用户可拒绝装置之间的关联 和 / 或通信链接。可用一个或一个以上图像来表示确认值, 例如任何长度的数字序列或字母数字序 列。举例来说, 可将六 (6) 位数字映射成两个图像或图标, 其中每一图像或图标表示一个三 位数字。因此, 含一千个图像或图标的库可用以映射任一六位数字。鉴于 MITM 攻击为了实 现较高程度的安全性, 可使用比六位长得多的数字确认值。 此外, 可在单个通信装置上使用 一个以上图像库。
图 3 是说明两个装置 302 和 304 可如何使用用户进行的基于图像的验证来建立安 全关联或通信链接的流程图。可在第一装置 302 与第二装置 304 之间实施公共 - 私用 ( 密 码 ) 密钥交换以建立安全关联。举例来说, 第一装置 A 302 可包含私用密钥 ( 或秘密密钥 ) SKa 310, 并产生临时值 ( 例如, 随机数 )Ra(314), 接着可使用所述临时值, 基于第一函数 f1 来获得公共密钥 PKa 316( 即, PKa = f1(SKa, Ra))。接着, 举例来说, 可将公共密钥 PKa 作 为公共 - 私用密钥交换的一部分发送 (322) 到第二装置 B 304。类似地, 第二装置 B 304 可 包含私用密钥 SKb 312, 并产生临时值 ( 例如, 随机数 )Rb(318), 接着可使用所述临时值, 基 于第二函数 f2 来获得公共密钥 PKb 320( 即, PKb = f2(SKb, Rb))。接着, 可将公共密钥 PKb 发送 (324) 到第二装置 B 304。在此实例中, 假设第一装置 A 302 是与第二装置 B( 非发起 方 )304 的通信链接的发起方。
在一个实施方案中, 可使用交托机制来辅助阻挠中间人攻击。在第一装置 A( 发起 方 )302 已将其公共密钥 PKa 发送到第二装置 B( 非发起方 )304 之后, 第二装置 B 304 基于 交托函数 h 以及 PKb、 PKa 和 Rb 来计算交托值 Cb( 即 Cb = h(PKb, PKa, Rb))(323)。将此交 托值 Cb 发送到第一装置 A(325)。仅在第一装置 A 302 已接收到交托值 Cb 之后, 第一装置 A 302 才将其临时值 Ra 发送 (327) 到第二装置 B。这样做防止了第二装置 B 在稍后阶段在 与第一装置 A 通信时改变其公共密钥 PKb 和 / 或临时值 Rb。第二装置 B 304 也可将其临 时值 Rb 发送 (329) 到第一装置 A 302。第一装置 A 302 可通过使用同一交托函数 h 以及 PKb、 PKa 和 Rb 来独立地确认交托值 Cb( 即 Cb = h(PKb, PKa, Rb))(331)。
在一些实施方案中, 可使用类似的交托机制, 其中第一装置 A 302 基于 PKa、 PKb 和 Ra 来计算交托值 Ca, 并在其从第二装置 304 接收到临时值 Rb 之前将交托值 Ca 发送到第二 装置 304。
为了防止中间人攻击, 装置 A 302 和装置 B 304 可进一步经配置以执行简单的配 对验证协议。在一个实例中, 每一装置可产生一数字确认值。亦即, 装置 A 302 可使用核 对函数 g 以及密码密钥 PKa、 PKb、 Ra 和 / 或 Rb 中的一者或一者以上来产生确认值 Vab(A) (326)。类似地, 装置 B 304 可使用同一核对函数 g 以及密码密钥 PKa、 PKb、 Ra 和 / 或 Rb 中 的一者或一者以上来产生确认值 Vab(B)(328)。核对函数 g 可预定义且 / 或在装置 302 与 304 之间调整。接着, 每一装置 302 和 304 可基于其相应的确认值 Vab(A) 和 Vab(B) 而获 得图像 Img-A 330 和 Img-B 332。也就是说, 装置 A 302 可使用其图像库 306 将其确认值 Vab(A) 映射或转换为一个或一个以上图像 Img-A 330。类似地, 装置 B 304 可使用其图像 库 308 将其确认值 Vab(B) 映射或转换为一个或一个以上图像 Img-B 332。接着, 每一装置 302 和 304 向用户显示其图像 Img-A 334 和 Img-B 336。接着, 用户可在视觉上核对所述两 个图像 Img-A 和 Img-B 是相同还是不同的 (338)。如果图像 Img-A 和 Img-B 是相同的, 那么 用户可接受装置 A 302 与装置 B 304 之间的关联。如果图像 Img-A 和 Img-B 是不同的, 那 么用户可拒绝装置 A 302 与装置 B 304 之间的关联。图 4 说明成功地使用基于图像的验证来确认两个装置之间的关联的实例。第一装 置 402 和第二装置 404 可类似于图 3 中所描述的方法而起作用, 其中在所述装置之间执行 密码密钥交换, 其中第一装置 402 充当与第二装置 404 的通信的起始方。因此, 第一装置 402 可具有相关联的私用 ( 秘密 ) 密钥 SKa、 临时值 ( 例如, 随机数 )Ra 以及公共密钥 PKa, 公共密钥 PKa 可为 SKa 和 Ra 的函数 f1( 例如, PKa = f1(SKa, Ra))。类似地, 第二装置 404 可具有相关联的私用 ( 秘密 ) 密钥 SKb、 临时值 ( 随机数 )Rb 以及公共密钥 PKb, 公共密钥 PKb 可为 SKb 和 Rb 的函数 f2( 例如, PKb = f2(SKb, Rb))。可在第一装置 402 与第二装置 404 之间交换公共密钥 PKa 和 PKb。可使用交托机制 ( 如图 3 所述 ), 其中非起始方第二装 置 404 基于 PKb、 PKa 和 Rb 来计算交托值 Cb, 并将交托值 Cb 发送到第一装置 402。第一装 置 402 随后将其临时值 Ra 发送到第二装置 404, 并从第二装置 404 接收临时值 Rb。
接着, 每一装置 402 和 404 可产生确认数 Vab(A) 和 Vab(B), 作为 PKa、 PKb、 Ra 和 / 或 Rb 中的一者或一者以上的函数 g。 接着, 每一装置 402 和 404 可将其相应的确认数 Vab(A) 和 Vab(B) 映射或转换为一个或一个以上图像 406 和 408。如果两个装置 402 和 404 持有相 同的密码密钥 PKa 和 PKb 和 / 或临时值 ( 随机数 )Ra 和 Rb, 那么图像 406 和 408 将是相同 的。用户可容易地核对图像 406 和 408 以确认其是相同的, 接着接受第一装置 402 与第二 装置 404 之间的关联。 图 5 说明基于图像的验证揭露中间人攻击且允许用户拒绝两个装置之间的关联 的第二实例。入侵者装置可通过将其自身注入第一装置 502 与第二装置 504 之间而发起主 动的中间人攻击。入侵者装置 506 可试图拦截第一装置 502 与第二装置 504 之间的密码密 钥交换期间的信息, 并将其自己的密钥注入到进程中。
为了说明的目的, 假设第一装置 502 起始与第二装置 504 的通信链接或关联。图 3 中所描述的交托机制迫使入侵者装置 506 分别使用其自己的公共密钥 PKc 和 PKc′以及 临时值 Rc 和 Rc′来建立与第一及第二装置的个别关联。入侵者装置 506 建立与第一装置 502 和第二装置 504 的单独关联。因为交托机制迫使入侵者装置 506 首先交托其临时值中 的至少一者 (Rc 或 Rc′ ), 然后才能知道来自合法装置的两个临时值 Ra 和 Rb, 所以入侵者 装置 506 无法仅仅充当过手装置 (pass-through device)。
举例来说, 如果入侵者装置 506 首先与非起始第二装置 504 交换临时值 ( 例如随 机数 Rc′和 Rb), 那么入侵者装置 506 先交托其临时值 Rc′, 然后获得来自起始第一装置 502 的临时值 Ra。因此, 入侵者装置 506 无法在其与第二装置 504 交换的过程中复制临时 值 Ra, 且被阻止在稍后改变其临时值。相反, 如果入侵者装置 506 首先与起始第一装置 502 交换临时值 ( 例如 Rc 和 Ra), 那么入侵者装置 506 先交托临时值 Rc, 然后获得来自非起始 装置 504 的临时值 Rb。在以上两种情况下, 入侵者装置 506 均首先交托其临时值中的至少 第二者, 然后才能知道来自合法装置的第二临时值。因此, 入侵者装置 506 无法以致使确认 值匹配的方式来选择其自己的临时值。
因此, 第一装置 502 知道 PKa、 PKc、 Ra 和 Rc, 而第二装置 504 知道 PKb、 PKc′、 Rb 和 Rc′。第一确认值 Vac(A) 是 PKa、 PKc、 Ra 和 Rc 的函数 g( 即, Vac(A) = g(PKa, PKc, Ra, Rc)), 且将映射或转换为第一图像 508。第二确认值 Vbc(B) 是 PKb、 PKc′、 Rb 和 Rc′的函 数 g( 即, Vbc(B) = g(PKb, PKc′, Rb, Rc′ ), 且将映射或转换为第二图像 510。注意, 即使 入侵者装置 506 针对其公共密钥 PKc 和 PKc′使用相同值 / 数字且针对其临时值 Rc 和 Rc′
使用相同值 / 数字, 确认值 Vac(A) 和 Vbc(B) 也将是不同的。因此, 用户 / 操作者可明显且 清楚地看出两个图像是不同的, 且可拒绝关联。
因为用于确认值的数字的数目可增加以改进安全性, 所以对用户来说, 对此些长 确认值进行比较可能变得更加困难和麻烦。通过使用图像而不是数字, 使用数字关联模型 的简单的配对和 / 或验证协议可为更加用户友好且核对起来更容易。
图 6 是说明可如何将数字 ( 确认 ) 值映射成一个或一个以上图像的一个实例的框 图。可将多个数字映射成图标 / 图像以便较容易辨认。举例来说, 图像库 602 中的每一图 标 / 图像可表示一个两位数字。因此, 映射模块 604 可将四位数字确认值 “0258” 转换成两 个图标 606, 其中每一图标可表示一个两位组合。
由于每一图标具有一唯一身份且与两个或两个以上数字和 / 或字母数字符号或 其组合的特定序列相关联, 所以用户不是对用数字关联模型计算的两个数字进行比较, 而 是对两个或两个以上图像或图标进行比较。举例来说, 与 “00” 组合相关联的图标显示骑自 行车的运动员, 而 “01” 组合与网球付款人相关联。 不但用一种不同的运动来识别每一图标, 而且用运动员身体的截然不同的位置来识别每一图标。因此, 这两个图标之间不太可能发 生混淆。 在各种实施方案中, 可将每一数字序列 ( 例如, 两个、 三个、 四个、 五个、 六个等 ) 映 射为每一图像或图标。 因此, 映射为每一图像的数字越多, 将向用户显示以在简单的配对过 程中进行比较的图像越少。考虑到图像库中的图像之间的截然不同的图形差别, 比较过程 显著简化。
图 7 是说明可如何将数字 ( 确认 ) 值映射成一个或一个以上图像和色彩的另一实 例的框图。 除了使用截然不同的图像以外, 还可引入色彩作为简单的配对比较的一部分。 也 就是说, 可在形状与色彩两方面对用于确认的图像进行匹配以实现成功的验证。色彩的使 用可被用作将在配对和验证期间进行比较的图像的形状的独立组成部分或额外组成部分。 这样做可允许图像库中有较大多样性, 且促进创建较丰富且容易区别的图像。 此外, 向图像 库引入色彩使可用于表示较长数字关联的可能组合的数目增多。 还可使用色彩来减小图像 库的大小。 举例来说, 可将数字确认值的某一部分映射成色彩, 而可将其它数字映射成图像 或图标。
图像库 702 可包括图标库 706 和色彩库 704。 在此实例中, 将数字零到九映射为色 彩库 704 中的十种不同色彩, 且将一百个数字 (00 到 99) 映射为图标库 706 中的一百个不 同图标。在一个实例中, 映射模块 708 可将三位确认数的最高有效位映射为色彩库 704, 而 可将其余数字映射为图标库 706。举例来说, 对于数字确认数 “803” , 映射模块可将 “8” 映 射为黑色 ( 如由色彩库定义 ), 且将 “03” 映射为奔跑者图标, 使得图像 710 是黑色的奔跑者 图标。色彩库与图标库的组合准许仅用十种 (10) 色彩和一百个 (100) 图标来表示至多达 一千个 (1000) 图像。
较长的数字确认值可由两个图像来表示。举例来说, 可将六 (6) 位数字分成最初 三个数字和其次三个数字。 接着, 可分别将每一个三数字序列映射到图像库, 使得六位数字 可由两个色彩图标来表示。
图 8 是说明可使用图像产生算法将数字值映射为动态产生的图像的实例的框图。 在产生对于每一可能的确认值来说是唯一的图像时可使用各种算法。
在一个实例中, 图像可为图形化身, 或基于来自图像库的多个特征而产生的人物。 举例来说, 图像库 802 可包含多个子库, 例如发型库 804、 面部特征库 806、 衬衣库 808、 鞋库 810、 裤子库 812 和 / 或背景库 814。这些子库中的每一者均可由图像产生器 816 用以映射 数字确认值的一个或一个以上数字以产生图像 818。举例来说, 数字确认值 “802815” 可致 使图像产生器 816 使用发型库 804 映射第一数字 (“8” ), 使用面部特征库 806 映射第二和 第三数字 (“02” ), 使用衬衣库 808 映射第四数字 (“8” ), 使用裤子库 812 映射第五数字 (“1” ), 且使用背景库 814 映射第六数字 (“5” )。在各种实施方案中, 图像产生器 816 可 向每一数字位置指派一预定义的库, 或者用于每一数字位置的库可针对正被映射的每一数 字确认值而变化 ( 根据一算法 )。可实施多个其它化身以及化身与定义分明的组成部分的 组合, 以实现更容易且更快速的用户辨认。
可用于在关联模型中进行比较的化身的另一实例是用户的装置上的表的表面, 其 中表的每根指针的位置对应于数字确认值中的数字的特定组合。
在另外其它实施方案中, 试图建立安全通信链接或关联的一个或两个装置可能没 有显示器。举例来说, 装置可能是头戴耳机、 遥控器、 打印机或在其表面上没有用于显示器 的空间的小型装置。 在两个装置上均没有显示器的情况下, 用户可能难以验证确认图像。 对 于此些装置, “确认图像” 可为音频图像, 例如声音和 / 或音调。也就是说, 可将确认值映射 成音调、 叮铛声和 / 或某一声音, 且由每一装置发出。接着, 用户可对来自两个装置的音频 图像进行比较, 以确定是否应接受关联。 举例来说, 在用于语音呼叫的免提头戴耳机的情况 下, 装置上不存在显示器。 如果试图进行移动电话与头戴耳机之间的关联, 那么可使用音频 图像, 其中可使用音频音调来允许用户在移动电话和头戴耳机两者上确认关联。
图 9 是说明适于执行基于图像的验证的装置的逻辑组件的框图。装置 902 可为通 信链接或关联的起始方, 或非起始方。装置 902 可包含通信接口, 装置 902 可使用所述通信 接口与第二装置通信。 举例来说, 通信接口 904 可为支持蓝牙的无线接口。 验证模块 906 可 与通信接口 904 耦合, 以便在密码操作 ( 例如, 密钥交换 ) 期间接收一个或一个以上密钥, 以建立与第二装置的安全通信链接或关联。举例来说, 验证模块可执行如图 3 和图 4 中说 明的密钥交换。
验证模块 906 可获得数字确认值, 并将其发送到图像选择器 / 产生器 908, 其使用 图像库 910 来转换和 / 或映射数字确认值, 并经由输出接口 912( 例如, 显示器、 音频扬声器 等 ) 向用户输出所选择 / 产生的图像。图 6、 图 7 和 / 或图 8 中展示图像选择器 / 产生器 908 以及图像库 910 的操作的一些实例。图像选择器 / 产生器 908 可应用防冲突函数, 其 防止或禁止使用不同的数字确认值产生相同的验证图像。可通过符号、 图标、 色彩、 图形和 / 或声音来表示所计算的数字确认值的每一数字 ( 或数字的组合 ), 所述符号、 图标、 色彩、 图形和 / 或声音被专有地指派给所述数字 ( 或数字的组合 )。 因此, 所得的确认图像与使用 不同确认值产生的其它图像截然不同且可清楚地区分。
用户在已确认两个装置上存在的图像之后, 可经由输入接口 914 接受装置关联 ( 如果图像是相同的 ) 或拒绝装置关联 ( 如果图像是不同的 )。
装置 902 中的组件中的一者或一者以上可在一个或一个以上处理器或处理电路 中实施, 且 / 或可以软件来实施。 “图像” 可为任何可向用户呈现的视觉和 / 或听觉表示。 无论图像的性质如何, 图像均可高度地不同, 且每一图像唯一地表示一数字或数字序列。可通过使用确认值的导数而不是确认值本身来添加另一等级的安全性。 导数值可 ( 例如 ) 为确认值的无用数据 (hash), 且可用以产生确认图像。利用导数值而不是在实时 密码密钥交换中获得的实际确认值, 可使中间人更加难以确定用以通过使用选定图像的样 本产生确认图像的图像产生算法。
在各种实施方案中, 可从整个数字确认值或从其一个或一个以上区段产生确认图 像。依据实施方案, 用户可确定数字确认值的待用于产生模拟图像的部分 / 区段。
另外, 用户 / 操作者还可基于寻求与之建立通信链接或关联的装置的类别或类型 来控制是否显示确认图像。 举例来说, 不同的图像库可与不同的装置类别相关联, 或指派给 不同的装置类别, 可基于 ( 在试图设置装置之间的通信链接时交换的 ) 装置识别符来确定 装置类别。
装置的用户或操作者还可控制究竟是否显示确认图像, 且可选择显示确认图像的 某些特征, 同时抑制其它特征。举例来说, 用户可选择特定图像库或图像类型, 将从其中选 择确认图像的每一部分。 在另一实例中, 用户可任选地激活听觉验证以作为图像的一部分, 其中与所计算的数字确认值唯一地相关联的一组可听音调可在图像库中获得。
图 10 是说明在第一装置上操作的用于促进对与第二装置的关联的基于图像的验 证的方法的流程图。 在一个实例中, 所述方法可在第一装置上操作, 以用于经由无线通信链 接安全地建立与第二装置的关联。可将多个图像和 / 或图像产生算法存储在第一装置中 (1002)。
可在第一装置与第二装置之间执行密码密钥交换, 以获得用于第一和 / 或第二装 置的密码信息 (1004)。举例来说, 第一装置可获得用于第一装置的第一公共密钥和第一临 时值, 以及用于第二装置的第二公共密钥和第二临时值。 作为验证过程的一部分, 第一装置 可基于密码信息来获得 / 计算确认值 (1006)。 所述确认值可包含具有多个数字的数字值和 字母数字序列中的至少一者。
第 一 装 置 可 基 于 确 认 值 来 获 得 ( 例 如, 转 换、 映 射、 计 算、 检索等 ) 确认图像 (1008)。举例来说, 可通过将确认值的一个或一个以上数字映射为多个图像中的一者或一 者以上来将确认值转换成确认图像。 或者, 图像产生算法可基于确认值来产生确认图像。 图 像产生算法可组合一个或一个以上图像、 图标、 色彩、 形状、 声音和背景以产生确认图像。 确 认图像也可基于确认值的第一导数。 基于确认值获得确认图像还可包含应用防冲突函数来 产生确认图像, 其中所述防冲突函数禁止使用不同值产生同一图像。确认图像还可包含图 标、 图形、 符号、 色彩和声音中的至少一者。
可将确认图像提供给操作者, 以用于使用第二装置的对应确认图像来进行验证 (1010)。举例来说, 可经由显示器 ( 对于视觉图像 ) 或扬声器 ( 对于听觉图像 ) 来提供确 认图像。 可从操作者接收关于是接受还是拒绝与第二装置的关联的反馈 (1012)。 第一装置 可确定所述反馈是否指示确认图像与第二装置的对应确认图像相同 (1014)。 如果确认图像 与对应确认图像相同, 那么接受与第二装置的关联 (1016)。否则, 拒绝与第二装置的关联 (1018)。
在一个实施方案中, 可将确认值映射为经度和纬度。 举例来说, 可将确认值分成经 度与纬度对, 或者可以其它方式使用确认值来产生 ( 唯一的 ) 经度纬度对。接着, 可使用经 度与纬度对来获得通过经度和纬度来识别的地理位置的图像。举例来说, 可存取映射数据库 ( 在用户装置上, 或在用户装置外部 ), 其中提供经度和纬度以获得对应于经度与纬度对 的位置的图像 ( 例如, 地图或卫星图像 )。 两个装置可使用相同程序以允许用户验证两个装 置之间的关联。也就是说, 用户将第一装置所提供的位置的图像与第二装置所提供的位置 的图像进行比较, 以确定是应接受还是拒绝所述关联。
在另一实施方案中, 可将确认值映射或转换成搜索字符串 ( 例如, 一个或一个以 上搜索词, 名称等 ), 接着使用所述搜索字符串作为对搜索引擎 ( 例如, GoogleTM 或 YahooTM 搜索引擎 ) 的输入。可使用搜索引擎所返回的第一网页作为确认图像。两个装置可使用同 一程序来允许用户验证两个装置之间的关联。也就是说, 用户将第一装置所提供的第一网 站的图像与第二装置所提供的图像进行比较, 以确定是应接受还是拒绝所述关联。
在替代实施方案中, 可将确认值唯一地映射成统一资源定位符 (URL) 或对网络上 的内容的其它地址引用。因此, 不同的确认值将链接到不同的 URL 或网络的地址引用。URL 或地址引用可链接到网络上的用作确认图像的图像。可将此图像发送到装置, 使得用户可 将其与对应的第二确认图像进行比较, 并决定是应接受还是拒绝关联。这可允许使用比可 在用户装置上存储的图像数据库大得多的图像数据库, 且还可允许基于相关联的装置的显 示能力来修整图像。
根据一种配置, 第一装置中的电路可适于获得并存储图像库的多个图像或图像产 生算法。同一电路、 不同电路或者同一或不同电路的第二部分可适于执行与第二装置的密 码密钥交换, 以获得针对第一和 / 或第二装置的密码信息。此外, 同一电路、 不同电路或者 同一或不同电路的第三部分可适于基于密码信息来获得针对第一装置的确认值。类似地, 同一电路、 不同电路或者第四部分可适于基于确认值来获得确认图像。同一电路或不同电 路的第五部分可适于将确认图像提供给操作者以与针对第二装置的对应确认图像进行验 证。 同一或不同电路的第六部分可适于从操作者接收关于是接受还是拒绝与第二装置的关 联的反馈。 同一或不同电路的第七部分可适于在反馈指示确认图像不同于对应确认图像的 情况下拒绝关联, 或者在反馈指示确认图像与对应确认图像相同的情况下接受关联。所属 领域的技术人员将认识到, 一般来说, 本发明中所描述的处理的大部分可以类似方式实施。 电路或电路部分中的任一者均可单独实施, 或者作为集成电路的一部分与一个或一个以上 处理器组合实施。所述电路中的一者或一者以上可在集成电路、 高级 RISC 机器 (ARM) 处理 器、 数字信号处理器 (DSP)、 通用处理器等上实施。
图 1、 图 2、 图 3、 图 4、 图 5、 图 6、 图 7、 图 8、 图 9 和 / 或图 10 中所说明的组件、 步骤 和 / 或功能中的一者或一者以上可重新排列和 / 或组合成单个组件、 步骤或功能, 或者在若 干组件、 步骤或功能中体现。还可添加额外的元件、 组件、 步骤和 / 或功能。图 1、 图 2、 图 6、 图 7、 图 8 和 / 或图 9 中所说明的设备、 装置和 / 或组件可经配置或调适以执行图 3、 图 4、 图 5 和 / 或图 10 中所描述的方法、 特征或步骤中的一者或一者以上。本文中所描述的算法可 在软件和 / 或嵌入式硬件中高效地实施。
所属领域的技术人员将进一步了解, 结合本文中所揭示的配置而描述的各种说明 性逻辑块、 模块、 电路和算法步骤可实施为电子硬件、 计算机软件或上述两者的组合。为了 清楚地说明硬件与软件的这种可互换性, 上文已关于其功能性大体上描述了各种说明性组 件、 块、 模块、 电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整体 系统的设计约束。本文中所描述的各种特征可在不同系统中实施。举例来说, 图像选择器 / 映射器 / 产生器可在单个电路或模块上实施、 在单独的电路或模块上实施, 由一个或一个以上处理 器执行, 由并入机器可读或计算机可读媒体中的计算机可读指令执行, 且 / 或在手持式装 置、 移动计算机和 / 或移动电话中体现。
应注意, 前述配置只是实例, 且不应被解释为限制所附权利要求书。 对配置的描述 既定是说明性的, 而不限制所附权利要求书的范围。 由此, 本教示可容易地应用于其它类型 的设备, 且所属领域的技术人员将明白许多替代方案、 修改和变化。