CN105580025B - 验证特定信息由应用传输 - Google Patents

验证特定信息由应用传输 Download PDF

Info

Publication number
CN105580025B
CN105580025B CN201480048868.7A CN201480048868A CN105580025B CN 105580025 B CN105580025 B CN 105580025B CN 201480048868 A CN201480048868 A CN 201480048868A CN 105580025 B CN105580025 B CN 105580025B
Authority
CN
China
Prior art keywords
application
information
operating system
computing device
user
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
CN201480048868.7A
Other languages
English (en)
Other versions
CN105580025A (zh
Inventor
D·克里斯蒂安森
B·T·坎特尔
M·R·布鲁诺
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN105580025A publication Critical patent/CN105580025A/zh
Application granted granted Critical
Publication of CN105580025B publication Critical patent/CN105580025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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
    • 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/031Protect user input by software means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Quality & Reliability (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

本技术包括用于测试应用把什么信息传输给外部计算设备的方法。在应用传输某些类型的信息(诸如敏感信息)之前显式地获得用户的同意。在作出应用正在传输敏感信息的确定时,可提供正确且详细的来自用户的同意提示。在预生产环境中,技术可用于检测该敏感信息是否正在被传输,并验证同意提示是必要还是非必要的。为了确定这个,垫片函数库被用来截取对返回敏感信息的API的应用调用。所请求的敏感信息可用来自那些API的用于形成哨兵或密探的记录或伪造信息替代。类似地,该应用的网络话务可被另一垫片分析以确定何时存在替代信息。

Description

验证特定信息由应用传输
技术领域
本发明涉及验证特定信息由应用传输,更具体地,涉及用于测试应用是否向外部计算设备传输特定信息的方法。
背景技术
计算设备可从用户获得该用户不打算向其他人散布的信息。用户可作出关于允许向其他人散布这样的信息的选择。计算设备可随后基于用户的选择来散布该信息。然而,这样的关于选择的查询通常会中断用户的体验和/或使注意力从用户的体验中转移走,并且可能不是必要的。
替换地,可在用户的体验之前或期间发布指示该信息可如何被散布或可如何不被散布的合法通知。然而,这样的合法通知发布也可能中断用户的体验并使注意力从用户的体验中转移走,并且不在合法通知中提供对于用户作出所通知的判定重要或可理解的信息。
计算设备的应用通常都不是由计算设备制造商来编写或编码的。因此,计算设备制造商不知道应用对所请求的信息做什么。即使在计算机设备制造商知道应用在网络上通信,计算机制造商仍不知道什么信息在网络上传输。
发明内容
本技术包括用于测试应用是否向外部计算设备传输特定信息的方法。验证(或认证)应用不在向外部计算设备传输特定信息减少了对用户的用以请求同意传输这样的信息的干扰,因为该验证指示没有发生传输。给用户的较少的同意提示可增强用户的体验。当作出应用正在传输特定信息的确定时,可提供正确且详细的关于什么特定信息可被传输以及被传输到哪里的来自用户的同意提示。在一实施例中,用户将在任何传输发生之前同意将敏感信息(诸如,视频信号)从计算设备传输走。在一实施例中,敏感信息可以是用户的视频剪辑,或者可以是包含个人可标识信息(诸如地址信息或电话号码)或用户不打算散布的其他信息的元数据。
当应用(诸如游戏)被加载到计算设备时,网络安全授权列表(NSAL)被从该应用中读出以确定该应用是否将与外部计算设备通信或连接。NSAL可包括当应用在计算设备上执行时该应用可与其进行通信的经授权的网络地址。当NSAL不包括任何网络地址时,不需要从用户获得关于向外传输敏感信息的同意,因为该应用没有能力来做这个。即使具有NSAL,仍可对应用测试或验证敏感信息没有被传输到外部计算设备。此外,当NSAL指示计算设备具有连接性时,可作出关于什么特定敏感信息被传输以及被传输到什么网络地址的验证。
在应用被测试和/或处于验证(或认证)过程时,垫片函数库(shimming)被用来截取对返回信息(诸如视频信号)的应用编程接口(API)的应用调用。在各实施例中,垫片或垫片函数库指的是透明地截取API并改变传递的参数、处理操作本身、或将计算操作重定向到别处的小型库。在一实施例中,应用验证器也可被使用。所请求的敏感信息可用来自那些API的用于形成哨兵(sentinel)或密探(canary)的记录或伪造信息替换或替代。例如,当应用调用“GetUserID”API时,该应用通常会接收用户ID,诸如“DavidChr”。使用垫片函数库,可改为将替代信息(诸如“XYZZY”)返回给应用。替换地,应用可请求来自计算机设备中的相机的用户的图片。取代用户的图片,咖啡的照片可被提供给请求应用。
在一实施例中,在测试和/或验证期间,该应用的网络话务可被另一垫片分析以确定何时存在密探/哨兵。当密探/哨兵存在时,API(以及向这些API传递的套接字/句柄)标识密探被传送到什么网络地址。
无论是假记录信息(哨兵捕捉)还是伪造信息(密探伪造物)被使用来替代敏感信息都取决于API和应用。一些应用可解析该敏感信息。例如,应用(诸如交互式电子游戏(游戏))可对从相机返回的视频信号执行图像处理以进行其子集的骨架跟踪。在一实施例中,提供视频信号将允许该游戏正常地表现,使得假记录信息(诸如视频信号)可必须被记录并在话务中被搜索。
在各实施例中,假记录信息(诸如可在话务中容易地检索到的不移动对象的视频)可被提供。在一实施例中,垫片可实时地检查应用是否以及在何处漏出(exfiltrate)。这允许实现将对应用执行诊断。例如,崩溃转储可被生成并发送给应用开发者以供进行分析。
用于测试应用的方法包括接收来自应用的对信息的请求。将替代信息作为该信息提供给应用。接收来自应用的向外部计算设备输出应用信息的请求。检查应用信息以确定替代信息是否被包括在该应用信息中。向外部计算设备输出应用信息。
装置实施例包括用于获取视频信号的至少一个相机、至少一个处理器、以及用于存储具有处理器可读指令的应用和计算设备的网络地址的至少一个处理器可读存储器。该至少一个处理器可读存储器还可存储操作系统,该操作系统可允许应用将该视频信号的至少一部分传输给在该网络地址处的外部计算设备。处理器执行操作系统和应用的处理器可读指令以通过操作系统来接收来自该应用的对视频信号的请求。操作系统将替代视频信号提供给该应用。由操作系统接收来自应用的向外部计算设备输出应用信息的请求。操作系统检查应用信息以确定替代视频信号是否被包括在应用信息中。操作系统向外部计算设备输出应用信息。
在另一实施例中,一个或多个处理器可读存储器包括在被执行时使得一个或多个处理器执行一种方法的指令。该方法包括接收信息和来自应用的对该信息的请求。该信息被用替代信息替换。将替代信息作为该信息提供给应用。接收来自应用的向网络地址处的计算设备输出应用信息的请求。搜索应用信息以确定替代信息是否包括在该应用信息中。向该网络地址处的外部计算设备输出应用信息。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
附图说明
图1是示例性系统架构的高级框图。
图2是示例性软件架构的高级框图。
图3是示例性操作系统和应用中的示例性网络管理和用户界面软件组件的高级框图。
图4是用于测试应用的示例性方法的流程图。
图5A是用于确定应用是否向外部计算设备输出信息(诸如视频信号)的示例性方法的流程图。
图5B是用于在应用向外部计算设备输出信息时获得同意指示的示例性方法的流程图。
图6是示例性游戏和媒体系统的立体图。
图7是图6中所示的游戏和媒体系统的组件的示例性功能框图。
图8是示例性计算设备。
具体实施方式
本技术包括用于测试应用向外部计算设备传输什么信息(诸如敏感信息)的方法。对应用不在向外部计算设备传输特定信息的验证(或认证)减少了对用户的用以请求同意传输这样的信息的干扰,因为该验证指示传输没有发生。给用户的较少的同意提示可增强用户的体验。当作出应用正在传输敏感信息的确定时,可提供准确且详细的关于什么敏感信息可被传输以及传输到哪里的来自用户的同意提示。
垫片函数库被用来截取对返回敏感信息的API的应用调用。所请求的敏感信息可用来自那些API的用于形成哨兵(sentinel)或密探(canary)的替代信息(诸如假记录信息或伪造信息)来替换。类似地,该应用的网络话务可被另一垫片分析以确定替代信息何时存在于该应用的传出话务中。当替代信息存在时,API标识预期要将包括该替代信息的应用信息发送到何处。
通过使用垫片函数库,在可能的加密将使得难以找到敏感信息之前,可分析网络话务。例如,应用可使用超文本传输协议安全(HTTPS)与外部计算设备进行通信。各实施例通过截取请求安全套接字层/传输层安全(SSL/TLS)对信息进行加密的API来绕开这个。计算设备可存储或具有应用可请求的可用敏感信息。例如,来自控制台的相机的实况视频信号可以是应用所请求的敏感信息。应用(诸如游戏)可能想要将视频信号传输给外部计算设备处理,诸如将用户在该视频信号中的脸覆盖在游戏中的角色上。
控制台可在使得该敏感信息可用于该游戏之前请求用户的同意,因为游戏可违背用户的意图将敏感信息传送到外部计算设备。然而,用户可能不想必须在同意传输敏感信息方面作出选择,因为它会干扰玩游戏的“有趣”方面。
本技术将敏感信息提供给应用,而不会使应用冒风险在没有用户的同意的情况下“调用主页(calling home)”(将敏感信息传输给外部计算设备)。使用NSAL,计算设备可标识不具有将敏感信息传输给外部计算设备的能力的应用类。NSAL可包括存储在可被操作系统访问的应用中的外部计算设备的一个或多个网络地址。在一实施例中,NSAL是计算设备开发者和应用开发者之间的经协定的网络地址列表或多个网络地址。可信任具有NSAL(其可不包括网络地址)的那些应用,其可为想要向应用展示敏感信息的计算设备提供易于使用的优点。许多应用可能不包括多玩家游戏和广告,使得那些应用不需要访问外部计算设备。
一般来说,在应用加载时,计算设备读取NSAL来确定该应用与外部世界具有什么连接性。当NSAL为空(没有连接性)时,应用可被声明是安全的,因为该应用无法将用户的敏感信息传达给该世界的其余部分,并且不需要在获取意图时打断用户。即使在NSAL为空或包括网络地址时,计算设备制造商仍可需要测试该应用以验证或认证特定敏感信息正在或不正在被特定应用传输给外部计算设备。
图1是测试在计算设备107上存储和执行的应用107a是否将敏感信息103传送给外部计算设备(诸如计算设备101)的系统或装置100的高级框图。在一实施例中,测试可在对应用107a的认证或验证过程期间被执行。在一实施例中,计算设备107被包括在用于测试应用107的测试装备中。在该实施例中,可能不包括网络105、计算设备101和/或110。
替换地,测试可在敏感信息103被传输给计算设备101之前在应用107a的执行期间在计算设备107(诸如控制台)上执行。在该实施例中,敏感信息103不被传输,除非在测试指示应用107a想要打算传输信息103后获取了来自用户的传输该信息的同意指示。在一实施例中,计算设备107包括本文中所描述的存储在计算设备107的存储器中的软件组件(诸如应用107a(包括NSAL 112))、同意107b、替代107c和网络检查器107d。
敏感信息103还作为数字信息被存储在计算设备107的存储器中。在替换实施例中,敏感信息103在计算设备107的操作期间可用,敏感信息103为诸如在计算设备107被通电时来自相机111的视频信号。在一实施例中,敏感信息103可以是一个或多个用户的图片或视频。在其他实施例中,敏感信息可以是用户的视频剪辑,或者可以是包含个人可标识信息(诸如地址信息或电话号码)或用户不打算从计算设备107(单个地或组合地)散布的其他信息的元数据。例如,敏感信息103可以是来自计算设备107中的相机111的视频信号。视频信号可包括一个或多个用户的帧或图片,诸如用户在计算设备107上玩游戏(应用107a)时的视频。
在一实施例中,在没有来自用户的显式同意的情况下不从用户获得敏感信息103。敏感信息103也可能是用户可查看的,并且可由用户编辑。在一实施例中,也可通过将敏感信息103的加密版本存储在存储器中并允许通过口令来访问该敏感信息来保护敏感信息103。
在一实施例中,计算设备107通过网络105与位于远程物理位置的计算设备101通信,如本文中所描述的。在一实施例中,计算设备101被认为在计算设备107外部。在一实施例中,应用107a可能想要将敏感信息103传输给可提供服务的计算设备101。应用107a可以是想要将视频信号(或视频帧)传输给计算设备101以得到来自应用服务器101a的服务的游戏。例如,应用服务器101a可提供图形覆盖服务或功能,诸如将用户在视频信号中的脸覆盖在游戏中的角色上。
在一实施例中,计算设备107还响应于用户的允许应用107a将敏感信息103传输给外部计算设备(诸如计算设备101)的同意指示而将敏感信息103提供给计算设备101。当用户响应于查询而显式地将同意传达给计算设备107时,对该同意的指示可作为数字值被存储在计算设备108中的存储器地址处。
在一实施例中,计算设备101可以是具有服务器软件组件的服务器,且计算设备107可以是计算设备101的客户端。在另一实施例中,计算设备110和107是对等体。在计算设备101、107和110的对等(P2P)实施例中,每一计算设备可充当彼此的客户端或服务器。
计算设备101和107可通过网络105来通信,如本文描述的。在其它实施例中,计算设备110通过网络105与计算设备101和107通信。在一实施例中,网络105可以是单独或组合的因特网、广域网(WAN)或局域网(LAN)。在各实施例中,计算设备101、107和/或110使用一个或多个协议来传输信息,一个或多个协议为诸如传输控制协议/网际协议(TCP/IP)。在各实施例中,计算设备107被包括在另一网络中。信息可以在网络105中通过导线和/或无线地传输。
在替代实施例中,系统100包括多得多或少得多的计算设备和/或服务器来提供并接收信息。在各实施例中,计算设备101、计算设备110和/或计算设备107对应于计算设备1800,该计算设备1800具有图8所示并在本文中描述的示例性硬件组件。
在一实施例中,计算设备107被包括在如本文中描述且在图6和7中示出的控制台中。在一替代实施例中,计算设备101和/或107是如图8所示且在本文描述的计算设备。在替代实施例中,计算设备107至少可以被包括在蜂窝电话、移动设备、嵌入式系统、膝上型计算机、台式计算机、服务器和/或数据中心中。在一实施例中,计算设备101是服务器和/或数据中心。
在各实施例中,计算设备101、107和110包括用于存储数字信息和/或具有如本文描述的处理器可读指令的软件组件的一个或多个处理器可读存储器。在各实施例中,计算设备101、107和110包括用于执行或读取处理器可读指令以及读取数字信号的一个或多个处理器。
图2是测试应用(诸如应用211-213)是否传输敏感信息103的示例性软件架构200的高级框图。在各实施例中,操作系统(OS)205可被包括在用于验证或认证应用的计算设备107中。在替换实施例中,OS 205可在计算设备(诸如本文中描述的控制台)中被用来确定敏感信息是否正被传输,并随后在传输该敏感信息之前获得用户的同意。OS 205包括同意107b、替代107c和网络检查器107d以测试应用是否正在向外部计算设备传输敏感信息103。
在一实施例中,网络管理208读取应用212的NSAL 112以便确定应用212是否可接收敏感信息103。
替代107c用替代信息310来替换从应用212请求的敏感信息,如图2和图3所示。
网络检查器107d随后检查或搜索要被传输给外部计算设备的应用信息以查找替代信息310。当替代信息310被找到时,用户对传输敏感信息103的同意在传输可发生之前被获得。
在一实施例中,UI 206中的同意107b获得并存储来自用户的将来自应用212的敏感信息103传输到外部计算设备的同意指示(作为数字值)。在各实施例中,同意指示可包括对传输来自应用212的敏感信息103的同意或对传输来自应用212的敏感信息103的同意的拒绝。在一实施例中,应用211-213可包括一个或多个交互式电子游戏。
在一实施例中,OS 205和应用211-213包括软件组件中的一个或多个。在一个实施例中,软件组件可包括软件程序、软件对象、软件功能、软件子例程、软件方法、软件实例、脚本和/或代码片段,单独地或组合地。例如,OS 205包括以下各项中的一个或多个:用户界面(UI)206、进程管理201、存储器管理202、输入/输出(I/O)设备管理203、文件管理204、网络管理208和保护207。以下描述了可由各种OS软件组件来执行的一个或多个示例功能。在替换实施例中,可使用以下描述的更多或更少软件组件和/或软件组件的功能。在一替换实施例中,同意107b、替代107c和网络检查器107d可被包括在其他软件组件中。
在各实施例中,OS 205的至少部分被存储在一个或多个处理器可读存储器中。在一实施例中,OS 205的至少各部分被存储在图1所示的计算设备107的处理器可读存储器中。
进程管理201负责创建并删除用户和系统进程。进程管理201还可负责进程的挂起和恢复。进程管理201还可负责进程的同步和通信。进程管理201还可负责死锁处理。在一实施例中,替代107c被包括在进程管理201中。如本文中所描述的,替代107c也可被包括在其他软件组件中。
存储器管理202负责跟踪各种类型的存储器中的哪个部分存储器当前被特定软件组件或应用使用。存储器管理202还决定在存储器空间变得可用时,哪些进程被加载到存储器中。存储器管理还按需分配存储器空间和解除存储器空间的分配。
输入/输出(I/O)设备管理203负责管理I/O设备。例如,I/O设备管理203管理提供视频信号的相机111。在一实施例中,特定硬件的特点向用户隐藏。在一个实施例中,设备驱动器知道特定设备的特点。例如,I/O设备管理203可负责盘管理功能,诸如空闲空间管理、存储器分配、碎片、移除和头部调度。
文件管理204负责创建并删除文件和目录。文件管理204可支持分层文件系统。文件管理204还可将文件备份到次级存储器上。
网络管理208负责与网络通信,包括提供连接/路由方法。网络管理208还可负责数据/进程迁移到其他计算设备。在一实施例中,网络管理208包括网络检查器107d,该网络检查器107检查或搜索临时存储要被发送给如本文中描述的一个或多个外部计算设备的应用信息的话务缓冲器。
保护207负责控制软件组件、进程,和/或用户的对计算设备的资源的访问。例如,保护207负责控制对诸如中央处理单元(CPU)循环、存储器、文件,和/或I/O设备等资源的访问。保护207还负责用户认证和通信。
用户界面(UI)206向用户提供语音、自然语言、特征和/或图形用户界面,并负责接收输入并向用户提供输出。在一实施例中,UI 206包括负责在计算设备107中的存储器的地址处获取和存储来自用户的作为数字值的同意指示。
在如图6和图7中所示的控制台实施例中,用户可以通过姿势、触摸或语音来向控制台1002键入输入。在一实施例中,光学I/O接口1135接收并转换用户的姿势。在一实施例中,控制台1002包括自然用户界面(NUI)作为接收并转换来自用户的语音和姿势输入的用户界面206。在一实施例中,前面板子组件1142包括触摸表面和话筒以用于接收并转换用户的触摸或语音(诸如用户的意图),如本文详细描述的。在一实施例中,用户界面206转换向来自一个或多个用户的控制台1002的话筒提供的来自用户的所说的同意。在一实施例中,UI 206包括NUI,该NUI输出请求来自用户的同意的语音并截取来自用户的所说的回答,诸如同意或拒绝。所说的回答(诸如同意)随后可作为同意指示被存储在存储器中。
图3是示例性操作系统205和应用212中的示例性网络管理208和用户界面206的高级框图。在一实施例中,OS 205具有对敏感信息(诸如,来自相机驱动程序300的用户的视频信号301)的访问权。在替换实施例中,OS 205具有对作为数字信息存储在存储器中的敏感信息的访问权。OS 205可响应于请求302将敏感信息(诸如视频信号301)提供给应用212。在一实施例中,应用212是通过调用第一API作出请求的游戏。
类似地,应用212可通过将请求和应用信息304提供给OS 205来将应用信息提供给外部计算设备。OS 205随后可将应用信息作为输出的应用信息305传输给在应用212所提供的网络地址处的外部计算设备。在一实施例中,请求和应用信息304可包括外部计算设备的网络地址及视频信号301(敏感信息)或者替代信息310。在一实施例中,请求和应用信息304可包括由应用212调用第二API,诸如传输API。
在一实施例中,替代107c包括当应用212正被测试时替换敏感信息(诸如视频信号301)的替代信息310。替代信息310可包括如本文中描述的信息,该信息随后可由网络管理208并且具体地由检查器107d来搜索或检查。在一实施例中,替代信息310包括非移动对象的视频。在一实施例中,替代107c充当用于调用API以由应用212提供敏感信息的垫片。在一实施例中,替代107c被包括在进程管理201中。在替换实施例中,替代107c被包括在I/O设备管理203中作为假设备驱动程序。在其他实施例中,替代107c是由OS 205使用向应用212提供的可作为垫片(shimmable)的动态链接库(DLL)被包括在应用212中的。
网络管理208中的网络检查器107d搜索或检查请求中的应用信息以及应用信息304以查找替代信息310,以便确定哪个应用212正尝试将敏感信息传输给外部计算设备。在一实施例中,网络检查器107d搜索存储应用信息的话务缓冲器以查找替代信息310。在一实施例中,网络检查器107d充当用于调用API以由应用212将应用信息传送给外部计算设备的垫片。
在一实施例中,网络检查器107d搜索已由应用212用特定格式编码的敏感信息(诸如视频信息)。在一实施例中,应用212可由于带宽约束而在将敏感信息(诸如原始视频数据)传输给外部计算设备之前对敏感信息进行编码。在一实施例中,OS 205提供垫片函数库或API来为应用212执行对信息的编码,使得网络检查器107d可观察到经编码的信息中的任何替代信息310。
在一实施例中,网络检查器107d可能够在应用212尝试隐藏替代信息310或对替代信息310进行编码时观察到替代信息310。
图4-5B是示出确定应用是否可接收信息而无需获得来自用户的同意的示例性方法的流程图。在各实施例中,图4-5B中所示的步骤表示硬件(例如,处理器、存储器、电路)、软件(例如,OS、应用、驱动器、机器/处理器可执行指令)或用户的操作个体或其组合。如本领域普通技术人员将理解的,各实施例可以包括比示出的更多或更少的步骤。
图4是用于测试应用的示例性方法400的流程图。在一实施例中,方法400在验证或认证特定应用期间被执行。在一替换实施例中,方法400在应用的执行期间在提供同意提示之前被执行。在一实施例中,方法400由计算设备107执行,具体地至少替代107c和网络检查器107d被使用,如图1-3中所示出的。
步骤401示出了接收来自应用的对信息(诸如敏感信息)的请求。在一实施例中,OS205通过API接收来自应用212的对敏感信息103的请求,如图1和2中所示出的。
步骤402示出将替代信息作为该信息提供给应用。在一实施例中,替代107c获得该信息并用替代信息来替换该信息,并随后将替换信息作为敏感信息103返回给应用212,如本文中所描述的。
步骤403示出接收来自应用的向外部计算设备输出应用信息的请求。在一实施例中,OS 205,并且具体地网络管理器208接收来自应用212的请求。
步骤404示出检查应用信息以确定替代信息是否被包括在应用信息中。在一实施例中,网络检查器107d通过搜索缓冲器(诸如话务缓冲器)以查找替代信息来执行步骤404。
步骤405示出向外部计算设备输出该应用信息。在一实施例中,网络管理器208至少部分地执行步骤405。
在其它实施例中,步骤401-405至少由图1-3和6-8中示出的示例性软件组件和硬件来执行。例如,方法400可由图6-7所示的控制台1002或者图8所示的计算设备1800执行。
图5A是用于确定应用是否向外部计算设备输出信息(诸如视频信号)的示例性方法500的流程图。在一实施例中,方法500在验证或认证特定应用期间被执行。在一替换实施例中,方法500在应用的执行期间在获得用户的同意之前被执行。在一实施例中,方法500由计算设备107执行,具体地至少替代107c和网络检查器107d被使用,如图1-3中所示出的。
步骤501示出由操作系统接收来自应用的对视频信号的请求。在一实施例中,应用212使用第一API来请求来自操作系统205的视频信号,如图2中所示出的。
步骤502示出由操作系统向应用提供替代视频信号。在一实施例中,替代107c执行步骤502以用替代视频信号(诸如非移动对象的视频信号)来替换所请求的视频信号。
步骤503示出由操作系统接收来自应用的向外部计算设备输出应用信息的请求。在一实施例中,应用212使用第二API来请求由操作系统205输出应用信息,如图2中所示出的。
步骤504示出由操作系统检查应用信息以确定替代视频信号是否被包括在应用信息中。在一实施例中,网络检查器107d通过搜索缓冲器(诸如话务缓冲器)以查找替代视频信号来执行步骤504。
步骤505示出由操作系统向外部计算设备输出应用信息。在一实施例中,网络管理器208至少部分地执行步骤405。
在其它实施例中,步骤501-505至少由图1-3和6-8中示出的示例性软件组件和硬件执行。例如,方法500可由图6-7所示的控制台1002或者图8所示的计算设备1800执行。
图5B是用于在应用向外部计算设备传输信息时获得用户的同意的示例性方法510的流程图。在一替换实施例中,方法500在应用的执行期间在获得用户的同意之前被执行。在一实施例中,方法500由计算设备107执行,具体地至少替代107c和网络检查器107d被使用,如图1-3中所示出的。
步骤511示出接收如图1中示出并在本文中描述的信息(诸如敏感信息106)。在一实施例中,操作系统(诸如OS 205)访问、接收或控制敏感信息,直到将敏感信息释放或传输到请求应用(诸如应用212)。在一实施例中,相机111提供视频信号,该视频信号被如图1中示出的计算设备107接收。
步骤512示出接收来自应用的对敏感信息的请求。在一实施例中,应用212使用第一API来请求来自操作系统205的视频信号,如图2中所示出的。
步骤513示出用替代信息来替换敏感信息。在一实施例中,替代107c执行步骤513来用替代信息替换所请求的敏感信息,如本文中所描述的。
步骤514示出将替代信息作为敏感信息提供给应用。在一实施例中,应用212使用第二API来请求由操作系统205输出应用信息,如图2中所示出的。
步骤515示出接收来自应用的向网络地址输出应用信息的请求。在一实施例中,应用212使用第二API来请求由操作系统205输出应用信息,如图2中所示出的。
步骤516示出搜索应用信息以确定替代信息是否被包括在应用信息中。在一实施例中,网络检查器107d通过搜索缓冲器(诸如话务缓冲器)以查找替代信息来执行步骤516。
步骤517示出在输出应用信息之前获得同意指示。在一实施例中,同意107b获得来自用户的同意指示。在一实施例中,操作系统可向应用通知再次请求敏感信息,并且还再次请求应用信息的输出,使得在接收用户的同意后替代信息不将被使用。
步骤518向外部地址输出应用信息(没有替代信息)。在一实施例中,网络管理器208至少部分地执行步骤518。
在其它实施例中,步骤511-518至少由图1-3和6-8所示的示例性软件组件和硬件执行。例如,方法510可由图6-7所示的控制台1002或者图8所示的计算设备1800执行。
在一个实施例中,计算设备107可以是但不限于是视频游戏和/或媒体控制台。在一实施例中,计算设备107在敏感信息被传输给外部计算设备之前测试应用(诸如游戏)。当敏感信息将被传输时,计算设备107(如视频游戏和/或媒体控制台)在敏感信息被传输之前获得来自用户的同意指示。
在一实施例中,图6现在将被用来描述示例性视频游戏和媒体控制台,或者更一般地将被用来描述包括游戏和媒体控制台的示例性游戏和媒体系统1000。对图6的以下讨论旨在提供对可以实现本文中所提出的概念的合适计算设备的简要概括描述。可以理解,图6的系统仅仅作为示例。在其他示例中,本文中所述的各实施例可以经由驻留在客户端计算设备上并由客户端计算设备执行的浏览器应用或软件应用使用各种客户端计算设备来实现。如图6所示,游戏和媒体系统1000包括游戏和媒体控制台(此后被称为“控制台”)1002。一般而言,控制台1002是一种类型的客户端计算设备。控制台1002被配置成适配一个或多个无线控制器,如由控制器10041和控制器10042所表示的。控制台1002配备有内部硬盘驱动器和支持如光学存储盘1008所表示的各种形式的便携式存储介质的便携式介质驱动器1006。合适的便携式存储介质的示例包括DVD、CD-ROM、游戏盘等。控制台1002还包括用于容纳可移动闪存型存储器单元1040的两个存储器单元卡插槽10251和10252。控制台1002上的命令按钮1035启用和禁用无线外围支持。
如图6所描绘的,控制台1002还包括用于与一个或多个设备进行无线通信的光学端口1030和支持针对附加控制器或其他外围设备的有线连接的两个USB端口10101和10102。在某些实现中,可修改附加端口的数量和安排。电源按钮1012和弹出按钮1014也位于控制台1002的正面。电源按钮1012被选择来对游戏控制台供电,且还可以提供对其它特征和控件的访问,而弹出按钮1014交替地打开和关闭便携介质驱动器1006的托盘以允许光学存储盘1008的插入和取出。
控制台1002经由A/V接口电缆1020连接到电视机或其他显示器(如监视器1050)。在一个实现中,控制台1002配备有被配置成用于使用A/V电缆1020(例如,适用于耦合到高清晰度显示器1050或其它显示设备上的高清晰度多媒体接口“HDMI”端口的A/V电缆)来进行内容受保护的数字通信的专用A/V端口。电源电缆1022向控制台1002供电。控制台1002可进一步被配置成具有如电缆或调制解调器连接器1024所表示的宽带能力以便于访问诸如因特网等网络。还可通过诸如无线保真(Wi-Fi)网络等宽带网络来无线地提供宽带能力。
每一控制器1004经由有线或无线的接口耦合到控制台1002。在示出的实现中,控制器1004是USB兼容的并且经由无线或USB端口1010耦合到控制台1002。控制台1002可配备各种用户交互机制中的任何一种。在图6中示出的示例中,每个控制器1004都配备有两个拇指摇杆(thumb stick)10321和10322、D垫1034、按钮1036以及两个触发器1038。这些控制器仅为代表性的,且其他已知游戏控制器可替换或被添加到图6中示出的那些控制器。
在一个实施例中,用户可以通过姿势、触摸或声音向控制台1002键入输入。在一个实施例中,光学I/O接口1135接收并转换用户的姿势。在一实施例中,光学I/O接口包括用于获得例如用户的视频信号的相机。在另一实施例中,控制台1002包括用于接收并转换来自用户的语音和姿势输入的NUI。在一替换实施例中,前面板子组件1142包括用于接收并转换触摸或语音(诸如用户的同意)的触摸表面和话筒。在一实施例中,前面板子组件1142包括向用户请求同意(或拒绝)指示以允许敏感信息被传输到外部计算设备的扬声器。
在一实施例中,多个话筒1011可被插入USB端口1010中以提供表示用户的语音四通道信号。在一替换实施例中,可以使用单个话筒。在一实施例中,四个16kHz24位音频信号从多个话筒1011提供至USB端口1010以及至少一个音频流水线。在一实施例中,该至少一个音频流水线减少与至少一个音频信号相关联的噪声,诸如其它用户说话或者来自交互式电子游戏应用的音频。
在一个实现中,还可以将存储器单元(MU)1040插入到控制器1004中以提供附加和便携的存储。便携MU允许用户存储游戏参数以供在其它控制台上玩时使用。在此实现中,每一控制器被配置成适应两个MU 1040,但是也可采用多于或少于两个MU。
游戏和媒体系统1000通常被配置成玩存储在存储器介质上的游戏,以及被配置成下载并玩游戏、和被配置成从电子和硬介质来源再现预先录制的音乐和视频。使用不同的存储供应,可从硬盘驱动器、从光存储盘介质(例如,1008)、从在线源、或从MU 1040播放标题(或应用)。游戏和媒体系统1000能够播放的媒体的类型的示例包括:
从CD、DVD或高容量盘、从硬盘驱动器、或从在线来源播放的游戏项或应用。
从便携介质驱动器1006中的CD、从硬盘驱动器或固态盘上的文件(例如,媒体格式的音乐)或从在线流送来源播放数字音乐。
从便携介质驱动器1006中的DVD盘、从硬盘驱动器上的文件(例如,活动流送格式(Active Streaming Format))或从在线流传送来源播放的数字音频/视频。
在操作期间,控制台1002被配置成接收来自控制器1004的输入并在显示器1050上显示信息。例如,控制台1002可在显示器1050上显示用户界面以便允许用户使用控制器1004来选择交互式电子游戏并且显示状态可解性信息。在一实施例中,控制台1002向显示器1050提供菜单以使得控制器1004能够选择同意(或拒绝),从而允许敏感信息被传达给外部计算设备。在各实施例中,菜单可能非常宽泛,诸如不同意或同意传输来自任何应用的任何敏感信息。替换地,菜单可允许用户选择或同意可由特定应用传输的特定应用。例如,菜单可允许用户同意从游戏传输视频信号,但该游戏可能不传输信用卡信息。
在一实施例中,用于获得用户的同意的菜单是在针对应用的测试、认证或验证过程之后被提供的。在替换实施例中,用于获得用户的同意的菜单是在应用的执行期间或在敏感信息被传输到外部计算设备之前被提供的。
图7是游戏与媒体系统1000的功能框图并且更详细地示出游戏与媒体系统1000的各功能组件。控制台1002具有CPU 1100以及促成处理器访问各种类型存储器的存储器控制器1102,各种类型存储器包括闪存ROM 1104、RAM 1106、硬盘驱动器或固态驱动器1108,以及便携式媒体驱动器1006。在替代实施例中,可使用其它类型的易失性和非易失性存储器技术。在一种实现中,CPU 1100包括1级高速缓存1110和2级高速缓存1112,这些高速缓存临时存储数据并因此减少对硬盘驱动器1108进行的存储器访问周期的数量,从而提高了处理速度和吞吐量。
CPU 1100、存储器控制器1102以及各种存储器经由一个或多个总线互连。在此实现中所使用的总线的细节对理解此处所讨论的关注主题不是特别相关。然而,应该理解,这样的总线可以包括串行和并行总线、存储器总线、外围总线、使用各种总线体系结构中的任何一种的处理器或局部总线中的一个或多个。作为示例,这样的架构可以包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及也称为夹层总线的外围部件互连(PCI)总线。
在一个实现中,CPU 1100、存储器控制器1102、ROM 1104以及RAM 1106被集成到公用模块1114上。在此实现中,ROM 1104被配置为经由PCI总线和ROM总线(两者都没有示出)连接到存储器控制器1102的闪存ROM。RAM 1106被配置为多个双倍数据速率同步动态RAM(DDR SDRAM)或更快数据速率DRAM模块,它们被存储器控制器1102经由分开的总线被独立地控制。硬盘驱动器1108和便携式媒体驱动器1006被示为通过PCI总线和AT附加(ATA)总线1116连接到存储器控制器1102。然而,在其他实现中,也可以备选地应用不同类型的专用数据总线结构。
在另一实施例中,至少CPU 1100、1级高速缓存1110、2级高速缓存1112、存储器控制器1102和RAM存储器1106被包括在片上系统(SoC)中在一实施例中,CPU 1100被多个处理器核替代。在一实施例中,RAM存储器1106被诸如宽I/O DRAM的高性能存储器替代,并且存储器控制器1102的功能由处理器核执行。在一实施例中,作为非高性能存储器的另一类型的存储器(诸如LPDDR3DRAM)可以耦合到SoC。
SoC(也称为SOC)是将计算设备或其他电子系统的电子组件和/或子系统集成到安置在单个封装内的单个半导体基板和/或单个芯片中的集成电路(IC)。例如,先前在个人计算机(PC)中的存储器模块子系统中的存储器现在可被包括在SoC中。类似地,存储器控制逻辑可被包括在SoC的处理器中而不是包括在分开地封装的存储器控制器中。
如本领域普通技术人员将理解的,其他电子组件可以被包括在SoC中。SoC可以包括数字的、模拟的、混合信号的,和/或射频电路——在单个半导体基板上的一个或多个。SoC可以包括振荡器、锁相环、计数器-计时器、实时计时器、加电复位发电机、外部接口(例如,通用串行总线(USB)、IEEE 1394接口(火线)、以太网、通用异步接收机/发射机(USART)和串行外围总线(SPI))、模拟接口、电压调节器和/或电源管理电路。
在替换的实施例中,SoC可以被系统级封装(SiP)或层叠封装(PoP)替换。在SiP中,多个芯片或半导体基板被安置在单个封装中。在SiP实施例中,(诸)处理器核将可以在一个半导体基板上,而高性能存储器将可以在第二半导体基板上,二者都被安置在单个封装中。在一个实施例中,第一半导体基板通过线结合耦合至第二半导体基板。
在PoP实施例中,(诸)处理器核将可以在布置在第一封装中的一个半导体管芯上,而高性能存储器将可以在布置在第二不同封装中的第二半导体管芯上。第一封装和第二封装随后将通过标准接口被堆叠以在各封装(具体而言在各半导体管芯)间路由信号。在一个实施例中,所堆叠的封装接着可被耦合到将附加存储器作为组件的印刷线路板。
在各实施例中,(诸)处理器核包括执行(或读取)存储在处理器可读存储器中的处理器(或机器)可读指令的多个处理器。处理器可读指令的示例可包括计算设备107的OS和/或应用(诸如图2所示的OS 205和应用211-213)。响应于执行OS和应用的处理器可读指令,处理器核可使用高性能存储器和附加存储器。在一个实施例中,处理器核可包括处理器和存储器控制器,或替换地,也执行与存储器控制器执行的类似的存储器管理功能的处理器。处理器核还可以包括控制器、图形处理单元(GPU)、数字信号处理器(DSP)和/或现场可编程门阵列(FPGA)。在一实施例中,高性能存储器位于处理器核之上。
在各实施例中,高性能存储器和附加存储器可以包括设置在分开的半导体基板上的IC中的存储器单元的一个或多个阵列。在一个实施例中,高性能存储器和附加存储器被包括在容纳在分开封装的设备中的各自的集成的整体电路。在各实施例中,高性能存储器和附加存储器可以包括易失性和/或非易失性存储器。
易失性存储器的类型包括但不限于动态随机存取存储器(DRAM)、基于分子电荷的(ZettaCore)DRAM、浮体DRAM和静态随机存取存储器(“SRAM”)。DRAM的特定类型包括双倍数据速率SDRAM(“DDR”),或晚一代SDRAM(例如,“DDRn”)。
非易失性存储器的类型包括但不限于以下类型:电可擦除可编程只读存储器(“EEPROM”)、闪存(包括NAND和NOR闪存)、ONO闪存、磁阻或磁性RAM(“MRAM”)、铁电RAM(“FRAM”)、全息介质、奥弗辛斯基效应的/相变、纳米晶体、纳米管RAM(NRAM-Nantero)、MEMS扫描探针系统、MEMS悬臂式开关、聚合物、分子、纳米浮栅和单电子。
三维图形处理单元1120和视频编码器1122构成了视频处理流水线,用于进行高速度和高分辨率(例如,高清晰度)图形处理。数据经由数字视频总线从图形处理单元1120传输到视频编码器1122。音频处理单元1124和音频编解码器(编码器/解码器)1126构成了对应的音频处理流水线,用于对各种数字音频格式进行多通道音频处理。音频数据经由通信链路在音频处理单元1124与音频编解码器1126之间传输。视频和音频处理流水线向A/V(音频/视频)端口1128输出数据,以便传输到电视机或其它显示器。
图7示出了包括USB主控制器1130和网络接口1132的模块1114。USB主控制器1130被示为经由总线(例如,PCI总线)与CPU 1100和存储器控制器1102进行通信,并充当外围控制器10041-10044的主机。网络接口1132提供对网络(例如因特网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、无线接入卡、蓝牙模块、电缆调制解调器等各种有线或无线接口组件中的任一种。
在图7中描绘的实现中,控制台1002包括用于支持四个控制器10041-10044的控制器支持子组件1140。控制器支持子组件1140包括支持与诸如,例如,媒体和游戏控制器之类的外部控制设备的有线和无线操作的任何硬件和软件组件。前面板I/O子组件1142支持电源按钮1012、弹出按钮1014,以及任何LED(发光二极管)或暴露在控制台1002的外表面上的其它指示器等多个功能。子组件1140和1142通过一个或多个电缆组件1144与模块1114进行通信。在其他实现中,控制台1002可以包括另外的控制器子组件。所示出的实现还示出了被配置成发送和接收可以传递到模块1114的信号的光学I/O接口1135。
MU 10401和10402被示为能够分别连接到MU端口“A”10301和“B”10302。附加MU(例如,MU 10403-10406)被示为能够连接到控制器10041和10043,即,每一控制器两个MU。控制器10042和10044还可以被配置成接收MU。每一个MU 1040都提供附加存储,在其上面可以存储交互式电子游戏、游戏参数、及其它数据。在一些实现中,其它数据可以包括数字游戏组件、可执行的游戏应用,用于扩展游戏应用的指令集、以及媒体文件中的任何一种。当被插入到控制台1002或控制器中时,MU 1040可以被存储器控制器1102访问。
系统供电模块1150向游戏系统1000的组件供电。风扇1152冷却控制台1002内的电路。
包括处理器可读指令的应用1160被存储在硬盘驱动器1108上。当控制台1002被接通电源时,应用1160的各个部分被加载到RAM 1106和/或高速缓存1110以及1112中以在CPU1100上执行,其中应用1160是一个这样的示例。各种应用可以存储在硬盘驱动器1108上以用于在CPU 1100上执行。在一实施例中,应用1160对应于图2所示的应用211-213之一,如本文描述的。
控制台1002还被示为包括通信子系统1170,其被配置成将控制台1002与一个或多个其他计算设备(例如,其他控制台)在通信上耦合。通信子系统1170可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统1170可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在某些实施例中,通信子系统1170可允许控制台1002经由网络(诸如因特网)向其他设备发送消息和/或从其他设备接收消息。在特定的实施例中,通信系统1170可以被用来与协调器和/或其他计算设备通信,以供发送下载请求和实现对数字内容的下载与上传。更一般而言,通信子系统1170可以使控制台1002能够参与对等通信。
可以通过简单地将系统连接到显示器1050(图6)、电视机、视频投影仪或其他显示设备来将游戏与媒体系统1000作为独立系统来操作。在此独立模式下,游戏和媒体系统1000允许一个或多个玩家玩交互式电子游戏或欣赏数字媒体,例如观看电影或欣赏音乐。然而,随着通过网络接口1132(或者更一般地通信子系统1170)使宽带连接的集成成为可能,游戏和媒体系统1000还可以作为更大的网络游戏社区(诸如对等网络)的参与者来操作。
上述控制台1002仅仅是参考图1及各其他附图所讨论的计算设备107的一个示例。如上所解释的,存在本文中所述的各实施例可以使用的各种其他类型的计算设备。
图8是可托管图1-3中解说的软件组件中的至少一些的计算设备1800(其可对应于图1中示出的计算设备107)的一个实施例的框图。在其大多数基本配置中,计算设备1800通常包括一个或多个处理单元/核1802,其包括一个或多个CPU和一个或多个GPU。计算设备1800还包括系统存储器1804。取决于计算设备的确切配置和类型,系统存储器1804可包括易失性存储器1805(如RAM)、非易失性存储器1807(如ROM、闪存等)或是两者的某种组合。该最基本配置在图8中由虚线1806来例示出。另外,计算设备1800还可具有附加的特征/功能。例如,计算设备1800还可包含附加存储(可移动和/或不可移动),其包括但不限于磁盘、光盘或磁带。这样的附加存储在图8中由可移动存储1808和不可移动存储1810来例示出。
在一实施例中,计算设备1800在测试应用是否向外部计算设备传输敏感信息时被使用。在一实施例中,计算设备1800在应用的认证或验证过程期间被使用。在一实施例中,如本文中描述的软件组件被存储在系统存储器中并由(诸)处理单元/(诸)核1802来执行。
计算设备1800还可包含允许该设备与其他设备通信的(诸)通信连接1812,诸如一个或多个网络接口和收发机。计算设备1800还可具有诸如键盘、鼠标、笔、话音输入设备、触摸输入设备、姿势输入设备等(诸)输入设备1814。还可包括诸如显示器、扬声器、打印机等(诸)输出设备1816。这些设备在本领域是公知的,因此不在此详细讨论。
在各实施例中,所示出和所描述的信号路径是传输信号的介质,诸如互连、传导元件、触头、引脚、半导体基板中的区域、引线、金属迹线/信号线或光电导体个体或其组合。在一个实施例中,多个信号路径可以替代图中所示的单个信号路径,并且单个信号路径可以替代图中所示的多个信号路径。在各实施例中,信号路径可以包括总线和/或点到点连接。在一实施例中,信号路径包括控制和数据信号线。在又一些其他实施例中,信号路径是单向的(信号在一个方向上传播)或双向的(信号在两个方向上传播)或者是单向信号线和双向信号线两者的组合。
本发明系统的前述详细描述是出于说明和描述的目的而提供的。这并不旨在穷举本发明系统或将本发明系统限于所公开的精确形式。鉴于上述教导,许多修改和变型都是可能的。选择所述实施例以最好地解释本发明系统的原理及其实践应用,从而允许本领域技术人员能够在各种实施例中并采用各种适于所构想的特定用途的修改来最好地利用本发明系统。本发明系统的范围旨在由所附权利要求书来定义。

Claims (15)

1.一种由操作系统执行的用于测试应用的方法,所述方法包括:
接收来自所述应用的对信息的请求;
使用用于截取对返回所述信息的应用编程接口(API)的应用调用的垫片来将临时替换所述信息的替代信息提供给所述应用;
接收来自所述应用的向外部计算设备输出应用信息的请求;
通过在所述应用的执行期间使用另一垫片截取所述应用的网络话务来在加密之前检查所述应用信息以确定所述替代信息是否被包括在所述应用信息中;以及
在测试指示所述应用打算传输所述应用信息以后,在替换了所述替代信息之后,向所述外部计算设备输出所述应用信息。
2.如权利要求1所述的方法,其特征在于,所述方法至少部分地由至少一个处理器执行,所述至少一个处理器执行存储在计算设备中的存储器中的操作系统和所述应用。
3.如权利要求2所述的方法,其特征在于,所述信息是敏感信息。
4.如权利要求3所述的方法,其特征在于,所述方法在所述应用的认证或验证过程期间被执行。
5.如权利要求1所述的方法,其特征在于,进一步包括在向所述外部计算设备输出所述应用信息之前获得用户的同意指示。
6.如权利要求2所述的方法,其特征在于,接收来自所述应用的对所述信息的请求包括所述应用调用第一应用编程接口,并且接收来自所述应用的输出的请求包括所述应用调用第二应用编程接口。
7.如权利要求6所述的方法,其特征在于,所述检查包括搜索存储要向所述外部计算设备输出的所述应用信息的缓冲器以查找所述应用信息中的替代信息。
8.如权利要求7所述的方法,其特征在于,所述替代信息选自伪造信息和记录信息之一。
9.如权利要求8所述的方法,其特征在于,接收并确定至少部分地由所述操作系统执行,
其中所述应用包括交互式电子游戏,以及
其中所述信息包括视频信号。
10.如权利要求9所述的方法,其特征在于,所述计算设备包括用于获得所述视频信号的相机。
11.一种用于测试应用的装置,包括:
用于获得视频信号的至少一个相机;
至少一个处理器;以及
至少一个处理器可读存储器,所述至少一个处理器可读存储器用于存储具有处理器可读指令的应用以及外部计算设备的网络地址,并且所述至少一个处理器可读存储器用于存储操作系统,所述操作系统能够允许所述应用向所述网络地址处的外部计算设备传输所述视频信号的至少一部分,
其中所述至少一个处理器执行所述操作系统和所述应用的处理器可读指令以便:
由所述操作系统接收来自所述应用的对所述视频信号的请求,
由所述操作系统使用用于截取对返回所述视频信号的应用编程接口(API)的应用调用的垫片来将临时替换所述视频信号的替代视频信号提供给所述应用,
由所述操作系统接收来自所述应用的向外部计算设备输出应用信息的请求;
由所述操作系统通过在所述应用的执行期间使用另一垫片截取所述应用的网络话务来在加密之前检查所述应用信息以确定所述替代视频信号是否被包括在所述应用信息中;以及
由所述操作系统在测试指示所述应用打算传输所述应用信息以后,在替换了所述替代视频信号之后,向所述外部计算设备输出所述应用信息。
12.如权利要求11所述的装置,其特征在于,所述装置进一步包括用于存储所述应用信息的话务缓冲器,并且所述操作系统检查存储在所述话务缓冲器中的所述应用信息以确定所述替代视频信号是否被存储在所述应用信息中。
13.如权利要求12所述的装置,其特征在于,所述装置被包括在游戏控制台中,并且所述应用是交互式电子游戏。
14.如权利要求11所述的装置,其特征在于,来自所述应用的对所述视频信号的请求包括对用于检索所述视频信号的应用编程接口的调用,并且来自所述应用的向所述外部计算设备输出应用信息的请求包括对用于向所述外部计算设备的所述网络地址输出所述应用信息的应用编程接口的调用。
15.如权利要求11所述的装置,其特征在于,所述至少一个处理器执行所述操作系统和所述应用的处理器可读指令以在所述应用被输出到所述外部计算设备之前进一步获得同意指示。
CN201480048868.7A 2013-09-06 2014-09-03 验证特定信息由应用传输 Active CN105580025B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/019,978 US9645860B2 (en) 2013-09-06 2013-09-06 Verification that particular information is transferred by an application
US14/019,978 2013-09-06
PCT/US2014/053767 WO2015034851A1 (en) 2013-09-06 2014-09-03 Verification that particular information is transferred by an application

Publications (2)

Publication Number Publication Date
CN105580025A CN105580025A (zh) 2016-05-11
CN105580025B true CN105580025B (zh) 2019-05-17

Family

ID=51585182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480048868.7A Active CN105580025B (zh) 2013-09-06 2014-09-03 验证特定信息由应用传输

Country Status (11)

Country Link
US (2) US9645860B2 (zh)
EP (1) EP3042336B1 (zh)
JP (1) JP6356248B2 (zh)
KR (1) KR102281028B1 (zh)
CN (1) CN105580025B (zh)
AU (1) AU2014315395B2 (zh)
BR (1) BR112016004399B1 (zh)
CA (1) CA2922363C (zh)
MX (1) MX356480B (zh)
RU (1) RU2679222C2 (zh)
WO (1) WO2015034851A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9645860B2 (en) 2013-09-06 2017-05-09 Microsoft Technology Licensing, Llc Verification that particular information is transferred by an application
US9747415B2 (en) * 2013-11-27 2017-08-29 General Electric Company Single schema-based RIS/PACS integration
US9276938B2 (en) 2013-11-27 2016-03-01 General Electric Company Cross-enterprise workflow
US10735262B1 (en) * 2018-04-26 2020-08-04 Intuit Inc. System and method for self-orchestrated canary release deployment within an API gateway architecture
JP2021018745A (ja) * 2019-07-23 2021-02-15 日立オムロンターミナルソリューションズ株式会社 カードリーダ、カードリーダの制御方法および現金自動機

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064604A (zh) * 2006-04-29 2007-10-31 西门子公司 远程访问方法、系统及设备
CN101668157A (zh) * 2009-09-24 2010-03-10 中兴通讯股份有限公司 用于视频通话中隐私保护的方法、应用服务器及系统
CN102104766A (zh) * 2009-12-18 2011-06-22 深圳富泰宏精密工业有限公司 视频通话中的隐私保护系统及方法
CN102609660A (zh) * 2012-02-03 2012-07-25 奇智软件(北京)有限公司 一种计算机视频设备隐私保护方法和系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001292910B2 (en) * 2000-09-22 2008-05-01 Sca Ipla Holdings, Inc. Systems and methods for preventing unauthorized use of digital content
US7237123B2 (en) * 2000-09-22 2007-06-26 Ecd Systems, Inc. Systems and methods for preventing unauthorized use of digital content
US8677505B2 (en) * 2000-11-13 2014-03-18 Digital Doors, Inc. Security system with extraction, reconstruction and secure recovery and storage of data
US8150922B2 (en) * 2002-07-17 2012-04-03 Research In Motion Limited Voice and text group chat display management techniques for wireless mobile terminals
AU2003266962A1 (en) * 2002-08-06 2004-02-25 Brainshield Technologies Inc. Device for carrying out the copy-protected distribution of electronic documents
JP2005045587A (ja) * 2003-07-23 2005-02-17 Nec Saitama Ltd 携帯情報端末装置、及び、この装置における表示制御方法
JP2008500750A (ja) * 2004-05-12 2008-01-10 フュージョンワン インコーポレイテッド 高度な連絡先識別システム
JP2008508805A (ja) * 2004-07-29 2008-03-21 インテリ7・インコーポレーテッド 電子トラフィックを特徴づけ、管理するシステムおよび方法
US8041190B2 (en) * 2004-12-15 2011-10-18 Sony Corporation System and method for the creation, synchronization and delivery of alternate content
US20070263865A1 (en) * 2005-07-01 2007-11-15 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Authorization rights for substitute media content
US7788328B2 (en) 2005-11-10 2010-08-31 Microsoft Corporation Cross-forest sharing
US7890612B2 (en) * 2006-05-08 2011-02-15 Electro Guard Corp. Method and apparatus for regulating data flow between a communications device and a network
US20080227548A1 (en) * 2007-03-13 2008-09-18 Microsoft Corporation Secured cross platform networked multiplayer communication and game play
US10356366B2 (en) * 2007-05-31 2019-07-16 Sony Interactive Entertainment America Llc System and method for taking control of a system during a commercial break
US20100229214A1 (en) 2009-03-04 2010-09-09 Telefonaktiebolaget Lm Ericsson (Publ) Method and node for communications enhanced with temporary sharing of personal information in a communication network
KR20120017218A (ko) 2010-08-18 2012-02-28 주식회사 팬택 Sns 기반의 이동 단말기 및 이를 이용한 통신 방법
US9930295B2 (en) * 2010-11-18 2018-03-27 Verint Systems Inc.. Software, systems, and methods for video recording of a transaction involving protected data
KR101714534B1 (ko) 2010-12-06 2017-03-09 삼성전자주식회사 휴대 단말기의 사생활 보호 기능 제공 방법 및 장치
US8763080B2 (en) 2011-06-07 2014-06-24 Blackberry Limited Method and devices for managing permission requests to allow access to a computing resource
US8650550B2 (en) 2011-06-07 2014-02-11 Blackberry Limited Methods and devices for controlling access to computing resources
JP5828457B2 (ja) * 2012-01-16 2015-12-09 Kddi株式会社 Api実行制御装置およびプログラム
US8275358B1 (en) 2012-03-01 2012-09-25 MacroPoint LLC Providing notice and receiving consent to obtain location information of a mobile device
US9317721B2 (en) 2012-10-31 2016-04-19 Google Inc. Privacy aware camera and device status indicator system
US9223941B2 (en) 2013-03-15 2015-12-29 Google Inc. Using a URI whitelist
US9432627B2 (en) 2013-09-06 2016-08-30 Microsoft Technology Licensing, Llc Restricting information requested by an application
US9645860B2 (en) 2013-09-06 2017-05-09 Microsoft Technology Licensing, Llc Verification that particular information is transferred by an application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064604A (zh) * 2006-04-29 2007-10-31 西门子公司 远程访问方法、系统及设备
CN101668157A (zh) * 2009-09-24 2010-03-10 中兴通讯股份有限公司 用于视频通话中隐私保护的方法、应用服务器及系统
CN102104766A (zh) * 2009-12-18 2011-06-22 深圳富泰宏精密工业有限公司 视频通话中的隐私保护系统及方法
CN102609660A (zh) * 2012-02-03 2012-07-25 奇智软件(北京)有限公司 一种计算机视频设备隐私保护方法和系统

Also Published As

Publication number Publication date
WO2015034851A1 (en) 2015-03-12
US10437715B2 (en) 2019-10-08
CA2922363A1 (en) 2015-03-12
CN105580025A (zh) 2016-05-11
CA2922363C (en) 2021-10-26
RU2679222C2 (ru) 2019-02-06
US9645860B2 (en) 2017-05-09
RU2016107749A (ru) 2017-09-07
AU2014315395A1 (en) 2016-02-25
RU2016107749A3 (zh) 2018-07-04
EP3042336B1 (en) 2020-04-15
KR20160048811A (ko) 2016-05-04
US20150074689A1 (en) 2015-03-12
KR102281028B1 (ko) 2021-07-22
US20170206156A1 (en) 2017-07-20
EP3042336A1 (en) 2016-07-13
BR112016004399B1 (pt) 2022-09-13
JP2016534469A (ja) 2016-11-04
AU2014315395B2 (en) 2019-05-30
MX2016002839A (es) 2016-06-17
MX356480B (es) 2018-05-30
JP6356248B2 (ja) 2018-07-11
BR112016004399A8 (pt) 2020-02-11

Similar Documents

Publication Publication Date Title
CN111602130B (zh) 区块链游戏系统
CN105580025B (zh) 验证特定信息由应用传输
CN104995626B (zh) 装置的识别委托
US7337147B2 (en) Dynamic digital content licensing
US20100146283A1 (en) Entertainment device
CN103460708B (zh) 用于实现数字内容中的对象的购买或对于该对象的信息请求的方法和装置
CN105580057B (zh) 成就重放和欺诈检测
US20110283362A1 (en) data storage device and method
US11736741B2 (en) Ultra high-speed low-latency network storage
WO2019061597A1 (zh) 一种数据处理方法及服务器
US20230138122A1 (en) Systems and methods for simultaneous local access to live broadcast content
CN105612729B (zh) 限制应用所请求的信息
US11809527B2 (en) Systems and methods for video content restriction categorization and evaluation
KR20090012488A (ko) 인벤토리 아이템 보호 장치 및 그 방법
WO2013001758A1 (ja) コンピュータ読み取り可能な媒体、情報処理装置および情報処理システム

Legal Events

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