买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】安全近场通信_微软技术许可有限责任公司_201880008838.1 

申请/专利权人:微软技术许可有限责任公司

申请日:2018-01-19

公开(公告)日:2022-11-29

公开(公告)号:CN110249645B

主分类号:H04W12/041

分类号:H04W12/041;H04W12/033;H04W12/037;H04W4/80;H04B5/00

优先权:["20170127 US 15/418,590"]

专利状态码:有效-授权

法律状态:2022.11.29#授权;2019.10.15#实质审查的生效;2019.09.17#公开

摘要:当目标设备经由载波传送其数据时,通过将对发起设备私有的隐藏密钥编码到载波上来改善近场通信NFC对窃听者的安全性。拥有隐藏密钥的发起设备能够撤消隐藏密钥的加扰效果,从而私有地解释由目标设备编码到载波上的数据。在各个方面,隐藏密钥是随机生成、使用并且然后丢弃的一次性密钥,防止了恶意方获取隐藏密钥以便稍后解释拦截的数据信号。

主权项:1.一种用于保护近场通信NFC的方法,包括:由发起设备磁感应与目标设备的NFC载波;由所述发起设备发起与所述目标设备的握手过程;在所述发起设备上生成隐藏密钥;由所述发起设备根据所述隐藏密钥调制所述NFC载波;由所述发起设备从所述目标设备接收数据信号,所述数据信号在由所述隐藏密钥和所述数据信号调制的所述NFC载波上被编码;以及由所述发起设备根据所述隐藏密钥解释所述NFC载波以返回在所述NFC载波上被编码的所述数据信号。

全文数据:安全近场通信背景技术近场通信NFC包括几个标准,通过这些标准,彼此接近的两个设备可以无线地交换信息。这些标准包括ISOIEC18092规定了在设备之间建立连接以及如何交换数据的几个方面。NFC历来依赖于接近性作为安全特征,但随着恶意方和窃听者在其接收硬件和伪装设备方面获取更高的复杂性以在数据交换时实现中间人攻击,需要附加的安全特征以保持对NFC交易隐私的保密。一个这样的安全特征是经由秘密密钥加密在设备之间传递的信号;但是,加密会增加处理开销减慢通信并且容易受到暴露秘密密钥的影响。发明内容提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”部分中进一步描述。本“发明内容”不旨在标识所要求保护的主题的所有关键或必要特征,也不旨在帮助确定所要求保护的主题的范围。本文中讨论了包括用于提供安全近场通信NFC的指令的系统、方法和计算机可读存储设备。NFC的一个好处是,它在两个通信设备之间的握手过程很快,使得两个设备可以快速交换数据。不幸的是,该速度的一部分通过放弃通信设备的认证例如,用户名密码对,并且替代地依赖于通信的短距离来排除恶意方或窃听者来实现。为了提供更高的安全性,同时保持NFC固有的速度益处,本公开提供了一对通信设备中的主动通信设备以随机地调制设备用来通信的磁载波。被动通信设备将其数据编码到载波上而无视调制,并且主动通信设备保持调制的高速缓存,使得它们对来自被动通信设备的通信的影响可以由主动通信设备消除。主动通信设备从被动通信设备接收由主动通信设备可解释的数据,但是窃听设备接收被加扰和不可解释的信号。主动通信设备私有地保持用于调制载波的隐藏密钥,并且可以在解释信号时丢弃密钥以摒绝窃听者可能恢复隐藏密钥并且从而解释拦截的消息的可能性。示例被实现为计算机进程、计算系统、或制品,诸如设备、计算机程序产品或计算机可读介质。根据一个方面,该计算机程序产品是计算机系统可读的并且编码包括用于执行计算机进程的指令的计算机程序的计算机存储介质。下面在附图和描述中阐述一个或多个方面的细节。通过阅读以下详细描述和对相关附图的回顾,其他特征和优点将很清楚。应当理解,以下详细描述仅是解释性的,而不是对权利要求的限制。附图说明包含在本公开中并且构成本公开的一部分的附图示出了各个方面。在图中:图1示出了经由近场通信进行通信的两个设备;图2A-2G是解释近场通信信号的频谱图的示例。图3是示出用于保护近场通信的示例方法中涉及的一般阶段的流程图;图4是示出计算设备的示例物理组件的框图;以及图5A和5B是移动计算设备的框图。具体实施方式以下详细描述参考附图。只要可能,在附图中使用相同的附图标记,并且以下描述涉及相同或相似的元素。虽然可以描述示例,但是修改、适配和其他实现是可能的。例如,可以对附图中示出的元素进行替换、添加或修改,并且可以通过将阶段替换、重新排序或添加到所公开的方法来修改本文中描述的方法。因此,以下详细描述不是限制性的,相反,适当的范围由所附权利要求限定。示例可以采用硬件实现或完全软件实现或结合软件和硬件方面的实现的形式。因此,以下详细描述不应当被视为具有限制意义。图1示出了根据NFC标准诸如例如,ISOIEC18092经由磁性载波110与被动通信设备100p即,目标通信的主动通信设备100a即,发起者。在各个方面,被动通信设备100p可以是无源设备没有其自身的电源或作为无源设备通信的有源设备,并且因此可以包括针对主动通信设备100a示出的任何组件。例如,被动通信设备100p可以是信用卡,并且主动通信设备100a是信用卡读取器,或者被动通信设备100p可以是第一移动电话,并且主动通信设备100a可以是第二移动电话。在各种示例中,主动通信设备100a和被动通信设备100p示出了多种计算系统,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统例如,移动电话、上网本、平板计算机或平板型计算机、笔记本计算机和膝上型计算机、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机、打印机、游戏设备、密钥装置和卡、以及大型计算机。这些计算系统的硬件关于图4、5A和5B更详细地讨论。主动通信设备100a包括电源120a、密钥缓冲器130a、调制器140a、天线150a和解调器160a。在各个方面,电源120a可以是电池或到外部电源的电连接,诸如例如墙壁插座或另一设备例如,当主动通信设备100a是用于使得计算机能够经由NFC进行通信的用于该计算机的附件或加密狗dongle时。电源120a向主动通信设备100a的其他组件提供电力以生成、调制和解释NFC信号,并且在一些方面,将由磁性载波110承载的电力提供给被动通信设备100p以引起其以生成和调制NFC信号。调制器140a被配置为经由天线150a生成磁性载波110,并且将数据编码到其上。在各个方面,编码到磁性载波110中的数据包括用于发起与其他通信设备100的通信的信号以及隐藏密钥。例如,握手信号或响应请求信号可以由调制器140a编码到磁性载波110上,以引起被动通信设备100p将其存储的信息提供给主动通信设备100a。在另一示例中,当被动通信设备100p将其信息编码到磁性载波110上时,主动通信设备100a将隐藏密钥编码到磁性载波110上以保护该信息免受窃听者的攻击。在一些方面,响应于从握手过程的结束起的定时延迟或来自被动通信设备100p的信号开始消息,调制器140a开始将隐藏密钥编码到磁性载波110上。类似地,在不同方面,响应于到达先前编码到磁性载波110上的消息长度,到达隐藏密钥的结束,或者从被动通信设备100p接收到信号结束消息,调制器140a停止将隐藏密钥编码到磁性载波110上。在一些方面,在被动通信设备100p将信息编码到磁性载波110上的持续时间内,隐藏密钥被调制到磁性载波上。在其他方面,调制器140a在比被动通信设备100p传输其信息更长的时间段内将隐藏密钥编码到磁性载波110上例如,在预期消息编码时开始,在消息编码之后继续以进一步伪装由被动通信设备100p编码的消息。在其他方面,调制器140a在较短的时间段内将隐藏密钥编码到磁性载波110上例如,在接收到第一比特之后开始,在完全接收到有效载荷但不是信号结束消息之后结束。解调器160a被配置为观察由天线150a接收的磁性载波110以解释编码到磁性载波110上的信息。在各个方面,解调器160a被与调制器140a通信以向调制器140a提醒所接收的消息例如,信号开始、信号结束等。在其他方面,解调器160a与存储器存储设备和处理器通信,使得可以由主动通信设备100a对从被动通信设备100p接收的信息进行动作。例如,解调器160a可以将从智能卡的被动通信设备100p接收的信用卡号传递到存储器存储设备和处理器,以用于确定是否使用该智能卡授权交易。解调器160a被配置为将从无源通信设备100p接收的信息从隐藏密钥的效果解扰,该隐藏密钥也被调制到磁性载波110上。在各个方面,解调器160a使用隐藏密钥来产生磁性载波110的没有隐藏密钥的影响的版本,该版本与静态阈值进行比较以确定在磁性载波110上的给定时间帧内由被动通信设备100p编码的二进制值。在其他方面,通过根据隐藏密钥调制阈值以提供在传输的给定时间帧期间改变以匹配隐藏密钥的效果的阈值,解调器160a确定由被动通信设备100p根据隐藏密钥编码到磁性载波110上的二进制值。在一些方面,解调器160a还可以对所接收的信息执行错误校正例如,使用校验和或错误校正码,并且对磁性载波110执行帧同步过程以调节调制器140a何时发送下一比特或磁性载波110的相位,或者可以向调制器140a发信号通知在从被动通信设备100p接收信息时发生了错误。例如,当故意引入随机错误例如,位翻转以进一步混淆消息时,解调器160a可以应用ReedSolomon码来校正这些故意错误。在各个方面,调制器140a和解调器160a是单个设备的一部分,或者可以是两个单独的设备。类似地,在各个方面,调制器140a和解调器160a可以被配置用于各种调制方案,包括幅度调制AM、频率调制FM和相位调制PM,这些调制方案通过根据要传输的信息分别改变载波的幅度、载波的频率和载波的相位来将数据编码到载波上和从载波解码数据。本领域普通技术人员将熟悉各种调制方案及其解释。密钥缓冲器130a与调制器140a和解调器160a通信,并且被配置为存储隐藏密钥以用于保护从被动通信设备100p交换到主动通信设备100a的信息免受窃听者和其他恶意方的攻击。在各个方面,密钥缓冲器130a包括随机数生成器,随机数生成器用于产生具有随机二进制值的一系列比特以包括隐藏密钥。在一些方面,隐藏密钥是按需产生的——其中产生一个比特以在给定时间帧内对磁性载波110进行编码,以在给定时间帧处解释磁性载波110,并且然后在给定时间帧已经被解释时丢弃。可以通过以下方式来丢弃给定比特:用隐藏密钥中的下一比特覆盖给定比特,移位寄存器以对包括隐藏密钥的系列中的下一比特排队以供主动通信设备100a使用,或者从密钥缓冲器130A中擦除给定比特。在其他方面,密钥缓冲器130a被提供用于重复使用的隐藏密钥,隐藏密钥可以被硬编码到主动通信设备100a或者被提供用于给定的通信会话。隐藏密钥由主动通信设备100a私有地保持,并且不与被动通信设备100p共享,被动通信设备100p可以将其信息编码到磁性载波110,而无视主动通信设备100a根据隐藏密钥赋予的调制效果。被动通信设备100p包括数据存储装置170p、调制器140a和天线150p。被动通信设备100p的调制器140p和天线150p与主动通信设备100a的调制器140a和天线150a类似地操作,除了它们不生成磁性载波110,而是将被动通信设备的信息搭载到由主动通信设备100a生成磁性载波110上;调制它以携带该信息以用于由主动通信设备100a接收。当设备100接近并且彼此磁耦合时,设备100的天线有效地形成变压器。在各个方面,被动通信设备100p的数据存储装置170p是硬编码到芯片上的被动数据存储装置例如,密钥卡上的标识符编号和信用卡的帐号或者是主动数据存储装置例如,被提供用于设备之间的通信的计算机存储器中的寄存器。被动通信设备100p接收由主动通信设备100a生成的磁性载波110,并且根据存储在数据存储装置170p中的信息经由调制器140p调制该磁性载波110以影响磁性载波110。每个通信设备100在对信息进行编码以便由另一通信设备100进行解释时交替。在各个方面,编码信号之间的保护时间确保了通信设备100不会彼此“交谈”,其可以在给定通信设备100编码针对另一通信设备100的信息时通过编码到磁性载波110上的帧结束信号和或消息长度指示符来被发信号通知。然而,隐藏密钥不是意在用于由被动通信设备100p或任何其他设备解释——它是主动通信设备100a私有的——并且在被动通信设备100p将其信息编码到磁性载波110上的时间段期间由主动通信设备100a编码到磁性载波110上;以保护信息免受窃听者的攻击。在各个方面,磁性载波110将来自主动通信设备100a的电力传输到被动通信设备100p,以引起调制器150p将数据存储装置170p中的信息编码到磁性载波110上。图2A-2G是解释NFC信号的示例频谱图200。尽管本文中主要在幅度调制AM方面给出示例,但是本公开不限于在AM设备中的应用。设想本公开同样适用于其他调制方案,包括但不限于:频率调制FM和相位调制PM。还应当理解,尽管示例频谱图200出于说明的目的被示出为理想化的正弦波和方波,但是非理想化的若干波类型是可能的并且被设想用于本公开,包括但不限于:正弦、锯齿正向或反向偏置、方形和三角形。另外,尽管经由开关键控示出了对信号的解释,但是也可以设想其他解释方案例如,差分编码用于本公开。此外,应当理解,所示的恒定幅度是理想化的,并且当通信设备100彼此接近时,尤其是当被动通信设备100p相对于主动通信设备100a移动时,由于主动通信设备100a上的增加的负载而引起来自被动通信设备100p的被动模式通信,预期幅度下降。图2A示出了作为正弦波的示例载波210。在用于NFC的ISOIEC18092标准中,载波210将具有13.56MHz的频率和在未调制条件下其场强在1.5到7.5Am之间的操作量即,信号幅度,但是采用本公开的其他通信标准可以对载波210使用不同的频率和操作量。主动通信设备100a生成用作磁性载波110的载波210,磁性载波110在被动通信设备100p上被感应以将数据编码到其上,数据然后由主动通信设备100a读取。图2B示出了来自被动通信设备100p的示例数据信号220。数据信号220将存储在数据存储装置170p中的信息编码为包括若干时间帧的时间序列,各个比特在上述若干时间帧中被编码。在从初始时间t0到最终时间t8的时间段上示出了图2A-G中的每个频谱图200,以经由8比特字节的传输和解释来说明示例。在每个时间帧期间例如,在t0到t1之间,在t1到t2之间,在t2到t3之间等,被动通信设备100p可以将比特编码到载波210上。根据被设置用于传输的比特率,时间帧的实际持续时间可以在不同方面变化。在频谱图200中示出了8个时间帧以说明字节的编码和传输。在本公开中,为了区分数字的十进制和二进制表示,二进制数以八位字节呈现,每组四个比特之间具有空格,并且下标2位于第二组之后例如,为了本公开的目的,000000002是零的二进制表示。各个比特的值被讨论为1真、0假或未知。如图2B所示,数据信号220表示110011002十进制204,其中第一、第二、第五和第六时间帧的比特是1真,第三、第四、第七和第八时间帧的比特是0假。图2C示出了由图2B的示例数据信号220调制的图2A的载波210。在当前示例中,载波210的幅度已经被调制以从图2B的数据信号220编码110011002。主动通信设备100a根据一种或多种采样方法和编码方法从调制的载波210构建观察到的消息230。如图所示,观察到的消息230重构图2B的数据信号220,数据信号220对照解码阈值240进行解释以提取编码到载波210上的数据。如将在AM实现中理解的,高于解码阈值240的值被解释为1真并且低于解码阈值240的值被解释为0假。设置用于频率或相位变化的类似的阈值以用于解释经由FM和PM方案发送的信号。在各个方面,解码阈值240可以包括不确定性范围,使得尽管落在解码阈值的一侧或另一侧,但是来自解码阈值240的不确定性范围内的任何值被确定为未知,因为其相对于解码阈值240的位置太接近而不能准确地确定对应比特的真值。如图2C所示,解码阈值240基于调制的操作量来设置以确定在给定时间帧中观察到的消息230是表示1真还是0假。不幸的是,用于接收图2C的调制载波210的范围内的任何设备可以重构由被动通信设备100p编码到载波210上的数据;不仅仅是主动通信设备100a。图2D示出了示例隐藏密钥信号250。尽管示出具有与图2B的数据信号220类似的幅度并且在每个时间帧之间在内部具有类似的幅度,但是隐藏密钥信号250的强度可以与数据信号220的强度不同并且每个时间帧的幅度也可以变化。例如,尽管在图2D中仅示出了两个幅度,但是可以应用在其上编码时在不同程度上影响载波210的多个不同幅度。另外,隐藏密钥信号250的最大幅度被设置使得调制信号将符合适用通信标准的上部和下部功率带,并且在一些方面被设置为尽可能接近调制深度区分AM方案中的不同值的比特以在由窃听者拦截的消息值之间提供更大的混淆。如图所示,隐藏密钥信号250表示101010102十进制170。隐藏密钥信号250的至少一部分比特的值存储在主动通信设备100a的密钥缓冲器140a中以用于调制载波210以秘密地保护来自被动通信设备100p的数据传输,并且当观察到的消息230被秘密地保护时解调观察到的消息230。图2E示出了由隐藏密钥信号250调制的载波210,如果由另一设备解释,则将产生与隐藏密钥信号250相匹配的观察到的消息,如果对照适当的解码阈值240进行解释,则将产生隐藏密钥值101010102。因为在没有被动通信设备100p根据数据信号220调制载波210的情况下不应当传输由隐藏密钥信号250调制的载波210,所以观察到的信号230不应当与隐藏信号250相匹配;提供图2E的频谱图200作为用于讨论主动通信设备100a的内部操作的说明性示例。图2F和2G示出了由图2B的示例数据信号220和图2D的隐藏密钥信号250调制的图2A的载波210。很清楚的是,图2F和2G中的观察到的消息230示出了载波210已经被调制到的多于两个幅度电平。在所示示例中,当来自数据信号220和隐藏密钥信号250的对应比特都是1真或0假时,可以解析观察到的消息230中的得到的幅度以适当地从数据信号220返回对应比特。然而,当来自数据信号220和隐藏密钥信号250的对应比特具有不同的值时,在不知道隐藏密钥信号250的值的情况下,观察到的消息230中的得到的幅度不能可靠地解析为数据信号220的值。观察载波210并且试图解释观察到的消息230以提取所传输的数据的窃听者因此会误解所传输的数据或者确定这些比特的值是未知。例如,如果窃听者使用先前的解码阈值240,如图2F所示,则观察到的消息230将被错误地解释为111011102十进制238。在另一示例中,如果窃听者将解码阈值240均匀地设置在观察到的消息230的高值和低值之间,则一半的比特将被解释为未知即,所示示例中的比特二、三、六和七,使得所传输的值对窃听者不明确。在各个方面,为了根据隐藏密钥解释观察到的消息230,主动通信设备100a可以通过隐藏密钥信号250调制解码阈值240以产生图2G所示的调制阈值260,或者通过隐藏密钥信号250解调观察到的消息230以将图2F和2G的观察到的消息恢复为图2C所示的消息并且然后使用静态解码阈值240来解释载波210并且产生数据信号230。如图2G所示,在载波210通过隐藏密钥信号250的调制而改变时,调制阈值260改变,从而允许观察到的消息230被解码的阈值私有地在主动通信设备100a上移位以将数据信号220正确地解释为图2G中的110011002,而不是图2F中的111011102,而不必暴露或使隐藏密钥公开给任何潜在的窃听者。图3是示出用于保护NFC信号免受窃听者的攻击的示例方法300中涉及的一般阶段的流程图。方法300开始于操作310,其中两个设备接近以便交换NFC信号。在各个方面,主动通信设备100a响应于用户发起NFC通信而生成NFC信号,或者可以周期性地或不断地生成发起命令信号以检测进入与主动通信设备100a的通信接近范围内的被动通信设备100p。在各个方面,可以将接近范围设置为设备之间的距离例如,5cm、可以引起目标设备进行响应的来自发起设备的载波210的最小信号强度例如,至少0.175Am。一旦两个设备在通信接近范围内,主动通信设备100a将在操作320处与被动通信设备100p发起握手过程。在设备之间的被动模式通信的握手过程期间,发起设备主动通信设备100a可以使用已知的一系列数据例如,经由差分编码对已知序列进行编码的一系列n个比特来在目标设备被动通信设备100p上设置定时参数和或在目标设备缺少内部电源的情况下向目标设备提供初始电力。一旦握手过程完成,方法300就前进到决策330以确定是否从被动通信设备100p接收到响应。当确定在响应窗口内没有接收到响应时,方法300可以结束或返回到操作320以再次尝试握手过程以发起与被动通信设备100p的通信。当确定已经接收到响应时,方法300继续到操作340。在操作340,获取隐藏密钥。在各个方面,隐藏密钥是按需逐位生成的,其中生成具有随机二进制值的比特并且提供该比特以在丢弃之前保护——并且然后解释——数据信号220的时间帧。在其他方面,响应于编码在数据信号220中的来自目标设备的消息的长度,生成隐藏密钥作为一系列随机值比特。在其他方面,通过从存储器存储设备请求隐藏密钥来获取隐藏密钥,隐藏密钥在存储器存储设备上被硬编码,或由外部进程产生以保护给定通信会话的NFC信号。前进到操作350,发起者设备根据隐藏密钥调制磁性载波110以保护来自目标设备的信息传输。在各个方面,磁性载波110在预期目标设备传输信息时根据隐藏密钥被调制,和或在目标设备已经停止传输信息之后被调制以确保来自目标设备的所有传输都由隐藏密钥保护。在其他方面,仅针对来自目标设备的信息的一部分,根据隐藏密钥调制磁性载波110,诸如例如以保护传输帧的有效载荷部分的传输,但不保护传输帧的头部尾部信息。在各个方面,响应于定时延迟诸如从握手信号的结束起,从目标设备接收到消息开始,或者从目标设备的消息开始起n个时间帧,发起者设备开始将隐藏密钥编码到载波210上。在使用诸如曼彻斯特编码等差分编码的各方面,隐藏密钥在消息中每个比特被编码到载波210上几次例如,每比特两次,并且与比特传输同步以隐藏值的变化。在操作360,解释来自目标设备的响应以从载波210检索数据信号220。根据调制方案,发起者设备可以将载波的幅度、频率或相位的变化与对应解码阈值240根据隐藏密钥可以是静态的或动态的进行比较。当使用静态阈值时,发起者设备解调载波210以移除仅其知道的隐藏密钥的影响,以正确地解释由目标设备编码到载波210上的数据信号220。当使用动态阈值时,根据隐藏密钥调制阈值以考虑其对调制载波210的影响。在决策370确定来自被动通信设备100p的响应是否已经结束。在各个方面,使用信号结束消息、载波210仅编码隐藏密钥的长度为n个时间帧的范围、给定通信标准的已知消息帧长度、或目标设备先前编码到载波210上的消息长度来确定响应何时结束或预测其何时结束。当确定响应已经结束时,方法300前进到操作380。当确定响应尚未结束即,仍在进行时,方法300返回到操作350,以便发起者设备通过隐藏密钥继续保护编码到载波210上的信息。在操作380,发起者设备停止调制载波210。在一些方面,发起者设备可以从目标设备或不同的目标设备传输或发起新的握手或对附加信息的其他请求,或者方法300可以结束。虽然已经在与在计算机上的操作系统上运行的应用程序一起执行的程序模块的一般上下文中描述了实现,但是本领域技术人员将认识到,这些方面也可以与其他程序模块一起实现。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。本文中描述的方面和功能可以经由多种计算系统来操作,包括但不限于台式计算机系统、有线和无线计算系统、移动计算系统例如,移动电话、上网本、平板计算机或平板型计算机、笔记本计算机和膝上型计算机、手持设备、多处理器系统、基于微处理器或可编程的消费电子产品、小型计算机和大型计算机。另外,根据一个方面,本文中描述的方面和功能在分布式系统例如,基于云的计算系统上操作,其中应用功能、存储器、数据存储和检索以及各种处理功能通过诸如因特网或内联网等分布式计算网络彼此远程操作。根据一个方面,经由车载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元显示各种类型的用户界面和信息。例如,各种类型的用户界面和信息在各种类型的用户界面和信息被投影到的墙壁表面上显示和交互。与实践实现的多个计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、手势输入其中相关联的计算设备配备有用于捕获和解释用户手势以控制计算设备的功能的检测例如,相机功能等。图4、5A和5B以及相关描述提供了对其中实践示例的各种操作环境的讨论。然而,关于图4、5A和5B示出和讨论的设备和系统是出于示例和说明的目的,而不是限制用于实践本文所述方面的大量计算设备配置。图4是示出可以用于实践本公开的示例的计算设备400的物理组件即,硬件的框图。在基本配置中,计算设备400包括至少一个处理单元402、和系统存储器404。根据一个方面,根据计算设备的配置和类型,系统存储器404包括但不限于易失性存储装置例如,随机存取存储器、非易失性存储装置例如,只读存储器、闪存或这些存储器的任何组合。根据一个方面,系统存储器404包括操作系统405和适合于运行软件应用450的一个或多个程序模块406。根据一个方面,系统存储器404包括发起者控制器490应用——被配置为使得计算设备400能够用作主动通信设备100a。例如,操作系统405适合于控制计算设备400的操作。此外,各方面结合图形库、其他操作系统或任何其他应用程序来实现,并且不限于任何特定应用或系统。该基本配置在图4中由虚线408内的那些组件示出。根据一个方面,计算设备400具有附加特征或功能。例如,根据一个方面,计算设备400包括附加数据存储设备可移除和或不可移除,诸如例如磁盘、光盘或磁带。这种附加存储设备在图4中通过可移除存储设备409和不可移除存储设备410示出。如上所述,根据一个方面,多个程序模块和数据文件存储在系统存储器404中。当在处理单元402上执行时,程序模块406例如,发起者控制器490执行各种过程,包括但不限于图3所示的方法300的一个或多个阶段。根据一个方面,其他程序模块根据示例来使用,并且包括各种应用,诸如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用等。根据一个方面,各方面在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或者包含电子元件或微处理器的单个芯片中实现。例如,各方面经由片上系统SOC来实现,其中图4所示的每个或很多组件集成到单个集成电路上。根据一个方面,这样的SOC设备包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些都作为单个集成电路集成或“烧制”到芯片基底上。当经由SOC操作时,本文中描述的功能经由与单个集成电路芯片上的计算设备400的其他组件集成的应用特定的逻辑来操作。根据一个方面,本公开的各方面使用能够执行逻辑运算诸如例如,AND、OR和NOT的其他技术来实现,包括但不限于机械、光学、流体和量子技术。此外,各方面在通用计算机内或者在任何其他电路或系统中实现。根据一个方面,计算设备400具有一个或多个输入设备412,诸如键盘、鼠标、笔、声音输入设备、触摸输入设备等。根据一个方面,诸如显示器、扬声器、打印机等多个输出设备414也被包括在内。上述设备是示例,并且可以使用其他设备。根据一个方面,计算设备400包括允许与其他计算设备418通信的一个或多个通信连接416。合适的通信连接416的示例包括但不限于射频RF发射器、接收器和或收发器电路、通用串行总线USB、并行和或串行端口。本文中使用的术语计算机可读介质包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构或程序模块等信息的任何方法或技术实现的易失性和非易失性可移除和不可移除介质。系统存储器404、可移除存储设备409和不可移除存储设备410都是计算机存储介质示例例如,存储器存储。根据一个方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器EEPROM、闪存或其他存储器技术、CD-ROM,数字通用盘DVD或其他光学存储装置、磁带盒、磁带、磁盘存储装置或者其他磁存储设备、或者可以用于存储信息并且可以由计算设备400访问的任何其他制品。根据一个方面,任何这样的计算机存储介质是计算设备400的一部分。计算机存储介质不包括载波或其他传播数据信号。根据一个方面,通信介质由计算机可读指令、数据结构、程序模块、或者诸如载波或其他传输机制等调制数据信号中的其他数据来实施,并且包括任何信息传递介质。根据一个方面,术语“调制数据信号”描述一个或多个特性以使得能够在信号中对信息进行编码的方式设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、射频RF、红外和其他无线介质等无线介质。图5A和5B示出了可以用于实现各方面的移动计算设备500,例如,移动电话、智能电话、平板计算机、膝上型计算机等。参考图5A,示出了用于实现这些方面的移动计算设备500的一个示例。在基本配置中,移动计算设备500是具有输入元件和输出元件的手持式计算机。移动计算设备500通常包括显示器505和允许用户向移动计算设备500中输入信息的一个或多个输入按钮510。根据一个方面,移动计算设备500的显示器505用作输入设备例如,触摸屏显示器。如果包括,则可选的侧输入元件515允许另外的用户输入。根据一个方面,侧输入元件515是旋转开关、按钮或任何其他类型的手动输入元件。在替代示例中,移动计算设备500包含更多或更少的输入元件。例如,在一些示例中,显示器505可以不是触摸屏。在替代示例中,移动计算设备500是便携式电话系统,诸如蜂窝电话。根据一个方面,移动计算设备500包括可选的小键盘535。根据一个方面,可选的小键盘535是物理小键盘。根据另一方面,可选的小键盘535是在触摸屏显示器上生成的“软”小键盘。在各个方面,输出元件包括用于示出图形用户界面GUI的显示器505、视觉指示器520例如,发光二极管和或音频换能器525例如,扬声器。在一些示例中,移动计算设备600包括用于向用户提供触觉反馈的振动换能器。在又一示例中,移动计算设备500包括用于向外部设备发送信号或从外部设备接收信号的输入和或输出端口,诸如音频输入例如,麦克风插孔、音频输出例如,耳机插孔和视频输出例如,HDMI端口。在又一示例中,移动计算设备500包含用于向外部设备发送信号或从外部设备接收信号的外围设备端口540,诸如音频输入例如,麦克风插孔、音频输出例如,耳机插孔和视频输出例如,HDMI端口。图5B是示出移动计算设备的一个示例的架构的框图。也就是说,移动计算设备500包含系统例如,架构502以实现某些示例。在一个示例中,系统502被实现为能够运行一个或多个应用例如,浏览器、电子邮件、日历、联系人管理器、消息传递客户端、游戏和媒体客户端播放器的“智能电话”。在一些示例中,系统502被集成为计算设备,诸如集成的个人数字助理PDA和无线电话。根据一个方面,一个或多个应用550被加载到存储器562中并且在操作系统564上或与其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理PIM程序、文字处理程序、电子表格程序、因特网浏览器程序、消息传递程序等。根据一个方面,发起者控制器490被加载到存储器562中。系统502还包括存储器562内的非易失性存储区域568。非易失性存储区域568用于存储在系统502断电时不应当丢失的持久信息。应用程序550可以在非易失性存储区域568中使用和存储信息,诸如电子邮件或由电子邮件应用使用的其他消息等。同步应用未示出也驻留在系统502上,并且被编程为与驻留在主计算机上的对应同步应用交互以使存储在非易失性存储区域568中的信息与存储在主计算机处的对应信息保持同步。应当理解,其他应用可以被加载到存储器562中并且在移动计算设备500上运行。根据一个方面,系统502具有电源570,电源670实现为一个或多个电池。根据一个方面,电源570还包括外部电源,诸如补充或重新充电电池的AC适配器或电源对接支架。根据一个方面,系统502包括执行发射和接收射频通信的功能的无线电572。无线电572经由通信运营商或服务提供商支持系统502与“外部世界”之间的无线连接。去往和来自无线电572的传输在操作系564的控制下进行。换言之,由无线电572接收的通信可以经由操作系统564传播到应用程序550,反之亦然。根据一个方面,视觉指示器520用于提供视觉通知,和或音频接口574用于经由音频换能器525产生可听通知。在所示示例中,视觉指示器520是发光二极管LED,并且音频换能器525是扬声器。这些设备可以直接耦合到电源570,使得它们在被激活时保持开启持续由通知机制指示的持续时间,即使处理器560和其他组件可能关闭以节省电池电量。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口574用于向用户提供可听信号和从用户接收可听信号。例如,除了耦合到音频换能器525之外,音频接口574还可以耦合到麦克风以接收可听输入,诸如以支持电话交谈。根据一个方面,系统502还包括使得车载相机530的操作能够记录静止图像、视频流等的视频接口576。根据一个方面,实现系统502的移动计算设备500具有附加特征或功能。例如,移动计算设备500包括附加数据存储设备可移除和或不可移除,诸如磁盘、光盘或磁带。这种附加存储设备在图5B中由非易失性存储区域568示出。根据一个方面,如上所述,由移动计算设备500生成或捕获并且经由系统502存储的数据信息本地存储在移动计算设备500上。根据另一方面,数据存储在任何数目的存储介质上,这些介质由设备经由无线电572或经由移动计算设备500和与移动计算设备500相关联的分开的电子设备例如,诸如因特网等分布式计算网络中的服务器计算机之间的有线连接可访问。应当理解,这样的数据信息经由无线电572或经由分布式计算网络经由移动计算设备500可访问。类似地,根据一个方面,根据公知的数据信息传送和存储装置,包括电子邮件和协作数据信息共享系统,这样的数据信息在计算设备之间容易地传送以用于存储和使用。例如,以上参考根据各方面的方法、系统和计算机程序产品的框图和或操作图示描述了实现。框中记录的功能动作可以不按任何流程图所示的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能动作。本申请中提供的一个或多个示例的描述和说明不旨在以任何方式限制或约束所要求保护的范围。本申请中提供的方面、示例和细节被认为足以传达占有并且使得其他人能够制作和使用最佳模式。实现不应当被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,各种特征结构和方法旨在被选择性地包括或省略以产生具有特定特征集的示例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入本申请中实现的总体发明构思的更广泛方面的精神内而没有脱离更广范围的变型、修改和替换示例。

权利要求:1.一种用于保护近场通信NFC的方法,包括:由发起设备磁感应与目标设备的NFC载波;由所述发起设备发起与所述目标设备的握手过程;在所述发起设备上生成隐藏密钥;由所述发起设备根据所述隐藏密钥调制所述NFC载波;由所述发起设备从所述目标设备接收数据信号,所述数据信号在由所述隐藏密钥和所述数据信号调制的所述NFC载波上被编码;以及由所述发起设备根据所述隐藏密钥解释所述NFC载波以返回在所述NFC载波上被编码的所述数据信号。2.根据权利要求1所述的方法,其中所述隐藏密钥被生成作为一系列随机比特,其中每个随机比特在用于在给定时间帧内调制所述NFC载波并且在所述给定时间帧内解释所述NFC载波之后被所述发起设备丢弃。3.根据权利要求1所述的方法,其中所述NFC载波通过以下方式根据所述隐藏密钥被解释以返回所述数据信号:用所述隐藏密钥调制解码阈值以产生调制阈值;以及将所述NFC载波与所述调制阈值进行比较以返回在所述NFC载波上被编码的所述数据。4.根据权利要求1所述的方法,其中所述NFC载波通过以下方式根据所述隐藏密钥被解释以返回所述数据信号:用所述隐藏密钥解调所述NFC载波;以及将解调的所述NFC载波与静态解码阈值进行比较以返回在所述NFC载波上被编码的所述数据信号。5.根据权利要求1所述的方法,其中响应于确定所述目标设备已经停止将所述数据信号编码到所述NFC载波上,停止由所述发起设备根据所述隐藏密钥对所述NFC载波的调制。6.根据权利要求5所述的方法,其中由所述发起设备根据以下中的至少一项来确定所述目标设备已经停止将所述数据编码到所述NFC载波上:被编码到所述NFC载波上的信号结束消息;或者被编码到所述NFC载波上的消息长度,所述消息长度指示包括所述数据信号的比特的数目。7.根据权利要求1所述的方法,其中所述发起设备响应于以下中的至少一项来开始根据所述隐藏密钥调制所述NFC载波:从所述握手过程的结束起的定时延迟;或者被编码到所述NFC载波上的信号开始消息。8.根据权利要求1所述的方法,其中所述隐藏密钥的比特长度和所述数据信号的比特长度相等。9.根据权利要求1所述的方法,其中所述发起设备经由所述NFC载波向所述目标设备提供电力。10.一种提供与被动通信设备的安全近场通信NFC的主动通信设备,所述主动通信设备包括:天线,被配置为发送和接收射频信号;密钥缓冲器,被配置为存储隐藏密钥;调制器,与所述天线和所述密钥缓冲器通信,其中所述调制器被配置为:产生经由所述天线被传输以用于与所述被动通信设备通信的磁载波;将握手信号编码到所述磁载波上以发起与所述被动通信设备的通信;以及响应于从所述被动通信设备接收到对所述握手信号的响应,将所述隐藏密钥编码到所述磁载波上;以及解调器,与所述天线和所述密钥缓冲器通信,其中所述解调器被配置为:通过由所述被动通信设备根据所述隐藏密钥解码被编码到所述磁载波上的数据信号,来解释来自所述被动通信设备的所述响应。11.一种用于保护近场通信NFC的系统,包括:处理器;以及包括指令的存储器存储设备,所述指令在由所述处理器执行时可操作以提供:调制器,被配置为生成载波并且将数据编码到所述载波上;解调器,被配置为观察所述载波以解释被编码到所述载波上的数据信号;与所述调制器和所述解调器通信的密钥缓冲器,被配置为存储隐藏密钥;其中所述隐藏密钥由所述调制器编码到所述载波上以加扰从目标设备接收的数据信号;以及其中所述隐藏密钥由所述解调器使用以解扰从所述目标设备接收的所述数据信号。12.根据权利要求11所述的系统,其中所述调制器和所述解调器根据幅度调制方案操作以编码和解释数据信号。13.根据权利要求12所述的系统,其中所述解调器还被配置为对照幅度阈值来解释被编码在所述载波上的数据信号,以确定给定时间帧处的给定数据信号的比特值,其中所述幅度阈值根据所述隐藏密钥被调制。14.根据权利要求11所述的系统,其中所述密钥缓冲器还被配置为:生成所述隐藏密钥作为具有随机分配的二进制值的一系列比特,其中每个比特对应于所述载波的给定时间帧;以及响应于所述解调器在所述给定时间帧处解扰所述数据信号,从存储装置中移除与所述给定时间帧相对应的所述比特。15.根据权利要求11所述的系统,其中所述调制器还被配置为调制所述载波以产生由所述隐藏密钥解扰的握手信号。

百度查询: 微软技术许可有限责任公司 安全近场通信

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。