CN106663163B - 保障音频通信安全 - Google Patents

保障音频通信安全 Download PDF

Info

Publication number
CN106663163B
CN106663163B CN201580045707.7A CN201580045707A CN106663163B CN 106663163 B CN106663163 B CN 106663163B CN 201580045707 A CN201580045707 A CN 201580045707A CN 106663163 B CN106663163 B CN 106663163B
Authority
CN
China
Prior art keywords
module
audio
application module
application
session policy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580045707.7A
Other languages
English (en)
Other versions
CN106663163A (zh
Inventor
P·M·帕帕查恩
R·拉
R·A·乌各加
K·N·迪瓦拉喀纳斯
V·C·穆雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201910138121.5A priority Critical patent/CN109902477B/zh
Publication of CN106663163A publication Critical patent/CN106663163A/zh
Application granted granted Critical
Publication of CN106663163B publication Critical patent/CN106663163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/83Protecting input, output or interconnection devices input devices, e.g. keyboards, mice or controllers thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • Virology (AREA)
  • Computing Systems (AREA)
  • Telephone Function (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Soundproofing, Sound Blocking, And Sound Damping (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

本申请公开了保障音频通信安全。系统和方法包括建立应用程序模块与音频模块之间的加密安全通信。所述应用程序模块被配置成用于在信息处理机器上执行,并且所述音频模块被耦合到所述信息处理机器。所述加密安全通信的建立可以至少部分地由互信模块来促进。

Description

保障音频通信安全
优先权申明
本申请要求由PRADEEP PAPPACHAN等人于2014年9月26日提交的标题为“SECURINGAUDIO COMMUNICATIONS(保障音频通信安全)”的美国专利申请号14/498,711的权益和优先权,并且其全部内容通过引用结合于此。
相关申请
本申请的主题涉及以下共同转让的共同未决申请的主题:以PRADEEP M、PAPPACHAN和RESHMA LAL为发明人于2014年9月26日提交的名称为“SECURING SENSOR DATA(保障传感器数据安全)”的美国申请号14/498,701,并且其全部内容通过引用结合于此。
技术领域
实施例总体上涉及音频通信安全领域。
背景技术
音频(包括语音音频)在人和计算机之间的交互中变得越来越重要和越来越普遍,特别是由于言语识别的发展和通过计算机进行语音呼叫的增加。涉及音频的应用程序的示例包括:电话呼叫、通过语音的人识别、用于设备控制的语音命令、语音识别等。随着音频变得更加普遍,越来越多地关注音频数据的安全性以及对用户隐私的影响。
用户设备上的恶意软件可以拦截和获得对音频/语音通信的访问并且获得对私人电话通话、用户语音备忘录、用户偏好和习惯等的访问。因此,可能需要某些保护,以防止未授权访问私人音频/语音数据。
附图说明
在阅读详细描述并参考附图时,本发明的其他目的和优点将变得清楚。
图1是示出了根据一些实施例的被配置成用于在应用程序模块与音频模块之间提供安全通信的系统的框图。
图2是示出了根据一些实施例的被配置成用于在应用程序模块与音频模块之间提供安全通信的替代性系统的框图。
图3是示出了根据一些实施例的用于建立应用程序模块与音频模块之间的安全通信会话的流程图。
图4是示出了根据一些实施例的用于将来自应用程序模块的音频数据安全地传输到音频模块的方法的流程图。
图5是示出了根据一些实施例的用于将来自音频模块的所捕获音频数据安全地传输到应用程序模块的方法的流程图。
图6是示出了根据一些实施例的用于终止在应用程序模块与音频模块之间的安全音频会话的流程图。
图7是示出了根据一些实施例的处理器的框图。
图8是示出了根据一些实施例的被配置成用于在应用程序模块与音频模块之间提供安全通信的系统(包括片上系统)的框图。
尽管本发明存在各种修改和替代形式,但是其具体实施例在附图和所附的具体实施方式中作为示例示出。然而,应当理解,附图和具体实施方式并非旨在将本发明限制于所述特定实施例。本披露内容旨在覆盖落入请求保护的技术方案的范围内的所有修改、等同物和替代方案。
具体实施方式
图1是示出了根据一些实施例的被配置成用于在应用程序模块与音频模块之间提供安全通信的系统的框图。
在一些实施例中,音频模块110被配置成用于在与应用程序模块建立安全通信之后与应用程序模块135交换音频数据。在一些实施例中,音频模块110被配置成用于将由耦合到音频模块110的一个或多个麦克风捕获的音频数据传输到应用程序模块135。在一些实施例中,应用程序模块135被配置成用于将音频数据传输到音频模块110,然后可以通过耦合到音频模块110的一个或多个扬声器播放所述音频数据。
在一些实施例中,音频模块110以及应用程序模块135可以是信息处理/计算系统/环境的一部分,例如个人膝上型计算机、个人台式计算机、智能电话、专用音频计算机系统等。由所述音频模块捕获的音频以及发出到音频模块以供回放的音频可能暴露于在相同计算环境中执行的其他应用程序或恶意软件的监视和捕获。音频数据一般可以包含其访问优选地受限制和控制的私人信息。
在一些实施例中,互信模块160被配置成用于至少部分地促进建立应用程序模块135与音频模块110之间的加密安全通信协议。在一些实施例中,通过使音频模块110与应用程序模块135之间的音频数据的交换安全,即使不是不可能,也非常难以通过其他未经授权的应用程序模块、操作系统、其他操作系统元件等来拦截所述音频数据。因此,即使不是不可能,恶意软件(诸如环0型恶意软件)也非常难以获得对在音频模块110与应用程序模块135之间交换的加密音频数据的未授权的访问。
在一些实施例中,互信模块160可以被配置成用于在促进加密通信的建立之前判定应用程序模块135是否是可信应用程序模块。在一些实施例中,互信模块160可以被配置成用于通过判定应用程序模块135是否为可信计算/执行环境的一部分来确定所述应用程序模块的可信度。互信模块还可以使用其他方法,以便确定应用程序模块135的可信度。
如果应用程序模块135是可信应用程序模块,则互信模块160可以促进应用程序模块135与音频模块110之间的加密安全通信的建立。在一些实施例中,互信模块160可以向应用程序模块135安全地提供秘密密钥、并且可以向音频模块110安全地提供相同的密钥。应用程序模块135和音频模块110然后可以使用所述秘密密钥来对它们之间交换的音频和其他数据进行加密/解密。应当指出的是,可以采用各种其他密码学方案来保护通信。可以使用的对称密钥加密协议的一些示例包括AES、Serpent、Blowfish等。
在建立加密安全通信之后,应用程序模块135和音频模块110可以开始安全地通信。在一些实施例中,应用程序模块135和音频模块110可以直接彼此通信。在其他实施例中,这两个模块可以经由互信模块160通信。在另外的其他实施例中,这两个模块可以经由与一个或多个其他模块和操作系统共享的通信总线进行通信。可以使用另外的其他通信模式(例如无线通信)。在一些实施例中,应用程序模块135还可以向音频模块传输会话策略。所述会话策略可以包括管理音频模块110和应用程序模块135的操作的某些规则和条件。例如,所述会话策略可以指定应用程序模块通常是否具有对所述音频模块的独占访问。通常,所述会话策略可以指定如下规则/条件:用于捕获音频流的音频模块的独占模式操作(例如,在音频会话期间仅允许一个捕获音频流到应用程序模块)。在其他示例中,可以允许多个回放音频流;绕过音频模块的所有捕获音频流的封阻以及落实到位的其他保护;捕获和回放音频流的加密;捕获和回放音频流的完整性保护;捕获和回放音频流的重放保护等。
通常,会话策略的元素可以包括:
共享模式:在会话的持续时间内音频子系统如何与其他应用共享。例如,在独占模式中,仅允许访问一个流;在共享模式中,可以允许多个流。
流保护:如何对流进行保护。例如,流是否需要进行加密、完整性保护、重放保护等。
会话的密码学参数:要使用的加密算法(用于加密、完整性保护、重放保护等)、块大小、加密密钥大小等。
在一些实施例中,经加密音频数据对于所述系统上执行的或存在的其他软件和模块保持私密。例如,这样的软件和模块可以包括系统软件、内核、内核空间中的音频驱动程序、音频设备驱动程序和中间件等。因此,在一些实施例中,恶意软件(甚至是可以利用诸如环0型恶意软件的系统级软件中的漏洞的恶意软件)可能无法获得对在音频模块110与应用程序模块135之间交换的加密音频数据的访问。
图2是示出了根据一些实施例的被配置成用于在应用程序模块与音频模块之间提供安全通信的替代性系统的框图。
在一些实施例中,音频模块210被配置成用于与应用程序模块250安全地交换音频数据。音频模块210被配置成用于从一个或多个麦克风235捕获音频以及将音频输出到一个或多个扬声器240。音频模块210被配置成用于从多个应用程序模块和所述操作系统接收音频数据,并且在通过回放编解码器230和/或通过音频处理模块215处理之后通过扬声器240输出音频。音频模块210还被配置成用于通过麦克风235捕获音频、通过捕获编解码器225和/或通过音频处理模块215对所述音频数据进行处理、以及将所述音频数据传输到一个或多个应用程序模块或所述操作系统。音频模块210还可以包括一个或多个音频处理模块215,所述音频处理模块被配置成用于根据音频模块210的需要执行处理。音频处理模块215可以被配置成用于例如执行数字信号处理。此外,音频处理模块215可以被配置成用于执行用于使音频模块210与应用程序模块250之间的数据交换安全的密码相关的计算。
在一些实施例中,音频模块210以及应用程序模块250可以是信息处理/计算系统环境的一部分,例如个人膝上型计算机、个人台式计算机、智能电话、专用音频计算机系统等。在一些实施例中,图中所示的各种模块/部件可以被定位在多个系统中。
由所述音频模块捕获的音频以及发出到音频模块以供回放的音频可能暴露于在相同计算环境中执行的其他应用程序或恶意软件的监视。音频数据一般可以包含其访问优选地受限制和控制的私人信息。
在一些实施例中,互信模块260被配置成用于至少部分地促进建立应用程序模块250与音频模块210之间的加密安全通信。在一些实施例中,互信模块260可以被配置成用于判定应用程序模块250是否是可信应用程序模块作为建立应用程序模块250与音频模块210之间的安全通信的条件。例如,在可信执行环境存在于计算系统环境中的多个实施例中,响应于确定所述应用程序是可信执行环境的一部分,可以将应用程序模块认证为可信应用程序模块。应当指出的是,其他方法也可以将应用程序模块认证为可信应用程序模块。
在一些实施例中,音频模块210和互信模块260可以用彼此的固有信任来进行预编程。例如,这两个模块可以被预被配置成用于使用对于其他模块不可物理访问的存储器。如此,预配置的访问受限的存储器空间是这两个模块如何可以具有私有安全的彼此通信方式的一个示例。因此,这两个模块通过所述实施方式可以具有彼此的固有信任。
在多个替代实施例中,可以通过一个模块使用证书验证另一个模块的身份来建立两个模块之间的信任。在一些实施例中,所述证书可以由为试图对其自身进行认证的模块的身份作证的相互信任的第三方发放。
响应于互信模块260确定应用程序模块是可信的,互信模块260则可以促进应用程序模块250与音频模块210之间的加密安全通信的建立。在一些实施例中,互信模块260可以向应用程序模块250和音频模块210安全地提供相同的秘密密钥。在一些实施例中,互信模块260可以使用与设置用于应用程序模块250与音频模块210之间的数据交换的加密协议不同的加密协议来用于将秘密密钥安全发送到应用程序模块250和音频模块210。
应用程序模块250和音频模块210于是可以在发送之前在对音频数据进行加密/解密中使用共享秘密密钥,以便彼此安全地通信。应当指出的是,可以使用用于使应用程序模块250与音频模块210之间的通信安全的各种其他加密协议。
应用程序模块250是其构件的可信执行环境270是用于在所述系统的执行环境中执行的应用程序/应用程序模块的可信环境。可以使用在此未描述的各种方法、模块和系统,以用于认证可信执行环境270中的应用程序。在一些实施例中,应用程序模块250可以使用由互信模块260建立的加密安全通信来与音频模块210开展安全音频数据会话。在一些实施例中,所述一个或多个音频存储器模块220可以被配置成用于在处理、传输或接收之前/之后存储加密密钥以及还存储经加密和解密的音频数据。多个音频处理模块215还可以被配置成用于执行除其他音频相关的操作之外的加密/解密操作。
应当指出的是,可以使用多个附加处理单元。例如,一个或多个处理单元可以被指配给多个数字信号处理任务,一个或多个处理单元可以被指配给多个加密/解密任务等。还应指出的是,可以使用一个或多个直接存储器访问单元来向/从音频存储器模块220发送数据以及向/从诸如指配给执行环境的系统存储器的其他存储器单元发送数据。
在一些实施例中,互信模块260被配置成用于根据需要生成可用于对应用程序模块250语音频模块210之间的通信提供附加保护的附加密钥。例如,互信模块260可以生成可用于保护正在交换的音频数据的完整性的附加密钥。在一些实施例中,互信模块260可以被配置成用于生成可用于认证和/或验证在应用程序模块250与音频模块210之间正在交换的音频数据的完整性的一个或多个消息认证码(MAC)。在一些实施例中,所述消息认证码可以用于认证经加密音频数据并且判定所述音频数据在发送过程中是否被改变。此外,可以生成用于向所交换的音频数据添加重放保护的密钥和计数器。在一些实施例中,在设置了加密安全通信之后,应用程序模块250被配置成用于向音频模块210传输音频流ID和会话策略以用于当前会话。音频流ID可以用于标识作为所述会话的一部分的后续通信,并且所述会话策略可以用于为音频模块210设置一个或多个规则和条件。可以是会话策略的一部分的规则/条件的示例包括:应用程序模块对音频模块的独占访问;对音频模块的传统访问(例如通过OS/驱动程序245)的禁用;允许音频流的混合等。
应当指出的是,在一些实施例中,由所述会话策略指定的一个或多个规则和条件的实施可以由多个音频处理模块215来实现。在多个替代实施例中,可以使用(或者除了音频处理模块之外还可以使用)附加硬件(例如在特定通信路径)来帮助实施多个会话策略。
在一些实施例中,无论OS/驱动程序模块245(或另一应用程序模块和其他音频中间件)是否拦截在应用程序模块250余音频模块210之间交换的安全音频数据,所述安全音频数据保持私密。
在一些实施例中,还可以将从OS或另一应用程序模块接收到的非安全音频数据路由到音频模块210以进行回放。在一些实施例中,非安全音频数据可以与从应用程序模块250接收到的经解密的安全音频数据混合,以便通过扬声器240进行回放,假定这种混合不与现有会话策略冲突。
在一些实施例中,当应用程序模块250确定音频会话完成时,应用程序模块250可以向互信模块260发送请求以发起所述安全会话的终止。作为响应,互信模块260可以告知音频模块210与应用程序模块250的安全音频会话正在结束。在多个替代实施例中,应用程序模块250可以将音频会话的终止直接通信到音频模块210。
音频模块210于是可以释放与安全会话相关联的任何资源,并且然后可以恢复正常的(不受应用程序模块或会话策略限制的)操作。在一些实施例中,音频模块210现在可以允许操作系统和其他不可信应用程序模块访问其资源。
在一些实施例中,如果应用程序模块在与音频模块210的安全通信会话期间异常终止,则音频模块210(就其本身而言或在互信模块260的请求下)可以例如在超时时段之后结束所述安全会话。例如,应用程序模块250可以被配置成用于传输“心跳”信号,以向互信模块260和/或音频模块210指示所述应用程序模块仍在正常执行/工作。因此,心跳信号的损失可以触发所述超时时段。
在一些实施例中,多于一个应用程序模块可以在给定时间与音频模块210安全地通信。例如,第一应用程序模块可以首先与音频模块210设置安全会话并且向音频模块210传输第一会话策略。第二应用程序模块然后可以尝试通过互信模块260设置与音频模块210的会话。例如,互信模块260可以准许所述请求并且如果这样做不与第一会话策略冲突则设置通信。
在一些实施例中,音频模块210可以与具有不同要求的多个不同应用程序模块同时建立安全通信。例如,音频模块210可以服务于可能需要加密音频流的VoIP应用程序,并且同时,音频模块210可以服务于可能需要完整性保护的音频流的扬声器验证应用程序。
图3是示出了根据一些实施例的用于建立应用程序模块与音频模块之间的安全通信会话的流程图。
在一些实施例中,在此描述的方法可以由图1和图2中所示的系统中的一者或多者来实现。
在一些实施例中,处理开始于300,其中在框310处,所述音频模块等待来自应用程序模块的通信。在一些实施例中,所述通信可以是直接的或者通过互信模块。在判定315处,判定是否已经接收到来自应用程序模块的通信。如果没有接收到来自应用程序模块的通信,则判定315分支到“否”分支,其中处理返回到框310。
另一方面,如果已经接收到了来自应用程序模块的通信,则判定315分支到“是”分支,其中在框320处,接收来自所述应用程序模块的用于开展与音频模块的安全音频会话的请求。在一些实施例中,所述请求可以由互信模块(应用程序模块和音频模块两者都相互信任的模块)接收和处理。
然后在判定325处判定所述应用程序模块是否为可信应用程序。在一些实施例中,如果应用程序模块正在所述系统上的可信执行环境内执行,则所述应用程序模块可以被确定为可信应用程序模块。在一些实施例中,此确定可以由互信模块作出。如果应用程序模块不是可信应用程序模块,则判定325分支到“否”分支,其中处理返回到框310。
另一方面,如果应用程序模块是可信应用程序模块,则判定325分支到“是”分支,其中在框330处,互信模块生成将由应用程序模块和音频模块使用以彼此安全地通信的秘密加密密钥。根据需要,所述互信模块还可以生成也可用于所交换的音频数据的完整性和重放保护的密钥。
在框335处,互信模块将所述秘密密钥安全地传输到应用程序模块和音频模块。应当指出的是,可以使用各种其他安全/加密方案来保护在应用程序模块与音频模块之间交换音频和其他数据。
在框337处,应用程序模块使用由互信模块提供的安全密钥将用于音频会话的会话策略安全地传输到音频模块。在一些实施例中,会话策略可以包括用于音频模块的某些规则/条件,例如向应用程序模块提供对音频数据的独占访问。此外,所述音频模块可以传输其他相关信息,例如会话ID。
在框340处,音频模块接收由应用程序模块传输的会话策略。作为响应,音频模块根据需要配置作为音频模块的一部分的某些模块,以便实施所述会话策略。
在框345处,音频模块开始根据应用程序模块的需要捕获和/或播放声音。在一些实施例中,所述音频模块可以使用一个或多个麦克风捕获音频、使用所提供的加密密钥对音频数据进行加密、并且将音频数据安全地传输到应用程序模块。所述应用程序模块然后可以对音频数据进行解密并且根据需要对其进行使用。在一些实施例中,应用程序模块可以使用所提供的加密密钥对待通过一个或多个扬声器播放的音频数据进行加密。然后,音频模块可以对所接收的音频数据进行解密、根据需要对音频数据进行处理、并且将音频数据引导至附接到音频模块的一个或多个扬声器。
图4是示出了根据一些实施例的用于将来自应用程序模块的音频数据安全地传输到音频模块的方法的流程图。
在一些实施例中,在此描述的方法可以由图1和图2中所示的系统中的一者或多者来实现。在一些实施例中,此图中的流程图可以更详细地表示图3的框345中所表示的功能的至少一部分。
处理开始于410,其中在框410处,应用程序模块产生将通过一个或多个扬声器播放的音频数据流。在框415处,对所述音频流数据进行加密,并且根据需要对其进行完整性保护和重放保护。
在框420处,经加密/受保护的音频数据流被传输到音频模块,并且在框425处,音频模块接收所述经加密/受保护的音频数据流。
在判定430处,判定所接收的音频流是否符合音频模块处的现有会话策略。例如,可以已经设置了由特定应用程序模块对音频模块独占访问的现有会话策略。因此,来自不同应用程序模块的请求将不符合现有会话策略。
如果所接收到的音频流不符合现有会话策略,则判定430分支到“否”分支,其中处理返回到框410。例如,第一应用程序模块可以通过第一会话策略设置对音频模块的独占访问。相应地,第二应用程序模块请求的访问可能违反现有会话策略、并且可能被拒绝访问。
另一方面,如果所接收到的音频流符合现有会话策略,则判定430分支到“是”分支,其中在判定435处,作出关于音频流完整性是否受损的另一判定。如果音频流完整性已受损,则判定435分支到“否”分支,其中处理再次返回到框410。另外,可以将指示音频流在发送过程中受损的通知发送到应用程序模块。
另一方面,如果音频流完整性未受损,则判定435分支到“是”分支,其中在框440处,音频模块对从应用程序模块接收到的音频流数据进行解密。
然后在判定445处作出关于现有会话策略是否允许将来自应用程序模块的音频与来自操作系统的音频进行混合的另一判定。例如,来自操作系统的音频可以包括系统通知声音等。如果不允许混合,则判定445分支到“否”分支,并且处理跳过框450并跳转到框455。
另一方面,如果当前会话策略允许将来自音频模块的音频与操作系统音频混合,则判定445分支到“是“分支,其中在框450处,来自音频模块的经解密音频流与来自操作系统的音频混合。
在框455处,使用回放编解码器对所述音频进行处理,并且在框460处,通过耦合到所述音频模块的一个或多个扬声器来输出音频。处理随后返回到框410。
图5是示出了根据一些实施例的用于将来自音频模块的所捕获音频数据安全地传输到应用程序模块的方法的流程图。
在一些实施例中,在此描述的方法可以由图1和图2中所示的系统中的一者或多者来实现。在一些实施例中,此图中的流程图可以更详细地表示图3的框345中所表示的功能的至少一部分。
在框510处,所述音频模块等待来自应用程序模块的请求。在判定515处,判定是否已经接收到来自应用程序模块的请求。如果未接收到来自应用程序模块的请求,则判定515分支到“否”分支,其中处理循环回到框510。应当指出的是,在一些实施例中,可以通过互信模块接收所述请求。另一方面,如果已经接收到来自应用程序模块的请求,则判定515分支到“是”分支,其中在框520处,应用程序模块请求从音频模块的一个或多个麦克风捕获音频。
然后在判定525处作出关于来自应用程序模块的请求是否符合现有会话策略的另一判定。如果所述请求不符合现有会话策略,则判定525分支到“否”分支,其中处理再次循环回到框510。例如,第一应用程序模块可以通过第一会话策略设置对音频模块的独占访问。相应地,第二应用程序模块请求的访问可能违反现有会话策略、并且因此可能被拒绝访问。
另一方面,如果所述请求符合现有会话策略,则判定525分支到“是”分支,其中在框530处,音频模块使用一个或多个麦克风捕获音频。在一些实施例中,音频模块还可以使用捕获编解码器对音频进行处理。
在框535处,音频模块对音频数据进行加密。另外并且根据需要,音频模块可以向音频流添加完整性和重放保护。
在框540处,音频模块将经加密/受保护的音频数据流传输到应用程序模块。处理随后返回到框510。
图6是示出了根据一些实施例的用于终止在应用程序模块与音频模块之间的安全音频会话的流程图。
在一些实施例中,在此描述的方法可以由图1和图2中所示的系统中的一者或多者来实现。
处理开始于600,其中在框610处,所述应用程序模块发送指示结束当前音频会话的信号,并且在框615处,音频模块接收来自所述应用程序模块的信号以结束当前音频会话。在一些实施例中,所述应用程序模块可以通过互信模块将音频会话的结束通信到音频模块。
在框620处,音频模块释放与所述音频会话相关联的任何资源,并且在框在框625处,音频模块取消作为由应用程序模块强加的当前会话策略的一部分而设置的任何规则/条件。在一些实施例中,音频模块现在可以返回到正常的非安全操作,直到另一应用程序模块请求新的安全音频会话。
处理随后在699处结束。
图7是示出了根据一些实施例的处理器的框图。
图7展示了根据一个实施例的处理器核700。处理器核700可以是用于任何类型的处理器的核,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器或用于执行代码的其他设备。尽管在图7中仅示出了一个处理器核700,但是处理元件可以可替代地包括多个如图7中所示的处理器核700。处理器核700可以是单线程核,或者对于至少一个实施例,处理器核700可以是多线程的,因为所述处理器核可以每个核包括多个硬件线程上下文(或“逻辑处理器”)。
图7还示出了耦合到处理器700的存储器770。存储器770可以是本领域技术人员已知或以其他方式可用的各种存储器(包括存储器层级的各种层)中的任何一种。存储器770可以包括待由处理器700核执行的一个或多个代码指令713。处理器核700遵循由代码713指示的指令的程序序列。每个指令进入前端部分710并且由一个或多个解码器720进行处理。所述解码器可以生成诸如预定格式的固定宽度微操作的微操作作为其输出,或者可以生成反映原始代码指令的其他指令、微指令或控制信号。前端710还包括寄存器重命名逻辑725和调度逻辑730,所述逻辑一般分配资源并对与转换指令相对应的操作进行排队以供执行。
处理器700被示为包括具有一组执行单元755-1、755-2到755-N的执行逻辑750。一些实施例可以包括专用于特定功能或功能集的多个执行单元。其他实施例可以仅包括一个执行单元或一个可执行特定功能的执行单元。执行逻辑750执行由多个代码指令指定的操作。
在完成由所述代码指令指定的操作的执行之后,后端逻辑760引退代码713的指令。在一个实施例中,处理器700允许无序执行,但需要按顺序引退指令。引退逻辑765可以采取本领域技术人员已知的各种形式(例如,重新排序缓冲器等)。以此方式,在代码713的执行过程中,至少在由解码器生成的输出、由寄存器重命名逻辑725使用的硬件寄存器和表、以及任何由执行逻辑750修改的寄存器(未示出)方面,处理器核心700进行变换。
虽然在图7中未示出,但是处理元件可以包括与处理器核700一起的其他片上元件。例如,处理元件可以包括与处理器核700一起的存储器控制。处理元件可以包括I/O控制逻辑、和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
在一些实施例中,代码713可以被配置成用于至少部分地促进建立应用程序模块与音频模块之间的加密安全通信。在一些实施例中,所述应用程序模块可以在安全环境中执行。在一些实施例中,代码713可以适于引起与建立应用程序模块与音频模块之间的加密安全通信相对应的寄存器或存储器元件的变换。
图8是示出了根据一些实施例的被配置成用于在应用程序模块与音频模块之间提供安全通信的系统(包括片上系统)的框图。
在一些实施例中,片上系统850是被配置成用于至少部分地建立所述系统中执行的应用程序与音频模块875之间的加密安全通信的系统的另一示例。音频模块875可以被配置成用于向音频硬件885发送音频以供回放(通过音频硬件885中的一个或多个扬声器)并且接收由音频硬件885(通过音频硬件885中的一个或多个麦克风)捕获的音频。
应当指出的是,片上系统850中可以包括一个或多个附加部件/单元,并且在此示出的部件中的一者或多者可以不存在于片上系统850中。另外,应当指出的是,所述部件中的一者或多者能够以硬件、固件、软件或其组合来实现。
此外,应当指出的是,所述一个或多个部件各自可以由一个或多个其他单元来实现。
片上系统850一般可以被设计为单一集成电路封装。在一些实施方式中,片上系统850可以制造在单一半导体晶片衬底上。在多个不同示例中,片上系统850可以使用多种不同SOC设计和制造方法来构造,以有效地创建小的计算系统。在其他单元中,片上系统850可以包括多个处理单元815、多个存储器单元820、多个存储单元825、多个图形处理单元827、以及多个通信单元835。应当指出的是,在其他实施方式中,片上系统850中的所述不同设备和模块中的一者或多者可以制造在多个分开的半导体晶片衬底上。
另外,可以耦合到片上系统850的是用于捕获图像/视频的一个或多个相机、用于捕获音频的一个或多个麦克风、用于促进电磁发射/接收以便通信的一个或多个天线、用于输出音频的一个或多个扬声器、用于输出图像/视频和接收用户输入的一个或多个触摸屏、以及用于接收用户输入的一个或多个键盘和鼠标。
此外,可以耦合到片上系统850的是一个或多个传感器,例如位置传感器、接近传感器、光传感器、加速度计、磁传感器、压力传感器、温度传感器,生物测定安全传感器(biometric security sensor)等。
在一些实施例中,可以将指令/软件代码存储在诸如存储单元825和存储器单元820的非易失性/易失性存储器的组合中。所述指令可以被配置成用于由处理器815进行处理,以便促进片上系统850的至少一些功能,例如至少部分地促进建立音频模块815与应用程序模块之间的安全通信。在另外的其他实施例中,上述处理中的至少一些可以由互信模块860执行。
在一些实施例中,片上系统850可以是便携式设备,诸如移动电话、具有触摸屏的智能电话、平板电脑、膝上型计算机、混合型设备、另一通信设备等。
示例1可以包括一种信息处理系统,所述信息处理系统包括:音频模块;应用程序模块,所述应用程序模块被配置成用于在信息处理系统上执行;以及互信模块,所述互信模块被耦合到音频模块和应用程序模块。所述互信模块可以被配置成用于至少部分地促进建立所述应用程序模块与所述音频模块之间的加密安全通信。
示例2可以包括如示例1所述的系统,其中,所述互信模块被配置成用于促进至少基于所述互信模块验证所述应用程序模块的可信度。
示例3可以包括如示例2所述的系统,其中,所述互信模块验证所述应用程序模块的可信度至少基于所述互信模块确定所述应用程序模块正在可信执行环境中执行。
示例4可以包括如示例1或2所述的系统,其中,所述互信模块被配置成用于信任所述音频模块,并且所述音频模块被配置成用于信任所述互信模块。
示例5可以包括如示例1或2或4所述的系统,其中,所述互信模块被配置成用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
示例6可以包括如示例1或2或4所述的系统、并且还可以包括所述应用程序模块至少基于所述建立所述加密安全通信向所述音频模块传输会话策略,并且其中,所述音频模块被配置成用于实施所述会话策略。
示例7可以包括如示例6所述的系统、并且还可以包括:从另一应用程序模块接收用于建立所述另一应用程序模块与所述音频模块之间的另一加密安全通信的请求;所述互信模块至少基于确定所述另一应用程序模块是可信应用程序模块以及确定所述请求符合所述会话策略来建立另一加密安全通信并促进在所述另一应用程序模块与所述音频模块之间交换一个或多个其他密钥。
示例8可以包括如示例1或2或4所述的系统,其中至少基于建立所述加密安全通信,所述音频模块被配置成用于:通过一个或多个麦克风捕获音频,使用所述建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述应用程序模块;以及从所述应用程序模块接收所述经加密音频,使用所述建立的加密安全通信对所述音频进行解密,并且通过一个或多个扬声器播放所述音频。所述应用程序模块被配置成用于从所述音频模块接收经加密音频,使用所述建立的加密安全通信对所述音频进行解密,并且对所述经解密音频进行处理;以及处理音频,使用所建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述音频模块以供回放。
示例9可以包括一种用于安全地交换信息的方法,所述方法包括建立应用程序模块与音频模块之间的加密安全通信。所述应用程序模块正在信息处理机器上执行,并且所述音频模块被耦合到所述信息处理机器。
所述建立至少部分地由互信模块促进。
示例10可以包括如示例9所述的方法,其中,所述互信模块促进所述建立至少基于所述互信模块被配置成用于验证所述应用程序模块的可信度。
示例11可以包括如示例10所述的方法,其中,所述互信模块验证所述应用程序模块的可信度至少基于所述互信模块确定所述应用程序模块正在可信执行环境中执行。
示例12可以包括如示例9或10所述的方法,其中,所述互信模块被配置成用于信任所述音频模块,并且所述音频模块被配置成用于信任所述互信模块。
示例13可以包括如示例9或10或12所述的方法,其中,所述互信模块被配置成用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
示例14可以包括如示例9或10或12所述的方法,包括所述应用程序模块至少基于所述建立所述加密安全通信向所述音频模块传输会话策略,并且其中,所述音频模块被配置成用于实施所述会话策略。
示例15可以包括如示例14所述的方法,包括从另一应用程序模块接收用于建立所述另一应用程序模块与所述音频模块之间的另一加密安全通信的请求。所述互信模块至少基于确定所述另一应用程序模块是可信应用程序模块以及确定所述请求符合所述会话策略来建立另一加密安全通信并促进在所述另一应用程序模块与所述音频模块之间交换一个或多个其他密钥。
示例16可以包括如示例9或10或12所述的方法,其中至少基于建立所述加密安全通信,所述音频模块被配置成用于:通过一个或多个麦克风捕获音频,使用所述建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述应用程序模块;以及从所述应用程序模块接收所述经加密音频,使用所建立的加密安全通信对所述音频进行解密,并且通过一个或多个扬声器播放所述音频。所述应用程序模块被配置成用于从所述音频模块接收经加密音频,使用所述建立的加密安全通信对所述音频进行解密,并且对所述经解密音频进行处理;以及处理音频,使用所建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述音频模块以供回放。
示例17可以包括至少一种非瞬态机器可访问存储介质,其上存储有多个指令,其中,所述指令被配置成用于当在机器上执行时使所述机器建立应用程序模块与音频模块之间的加密安全通信。所述应用程序模块正在信息处理机器上执行。
示例18可以包括如示例17的至少一种存储介质,其中,所述指令被配置成用于使所述机器验证所述应用程序模块的可信度。
示例19可以包括如示例18的至少一种存储介质,其中,所述指令被配置成用于使所述机器至少基于确定所述应用程序模块正在可信执行环境中执行来验证所述应用程序模块的可信度。
示例20可以包括如示例17或18或20的至少一种存储介质,其中,所述指令被配置成用于使所述机器至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
示例21可以包括如示例17或18或20的至少一种存储介质,包括所述应用程序模块至少基于所述建立所述加密安全通信向所述音频模块传输会话策略,并且其中,所述音频模块被配置成用于实施所述会话策略。
示例22可以包括如示例21的至少一种存储介质,包括所述指令被配置成用于对来自另一应用程序模块的用于建立所述另一应用程序模块与所述音频模块之间的另一加密安全通信的请求进行接收和处理。所述指令被配置成用于使所述机器至少基于确定所述另一应用程序模块是可信应用程序模块以及确定所述请求符合所述会话策略来建立另一加密安全通信并促进在所述另一应用程序模块与所述音频模块之间交换一个或多个其他密钥。
示例23可以包括如示例17或18的至少一种存储介质,其中至少基于建立所述加密安全通信,所述音频模块被配置成用于:通过一个或多个麦克风捕获音频,使用所述建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述应用程序模块;以及从所述应用程序模块接收所述经加密音频,使用所建立的加密安全通信对所述音频进行解密,并且通过一个或多个扬声器播放所述音频。所述应用程序模块被配置成用于从所述音频模块接收经加密音频,使用所述建立的加密安全通信对所述音频进行解密,并且对所述经解密音频进行处理;以及处理音频,使用所建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述音频模块以供回放。
示例24可以包括一种被配置成用于安全地交换信息的设备,所述设备包括用于至少部分地促进建立应用程序模块与音频模块之间的加密安全通信的装置。所述应用程序模块正在信息处理机器上执行,并且所述音频模块被耦合到所述信息处理机器。
示例25可以包括如示例24所述的设备,包括用于验证所述应用程序模块的可信度的装置。
示例26可以包括如示例25所述的设备,包括用于确定所述应用程序模块正在可信执行环境中执行的装置。
示例27可以包括如示例24或25所述的设备,包括用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥的装置。
示例28可以包括如示例24或25所述的设备,包括用于至少基于所述建立所述加密安全通信向所述音频模块传输会话策略的装置,并且其中,所述音频模块被配置成用于实施所述会话策略。
示例29可以包括一种互信模块,所述互信模块包括一个或多个处理器以及耦合到所述一个或多个处理器的一个或多个存储器单元。所述互信模块被配置成用于至少部分地促进建立应用程序模块与音频模块之间的加密安全通信。所述应用程序模块其被配置成用于在信息处理系统上执行,并且被耦合到所述互信模块。所述音频模块被配置成用于耦合到所述互信模块。
示例30可以包括如示例29所述的互信模块,其中,所述互信模块促进至少基于所述互信模块被配置成用于验证所述应用程序模块的可信度。
示例31可以包括如示例30所述的互信模块,其中,所述互信模块验证所述应用程序模块的可信度至少基于所述互信模块被配置成用于确定所述应用程序模块正在可信执行环境中执行。
示例32可以包括如示例29或30所述的互信模块,其中,所述互信模块被配置成用于信任所述音频模块,并且所述音频模块被配置成用于信任所述互信模块。
示例33可以包括如示例29或30或32所述的互信模块,其中,所述互信模块被配置成用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
示例34可以包括如示例29或30或32所述的互信模块,包括所述应用程序模块被配置成用于至少基于所述建立所述加密安全通信向所述音频模块传输会话策略,并且其中,所述音频模块被配置成用于实施所述会话策略。
示例35可以包括如示例34所述的互信模块,被进一步被配置成用于从另一应用程序模块接收用于建立所述另一应用程序模块与所述音频模块之间的另一加密安全通信的请求。此外,所述互信模块被配置成用于至少基于确定所述另一应用程序模块是可信应用程序模块以及确定所述请求符合所述会话策略来建立另一加密安全通信并促进在所述另一应用程序模块与所述音频模块之间交换一个或多个其他密钥。
示例36可以包括如示例29或30或32所述的互信模块,其中,至少基于建立所述加密安全通信,所述音频模块被配置成用于:通过一个或多个麦克风捕获音频,使用所述建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述应用程序模块;以及从所述应用程序模块接收所述经加密音频,使用所建立的加密安全通信对所述音频进行解密,并且通过一个或多个扬声器播放所述音频。所述应用程序模块被配置成用于从所述音频模块接收经加密音频,使用所述建立的加密安全通信对所述音频进行解密,并且对所述经解密音频进行处理;以及处理音频,使用所建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述音频模块以供回放。
示例可以包括一种音频模块,所述音频模块包括一个或多个处理器以及耦合到所述一个或多个处理器的一个或多个存储器单元。所述音频模块被配置成用于耦合到互信模块。所述互信模块被配置成用于至少部分地促进建立应用程序模块与音频模块之间的加密安全通信,所述应用程序模块被配置成用于在信息处理系统上执行。
示例38可以包括如示例37所述的音频模块,其中,所述互信模块促进至少基于所述互信模块被配置成用于验证所述应用程序模块的可信度。
示例39可以包括如示例38所述的音频模块,其中,所述互信模块验证所述应用程序模块的可信度至少基于所述互信模块被配置成用于确定所述应用程序模块正在可信执行环境中执行。
示例40可以包括如示例37或38所述的音频模块,其中,所述互信模块被配置成用于信任所述音频模块,并且所述音频模块被配置成用于信任所述互信模块。
示例41可以包括如示例37或38或40所述的音频模块,其中,所述互信模块被配置成用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
示例42可以包括如示例37或38或40所述的音频模块,包括所述应用程序模块被配置成用于至少基于所述建立所述加密安全通信向所述音频模块传输会话策略,并且其中,所述音频模块被配置成用于实施所述会话策略。
示例43可以包括如示例42所述的音频模块,其中,所述互信模块被进一步被配置成用于从另一应用程序模块接收用于建立所述另一应用程序模块与所述音频模块之间的另一加密安全通信的请求。此外,所述互信模块被配置成用于至少基于确定所述另一应用程序模块是可信应用程序模块以及确定所述请求符合所述会话策略来建立另一加密安全通信并促进在所述另一应用程序模块与所述音频模块之间交换一个或多个其他密钥。
示例44可以包括如示例37或38或40所述的音频模块,其中至少基于建立所述加密安全通信,所述音频模块被配置成用于:通过一个或多个麦克风捕获音频,使用所述建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述应用程序模块;以及从所述应用程序模块接收所述经加密音频,使用所建立的加密安全通信对所述音频进行解密,并且通过一个或多个扬声器播放所述音频。所述应用程序模块被配置成用于从所述音频模块接收经加密音频,使用所述建立的加密安全通信对所述音频进行解密,并且对所述经解密音频进行处理;以及处理音频,使用所建立的加密安全通信对所述音频进行加密,并且将所述经加密音频传输到所述音频模块以供回放。上文描述了本发明的一个或多个实施例。应当指出的是,这些和任何其他实施例是示例性的,并且旨在说明本发明而不是限制。尽管本发明广泛地适用于各种类型的系统,但是本领域技术人员将认识到,本披露内容中不可能包括本发明的所有可能实施例和上下文。在阅读本披露内容时,本发明的许多替代实施例对于本领域普通技术人员将是清楚的。
本领域技术人员应当理解,结合本文所披露的实施例来描述的所述不同的说明性逻辑块、模块、电路和步骤可以实现为硬件、固件、软件或其组合。为了清楚地说明硬件、固件和软件的这种可互换性,以上已经总体上就其功能性而言描述了多种不同说明性部件、块、模块、电路、以及步骤。这样的功能性被实现为硬件还是软件取决于特定应用程序和施加在整个系统上的设计约束。本领域技术人员可以针对每个特定应用程序以不同的方式实施所描述的功能性,但这样的实施判定不应被解释为导致脱离本发明的范围。
提供所披露的实施例的先前描述以使本领域任何技术人员都能够实现或使用本发明。本领域技术人员将容易明白这些实施例的各种修改,并且在不脱离本发明的精神或范围的情况下,本文定义的一般原理可以应用于其他实施例。因此,本发明并不旨在受限于本文示出的实施例而是符合与本文公开的原理和新颖特征一致的最宽范围。
以上已经关于多个具体实施例描述了本发明可提供的益处和优点。这些益处和优点、以及可以它们出现或变得更加显著的任何元素或限制不应被解释为任何或所有请求保护的技术方案的关键、必需或必要的特征。如本文所使用的,术语“包括”、“包含”或其任何其他变型旨在被解释为非排他地包含遵循所述术语的元素或限制。相应地,包括一组元素的系统、方法或其他实施例并不仅限于所述元素,并且可以包括未明确列出的或所要求保护的实施例所固有的其他元素。虽然已经参照多个特定实施例描述了本发明,但应当理解的是,这些实施例是说明性的,并且本发明的范围不限于这些实施例。上述实施例的许多变型、修改、添加和改进是可能的。可以设想,这些变型、修改、添加和改进落入如请求保护的技术方案的范围内。

Claims (19)

1.一种信息处理系统,包括:
音频模块;
应用程序模块,所述应用程序模块用于在所述信息处理系统上执行,其中,所述应用程序模块用于基于与音频模块之间的加密安全通信来将会话策略传输到所述音频模块,其中,所述会话策略用于指定所述应用程序模块和所述音频模块的操作参数以及所述应用程序模块与所述音频模块之间的通信的参数,所述会话策略进一步用于保障用于由所述应用程序模块和所述音频模块独占地共享的预配置的存储器空间的安全,其中,所述会话策略进一步用于排除所述系统的其他模块或组件访问在由所述应用程序模块和所述音频模块共享的所述预配置的存储器空间之间传递的数据,
其中,所述会话策略进一步用于定义完整性参数、密码参数和重放参数中的一个或多个,
其中,所述其他模块或组件包括操作系统、系统软件、内核、驱动程序和中间件中的一个或多个;
所述音频模块,用于:通过一个或多个麦克风捕获音频;根据所述会话策略对所述音频加密;以及以符合所述加密安全通信的方式将经加密的音频传输到所述应用程序模块;以及
互信模块,所述互信模块被耦合到所述音频模块和所述应用程序模块,其中,所述互信模块用于至少部分地促进建立所述应用程序模块与所述音频模块之间的所述加密安全通信,
其中,所述会话策略包括用于管理对在所述音频模块与所述应用程序模块之间传递的音频的加密和解密的一个或多个密码策略规则,其中,所述密码策略规则进一步用于确保音频的秘密性、完整性、认证和回放保护中的一项或多项,其中对在所述音频模块与所述应用程序模块之间建立所述加密安全通信的请求包括:确定所述请求符合所述会话策略。
2.如权利要求1所述的系统,其中,所述互信模块进一步用于:将支持所述会话策略的一个或多个安全密钥传输到所述应用程序模块和所述音频模块。
3.如权利要求1所述的系统,其中,所述互信模块进一步用于基于所述应用程序模块是否正在可信执行环境中执行来验证所述应用程序模块的可信度。
4.如权利要求1所述的系统,其中,所述互信模块用于信任所述音频模块,并且所述音频模块用于信任所述互信模块。
5.如权利要求1所述的系统,其中,所述互信模块用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
6.如权利要求1所述的系统,其中,所述应用程序模块进一步用于:从所述音频模块接收所述经加密的音频;根据所述会话策略对音频解密;以及处理经解密的音频。
7.一种用于安全地交换信息的方法,所述方法包括:
由互信模块建立应用程序模块与音频模块之间的加密安全通信,其中,所述应用程序模块在信息处理机器上执行,并且其中,所述音频模块被耦合到所述信息处理机器,其中,会话策略用于指定所述应用程序模块和所述音频模块的操作参数以及所述应用程序模块与所述音频模块之间的通信的参数,所述会话策略进一步用于保障用于由所述应用程序模块和所述音频模块独占地共享的预配置的存储器空间的安全,其中,所述会话策略进一步用于排除系统的其他模块或组件访问在由所述应用程序模块和所述音频模块共享的所述预配置的存储器空间之间传递的数据,
其中,所述会话策略进一步用于定义完整性参数、密码参数和重放参数中的一个或多个,
其中,所述其他模块或组件包括操作系统、系统软件、内核、驱动程序和中间件中的一个或多个;
由所述应用程序模块基于与所述音频模块之间的加密安全通信来将所述会话策略传输到所述音频模块;以及
由所述音频模块通过一个或多个麦克风捕获音频,根据所述会话策略对所述音频加密,并且以符合所述加密安全通信的方式将经加密的音频传输到所述应用程序模块,
其中,所述会话策略包括用于管理对在所述音频模块与所述应用程序模块之间传递的音频的加密和解密的一个或多个密码策略规则,其中,所述密码策略规则进一步用于确保音频的秘密性、完整性、认证和回放保护中的一项或多项,其中对在所述音频模块与所述应用程序模块之间建立所述加密安全通信的请求包括:确定所述请求符合所述会话策略。
8.如权利要求7所述的方法,进一步包括:基于所述应用程序模块是否正在可信执行环境中执行来验证所述应用程序模块的可信度。
9.如权利要求7所述的方法,进一步包括:
由所述应用程序模块从所述音频模块接收所述经加密的音频;
由所述应用程序模块根据所述会话策略对音频解密;以及
由所述应用程序模块处理经解密的音频。
10.如权利要求7所述的方法,进一步包括:至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥。
11.一种非瞬态机器可访问存储介质,其上存储有多个指令,其中,所述指令用于当在机器上执行时使所述机器:
由互信模块建立应用程序模块与音频模块之间的加密安全通信,其中,所述应用程序模块在信息处理机器上执行,其中,会话策略用于指定所述应用程序模块和所述音频模块的操作参数以及所述应用程序模块与所述音频模块之间的通信的参数,所述会话策略进一步用于保障用于由所述应用程序模块和所述音频模块独占地共享的预配置的存储器空间的安全,其中,所述会话策略进一步用于排除系统的其他模块或组件访问在由所述应用程序模块和所述音频模块共享的所述预配置的存储器空间之间传递的数据,
其中,所述会话策略进一步用于定义完整性参数、密码参数和重放参数中的一个或多个,
其中,所述其他模块或组件包括操作系统、系统软件、内核、驱动程序和中间件中的一个或多个;
由所述应用程序模块基于与所述音频模块之间的加密安全通信来将所述会话策略传输到所述音频模块;以及
由所述音频模块通过一个或多个麦克风捕获音频,根据所述会话策略对所述音频加密,并且以符合所述加密安全通信的方式将经加密的音频传输到所述应用程序模块,其中,所述会话策略包括用于管理对在所述音频模块与所述应用程序模块之间传递的音频的加密和解密的一个或多个密码策略规则,其中,所述密码策略规则进一步用于确保音频的秘密性、完整性、认证和回放保护中的一项或多项,其中对在所述音频模块与所述应用程序模块之间建立所述加密安全通信的请求包括:确定所述请求符合所述会话策略。
12.一种用于安全地交换信息的设备,所述设备包括:
用于由互信模块至少部分地促进建立应用程序模块与音频模块之间的加密安全通信的装置,其中,所述应用程序模块在信息处理机器上执行,并且其中,所述音频模块被耦合到所述信息处理机器,其中,会话策略用于指定所述应用程序模块和所述音频模块的操作参数以及所述应用程序模块与所述音频模块之间的通信的参数,所述会话策略进一步用于保障用于由所述应用程序模块和所述音频模块独占地共享的预配置的存储器空间的安全,其中,所述会话策略进一步用于排除系统的其他模块或组件访问在由所述应用程序模块和所述音频模块共享的所述预配置的存储器空间之间传递的数据,
其中,所述会话策略进一步用于定义完整性参数、密码参数和重放参数中的一个或多个,
其中,所述其他模块或组件包括操作系统、系统软件、内核、驱动程序和中间件中的一个或多个;
用于由所述应用程序模块基于与所述音频模块之间的加密安全通信来将所述会话策略传输到所述音频模块的装置;以及
用于由所述音频模块执行以下步骤的装置:通过一个或多个麦克风捕获音频,根据所述会话策略对所述音频加密,并且以符合所述加密安全通信的方式将经加密的音频传输到所述应用程序模块,
其中,所述会话策略包括用于管理对在所述音频模块与所述应用程序模块之间传递的音频的加密和解密的一个或多个密码策略规则,其中,所述密码策略规则进一步用于确保音频的秘密性、完整性、认证和回放保护中的一项或多项,其中对在所述音频模块与所述应用程序模块之间建立所述加密安全通信的请求包括:确定所述请求符合所述会话策略。
13.如权利要求12所述的设备,进一步包括:用于基于所述应用程序模块是否正在可信执行环境中执行来验证所述应用程序模块的可信度的装置。
14.如权利要求13所述的设备,进一步包括:
用于由所述应用程序模块从所述音频模块接收所述经加密的音频的装置;
用于由所述应用程序模块根据所述会话策略对音频解密的装置;以及
用于由所述应用程序模块处理经解密的音频的装置。
15.如权利要求13所述的设备,进一步包括:用于至少部分地促进在所述应用程序模块与所述音频模块之间交换一个或多个密钥的装置。
16.一种互信模块,包括一个或多个处理器以及耦合到所述一个或多个处理器的一个或多个存储器单元,其中,所述互信模块用于至少部分地促进建立应用程序模块与音频模块之间的加密安全通信:
所述应用程序模块用于:
在信息处理系统上执行,并且
被耦合到所述互信模块;
所述应用程序模块用于基于与音频模块之间的加密安全通信来将会话策略传输到所述音频模块,其中,所述会话策略用于指定所述应用程序模块和所述音频模块的操作参数以及所述应用程序模块与所述音频模块之间的通信的参数,所述会话策略进一步用于保障用于由所述应用程序模块和所述音频模块独占地共享的预配置的存储器空间的安全,其中,所述会话策略进一步用于排除系统的其他模块或组件访问在由所述应用程序模块和所述音频模块共享的所述预配置的存储器空间之间传递的数据,
其中,所述会话策略进一步用于定义完整性参数、密码参数和重放参数中的一个或多个,
其中,所述其他模块或组件包括操作系统、系统软件、内核、驱动程序和中间件中的一个或多个;
所述音频模块用于耦合到所述互信模块,所述音频模块用于:通过一个或多个麦克风捕获音频;根据所述会话策略对所述音频加密;以及以符合所述加密安全通信的方式将经加密的音频传输到所述应用程序模块,
其中,所述会话策略包括用于管理对在所述音频模块与所述应用程序模块之间传递的音频的加密和解密的一个或多个密码策略规则,其中,所述密码策略规则进一步用于确保音频的秘密性、完整性、认证和回放保护中的一项或多项,其中对在所述音频模块与所述应用程序模块之间建立所述加密安全通信的请求包括:确定所述请求符合所述会话策略。
17.如权利要求16所述的互信模块,其中,所述互信模块进一步用于:基于所述应用程序模块是否正在可信执行环境中执行来验证所述应用程序模块的可信度。
18.一种音频模块,所述音频模块包括一个或多个处理器以及耦合到所述一个或多个处理器的一个或多个存储器单元,其中,所述音频模块用于耦合到互信模块,并且其中,所述互信模块用于至少部分地促进建立应用程序模块与所述音频模块之间的加密安全通信,所述应用程序模块用于在信息处理系统上执行,
其中,所述应用程序模块用于基于与音频模块之间的加密安全通信来将会话策略传输到所述音频模块,其中,所述会话策略用于指定所述应用程序模块和所述音频模块的操作参数以及所述应用程序模块与所述音频模块之间的通信的参数,所述会话策略进一步用于保障用于由所述应用程序模块和所述音频模块独占地共享的预配置的存储器空间的安全,其中,所述会话策略进一步用于排除系统的其他模块或组件访问在由所述应用程序模块和所述音频模块共享的所述预配置的存储器空间之间传递的数据,
其中,所述会话策略进一步用于定义完整性参数、密码参数和重放参数中的一个或多个,
其中,所述其他模块或组件包括操作系统、系统软件、内核、驱动程序和中间件中的一个或多个;并且
其中,所述音频用于:通过一个或多个麦克风捕获音频;根据所述会话策略对所述音频加密;以及以符合所述加密安全通信的方式将经加密的音频传输到所述应用程序模块,其中,所述会话策略包括用于管理对在所述音频模块与所述应用程序模块之间传递的音频的加密和解密的一个或多个密码策略规则,其中,所述密码策略规则进一步用于确保音频的秘密性、完整性、认证和回放保护中的一项或多项,其中对在所述音频模块与所述应用程序模块之间建立所述加密安全通信的请求包括:确定所述请求符合所述会话策略。
19.如权利要求18所述的音频模块,其中,所述互信模块进一步用于:基于所述应用程序模块是否正在可信执行环境中执行来验证所述应用程序模块的可信度。
CN201580045707.7A 2014-09-26 2015-09-22 保障音频通信安全 Active CN106663163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910138121.5A CN109902477B (zh) 2014-09-26 2015-09-22 保障音频通信安全

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/498,711 2014-09-26
US14/498,711 US10103872B2 (en) 2014-09-26 2014-09-26 Securing audio communications
PCT/US2015/051541 WO2016049076A1 (en) 2014-09-26 2015-09-22 Securing audio communications

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910138121.5A Division CN109902477B (zh) 2014-09-26 2015-09-22 保障音频通信安全

Publications (2)

Publication Number Publication Date
CN106663163A CN106663163A (zh) 2017-05-10
CN106663163B true CN106663163B (zh) 2020-03-06

Family

ID=55581916

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580045707.7A Active CN106663163B (zh) 2014-09-26 2015-09-22 保障音频通信安全
CN201910138121.5A Active CN109902477B (zh) 2014-09-26 2015-09-22 保障音频通信安全

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910138121.5A Active CN109902477B (zh) 2014-09-26 2015-09-22 保障音频通信安全

Country Status (4)

Country Link
US (5) US10103872B2 (zh)
EP (2) EP3522441B1 (zh)
CN (2) CN106663163B (zh)
WO (1) WO2016049076A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10103872B2 (en) * 2014-09-26 2018-10-16 Intel Corporation Securing audio communications
RU2628925C1 (ru) * 2016-04-25 2017-08-22 Акционерное общество "Лаборатория Касперского" Система и способ защищенной передачи аудиоданных от микрофона к процессам
GB2545534B (en) 2016-08-03 2019-11-06 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
GB2552721A (en) 2016-08-03 2018-02-07 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
US10237268B2 (en) * 2016-11-02 2019-03-19 Google Llc Secure passcode processing device
GB2555660B (en) * 2016-11-07 2019-12-04 Cirrus Logic Int Semiconductor Ltd Methods and apparatus for authentication in an electronic device
US10372656B2 (en) 2016-11-21 2019-08-06 Intel Corporation System, apparatus and method for providing trusted input/output communications
US9940930B1 (en) 2016-12-07 2018-04-10 Google Llc Securing audio data
GB2561928B (en) 2017-04-28 2020-02-19 Cirrus Logic Int Semiconductor Ltd Audio data transfer
GB2564495A (en) * 2017-07-07 2019-01-16 Cirrus Logic Int Semiconductor Ltd Audio data transfer
CA3059029A1 (en) 2019-10-17 2021-04-17 The Toronto-Dominion Bank Maintaining data confidentiality in communications involving voice-enabled devices in a distributed computing environment
US11200328B2 (en) 2019-10-17 2021-12-14 The Toronto-Dominion Bank Homomorphic encryption of communications involving voice-enabled devices in a distributed computing environment
US11295758B2 (en) 2020-03-20 2022-04-05 Seagate Technology Llc Trusted listening

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828753A (en) * 1996-10-25 1998-10-27 Intel Corporation Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package
US6611812B2 (en) * 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6937814B1 (en) * 2000-04-14 2005-08-30 Realnetworks, Inc. System and method for play while recording processing
US7269744B1 (en) * 2000-09-29 2007-09-11 Intel Corporation System and method for safeguarding data between a device driver and a device
US7418737B2 (en) * 2001-06-13 2008-08-26 Mcafee, Inc. Encrypted data file transmission
US6985591B2 (en) 2001-06-29 2006-01-10 Intel Corporation Method and apparatus for distributing keys for decrypting and re-encrypting publicly distributed media
US20080301298A1 (en) * 2002-07-29 2008-12-04 Linda Bernardi Identifying a computing device
US7184550B2 (en) 2002-08-15 2007-02-27 Intel Corporation Method and apparatus for simultaneous decryption and re-encryption of publicly distributed content via stream ciphers
US7703141B2 (en) * 2004-03-11 2010-04-20 Microsoft Corporation Methods and systems for protecting media content
NZ550904A (en) 2004-04-30 2009-01-31 Utc Fire & Safety Corp Security system communications including encryption
CN1798019A (zh) 2004-12-29 2006-07-05 国际商业机器公司 用于在私有网络中共享媒体内容的方法、系统和装置
US7591014B2 (en) * 2005-03-04 2009-09-15 Microsoft Corporation Program authentication on environment
US7441112B2 (en) * 2005-06-30 2008-10-21 Intel Corporation Offloading the processing of a network protocol stack
US20070101122A1 (en) * 2005-09-23 2007-05-03 Yile Guo Method and apparatus for securely generating application session keys
US20090037929A1 (en) * 2007-07-30 2009-02-05 Tresys Technology, Llc Secure Inter-Process Communications Using Mandatory Access Control Security Policies
US9270950B2 (en) * 2008-01-03 2016-02-23 International Business Machines Corporation Identifying a locale for controlling capture of data by a digital life recorder based on location
US8126435B2 (en) * 2008-05-30 2012-02-28 Hewlett-Packard Development Company, L.P. Techniques to manage vehicle communications
KR101046992B1 (ko) 2009-10-29 2011-07-06 한국인터넷진흥원 센서데이터 보안유지 방법, 시스템 및 기록매체
DE102009054128A1 (de) * 2009-11-20 2011-05-26 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zum Zugriff auf Dateien eines sicheren Fileservers
US8806620B2 (en) 2009-12-26 2014-08-12 Intel Corporation Method and device for managing security events
US8832461B2 (en) 2010-06-25 2014-09-09 Microsoft Corporation Trusted sensors
US20120079282A1 (en) * 2010-06-28 2012-03-29 Lionstone Capital Corporation Seamless end-to-end data obfuscation and encryption
DE102010027586B4 (de) * 2010-07-19 2012-07-05 Siemens Aktiengesellschaft Verfahren zum kryptographischen Schutz einer Applikation
US20120117318A1 (en) * 2010-11-05 2012-05-10 Src Computers, Inc. Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers
US8767961B2 (en) 2011-01-05 2014-07-01 Motorola Mobility Llc Secure live television streaming
EP2528297A1 (en) * 2011-05-25 2012-11-28 Gemalto SA Secured element for performing a user authentication and user authentication method
US9294277B2 (en) * 2012-03-13 2016-03-22 Alexander Poston, JR. Audio encryption systems and methods
US20130246800A1 (en) 2012-03-19 2013-09-19 Microchip Technology Incorporated Enhancing Security of Sensor Data for a System Via an Embedded Controller
US9253209B2 (en) 2012-04-26 2016-02-02 International Business Machines Corporation Policy-based dynamic information flow control on mobile devices
US20140006795A1 (en) 2012-06-29 2014-01-02 Apple Inc. Continual Authorization for Secured Functions
US9769123B2 (en) * 2012-09-06 2017-09-19 Intel Corporation Mitigating unauthorized access to data traffic
US8955039B2 (en) 2012-09-12 2015-02-10 Intel Corporation Mobile platform with sensor data security
CN102857918A (zh) * 2012-10-12 2013-01-02 北京汽车股份有限公司 一种车载通信系统
US9202070B2 (en) * 2012-10-31 2015-12-01 Broadcom Corporation Input/output gatekeeping
US9866382B2 (en) * 2012-12-21 2018-01-09 Mobile Iron, Inc. Secure app-to-app communication
CN105027493B (zh) * 2012-12-21 2018-09-07 移动熨斗公司 安全移动应用连接总线
US9742559B2 (en) * 2013-01-22 2017-08-22 Qualcomm Incorporated Inter-module authentication for securing application execution integrity within a computing device
EP3044990A4 (en) 2013-08-30 2017-07-05 Intel IP Corporation Measurement triggers for customer care in a wireless network
US9225530B2 (en) * 2013-10-21 2015-12-29 Microsoft Technology Licensing, Llc Secure crypto-processor certification
CN104021335B (zh) * 2014-06-05 2015-04-22 中国人民解放军国防科学技术大学 基于可扩展密码服务框架的密码服务方法
US9454497B2 (en) * 2014-08-15 2016-09-27 Intel Corporation Technologies for secure inter-virtual-machine shared memory communication
US9426159B2 (en) * 2014-09-26 2016-08-23 Intel Corporation Securing sensor data
US10103872B2 (en) * 2014-09-26 2018-10-16 Intel Corporation Securing audio communications
US9891882B2 (en) * 2015-06-01 2018-02-13 Nagravision S.A. Methods and systems for conveying encrypted data to a communication device
US9940930B1 (en) * 2016-12-07 2018-04-10 Google Llc Securing audio data

Also Published As

Publication number Publication date
US10560256B2 (en) 2020-02-11
US20200266969A1 (en) 2020-08-20
EP3522441A1 (en) 2019-08-07
US20190140817A1 (en) 2019-05-09
US10103872B2 (en) 2018-10-16
CN109902477B (zh) 2024-04-30
US11848753B2 (en) 2023-12-19
EP3522441B1 (en) 2022-05-25
WO2016049076A1 (en) 2016-03-31
EP3198780A4 (en) 2018-07-11
US20220140993A1 (en) 2022-05-05
US20240106625A1 (en) 2024-03-28
CN106663163A (zh) 2017-05-10
US20160094338A1 (en) 2016-03-31
US11228420B2 (en) 2022-01-18
EP3198780A1 (en) 2017-08-02
EP3198780B1 (en) 2020-03-25
CN109902477A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
US11848753B2 (en) Securing audio communications
US10360369B2 (en) Securing sensor data
US10880097B2 (en) Flexible provisioning of attestation keys in secure enclaves
US9954826B2 (en) Scalable and secure key management for cryptographic data processing
US11531758B2 (en) Provision of domains in secure enclave to support multiple users
EP3092838B1 (en) Secure voice and data method and system
US11455432B1 (en) Multi-user storage volume encryption via secure processor
WO2015117523A1 (zh) 访问控制方法及装置
CN110378097B (zh) 保障传感器数据安全

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant