CN107438845A - 基于屏幕分析的设备安全性 - Google Patents

基于屏幕分析的设备安全性 Download PDF

Info

Publication number
CN107438845A
CN107438845A CN201680019373.0A CN201680019373A CN107438845A CN 107438845 A CN107438845 A CN 107438845A CN 201680019373 A CN201680019373 A CN 201680019373A CN 107438845 A CN107438845 A CN 107438845A
Authority
CN
China
Prior art keywords
mobile device
user
session
content
characteristic vector
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.)
Granted
Application number
CN201680019373.0A
Other languages
English (en)
Other versions
CN107438845B (zh
Inventor
马修·谢里菲
王凯
戴维·彼得鲁
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Priority to CN202011567283.XA priority Critical patent/CN112861139A/zh
Publication of CN107438845A publication Critical patent/CN107438845A/zh
Application granted granted Critical
Publication of CN107438845B publication Critical patent/CN107438845B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • 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/31User authentication
    • 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/31User authentication
    • G06F21/316User authentication by observing the pattern of computer usage, e.g. typical user behaviour
    • 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/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • H04W12/126Anti-theft arrangements, e.g. protection against subscriber identity module [SIM] cloning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/63Location-dependent; Proximity-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/60Context-dependent security
    • H04W12/68Gesture-dependent or behaviour-dependent
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Abstract

提供了用于针对计算设备的基于内容的安全性的系统和方法。一种示例方法包括识别由移动应用渲染的内容,该内容在会话期间被渲染,从该内容生成特征矢量并且确定该特征矢量并不匹配分类模型。该方法还包括响应于确定该特征矢量不匹配分类模型,提供被配置为对移动设备的用户进行认证的挑战。另一种示例方法包括确定计算设备位于受信任位置,捕捉来自会话的信息,该信息来自于由移动应用在该会话期间渲染的内容,针对该会话生成特征矢量,并且对此进行重复直到训练标准被满足。该方法还包括使用该特征矢量训练分类模型并且使用所训练的分类模型对设备的用户进行认证。

Description

基于屏幕分析的设备安全性
相关申请的交叉引用
本申请要求于2015年06月15日提交的题为“基于屏幕分析的设备安全性(SCREEN-ANALYSIS BASED DEVICE SECURITY)”的美国申请No.14/739,107的优先权。
背景技术
诸如智能电话、可穿戴设备、平板计算机、膝上型计算机等的移动设备的使用已经日益增加。这些移动设备能够存储用户认为是个人的或隐私的信息。落入不当之人手中的移动设备会导致恶劣的行动者能够访问到该信息。虽然诸如生物测定和密码的安全性措施能够用于保护针对移动设备的访问,但是这样的措施对于全天内频繁使用移动设备的用户而言会被认为是麻烦的,并且可能被禁用。
发明内容
实施方式学习设备所有者的行为和偏好,并且使用这些信号以检测异常活动。换句话说,移动设备能够使用分类模型(例如,机器学习算法)以检测对于该所有者而言并非典型的动作。在最开始,移动设备通过从在受信任环境中发生的会话期间、在屏幕上显示的内容提取特征来训练该模型。该受信任环境可以在该设备位于诸如用户的家或工作地的安全位置时存在,或者在用户录入密码或一系列密码之后存在。会话能够是通过使用移动设备渲染一个屏幕或一系列屏幕。因此,会话捕捉通过由用户在该设备上使用的移动应用渲染内容。在对分类模型进行初始训练之后,该设备可以使用该模型以分析当前会话,例如当前活动。这是推断阶段。可以在设备处于安全或受信任环境中时发生进一步的训练,但是该设备在初始训练之后就能够进入该推断阶段。在该推断阶段期间,当用于会话的内容不能够满足置信水平时,该设备会发出挑战。换句话说,在使用设备期间,该分类模型可以确定当前活动(或一系列活动)表示异常活动。该挑战可以被设计为对用户进行认证。该挑战能够是基于密码的,或者能够是基于所有者过去被认证的会话。例如,挑战可以询问所有者在特定时间处与那个人说过话,或者可以要求所有者完成最近(例如,最近在与模型相一致的会话期间)看过的在屏幕中模糊的信息。如果挑战被满足,即如果用户作出正确地回答,则设备可以利用来自挑战会话的内容对该分类模型进行更新。例如,从该挑战会话所生成的特征可以被使用作为正示例以进一步训练分类器。如果挑战没有被满足,则设备可以进入锁定模式。
在一个总体方面,一种移动设备包括至少一个处理器以及存储器,该存储器存储指令,该指令在被该至少一个处理器执行时使该移动设备执行操作。该操作包括识别由移动应用渲染的内容,该内容在会话期间被渲染;从该内容生成特征矢量;并且确定该特征矢量不匹配分类模型。该操作还包括响应于确定该特征矢量不匹配分类模型,提供被配置为对移动设备的用户进行认证的挑战。
在另一个总体方面,一种方法可以包括确定计算设备位于受信任位置,捕捉来自会话的信息,该信息来自于由在移动设备上运行的移动应用、在该会话期间渲染的内容,以及针对该会话生成特征矢量。该方法还包括重复捕捉和确定直到训练标准被满足,以及使用所训练的分类模型对移动设备的用户进行认证。
在其它的总体方面,一种移动设备包括至少一个处理器以及存储器,该存储器存储指令,在该指令被该至少一个处理器执行时,使该移动设备执行操作。该操作可以包括识别由移动应用渲染的内容,该内容在会话期间被渲染;以及从该内容生成特征矢量。该操作还可以包括将分类模型应用到该特征矢量,基于该分类模型的应用而确定该特征矢量是否匹配第一用户简档,该第一用户简档与第二用户简档不相同,该移动设备当前正与该第二用户简档相关联,以及响应于确定该特征矢量匹配该第一用户简档,发起简档切换。
在一个总体方面,一种体现于计算机可读存储设备上的计算机程序产品包括指令,该指令在被形成于基板中的至少一个处理器执行时使得计算设备执行任何所公开的方法、操作或处理。另一个总体方面包括一种系统和/或方法,基本上如至少一个附图中所示和/或结合至少一个附图被描述的以及如权利要求中更完整给出的,该系统和/或方法用于使用从用户使用计算设备时由应用所渲染的内容所生成的特征训练分类模型,并且使用该分类模型在识别出非典型使用时送出挑战。
本文中描述主题的实施方式中的一种或多种能够被实施,以实施以下优势中的一种或多种。作为一个示例,该设备能够被保护免于被除所有者以外的任何人连续访问,即使该所有者并未设置密码或者即使该密码已经被盗用。作为另一个示例,该保护是不显眼的。这意旨该保护大多是在不需要用户指导的情况下后台中发生,并且对用户创建最小的开销。作为另一个示例,实施方式提供了一种在由多个用户共享的设备上切换用户简档的不显眼的方式。该基于内容的安全性系统是基于屏幕上的内容呈现,因此并不依赖于渲染内容以提供本文中描述的任何功能的应用。换句话说,该系统针对所有应用且因此针对移动设备上执行的所有活动起作用。
一种或多种实施方式的细节被阐述在附图和以下描述中。其它特征将会根据该描述和附图以及根据权利要求书是显而易见的。
附图说明
图1是图示根据所公开的主题的示例系统的框图。
图2是图示根据所公开的主题的另一种示例系统的框图。
图3图示了根据所公开的实施方式的用于使用屏幕分析以提高备安全性的示例过程的流程图。
图4是具有基于低级别内容的挑战的移动计算设备的示例显示。
图5是具有基于高级别内容的挑战的移动计算设备的示例显示。
图6图示了根据所公开的实施方式的用于训练简档分类模型的示例过程的流程图。
图7图示了根据所公开的实施方式的用于使用屏幕分析以提高设备安全性的示例过程的流程图。
图8图示了能够被用于实施所描述技术的计算设备的示例。
图9图示了能够被用于实施所描述技术的分布式计算设备的示例。
相同的附图标记在各个附图中指示相同的元件。
具体实施方式
图1是根据示例实施方式的基于内容的安全性系统的框图。系统100可以被用于检测移动设备上执行的非正常或异常活动,并且在检测到这样的活动之后提供挑战。该异常活动可以基于在该设备在受信任环境中使用时所渲染的内容训练的分类模型来确定。该挑战还可以是基于为在移动设备上显示而渲染的内容。因为其是在后台运行并且能够在需要使用或不需要使用密码的情况下为移动设备提供安全性,该基于内容的安全性系统可以为用户创建最小的开销。图1中的系统100能够利用客户端-服务器系统,其中在服务器170处发生一些数据处理或数据存储。然而,可以使用其它的配置和应用。例如,能够唯一地在移动设备110上发生数据处理和数据存储。在一些实施方式中,移动设备100的用户可以指示在服务器170处执行处理的部分。因此,实施方式并不局限于所图示的确切配置。
基于移动内容的安全性系统100可以包括移动设备110。移动设备100可以是任何的移动个人计算设备,诸如智能电话或其它手持计算设备、平板计算机、可穿戴计算设备等,它们在封闭移动环境而不是常规的开放的基于web的环境中进行操作。移动设备110还可以是电子计算设备的其它类型,诸如膝上型计算机或基于网络的计算机。移动设备110可以是如图8所描绘的计算设备800的示例。移动设备110可以是由单个用户使用的移动计算设备,或者能够是由多个用户共享的移动设备。
移动设备110可以包括基板中形成的一个或多个处理器,该一个或多个处理器被配置为执行一个或多个机器可执行指令或者软件段、固件或它们的组合。该处理器能够是基于半导体的—也就是,该处理器能够包括能够执行数字逻辑的半导体材料。移动设备110因此可以包括被配置为以临时、持久、半持久的方式或者以它们组合的方式来存储一个或多个数据段的一个或多个计算机存储器。移动设备110因此可以包括应用120,该应用120表示以软件、固件、或者它们的组合的形式的机器可执行指令。应用120中识别的组件可以是操作系统的部分,或者可以是被研发以使用操作系统运行的应用。在一些实施方式中,应用120可以是移动应用。常规地,移动应用在封闭环境中进行操作,这意味着用户采用单独的应用以执行基于web的浏览器环境中常规地执行的活动。例如,在不是前往bookit.com以预定酒店的情况下,移动设备100的用户能够使用应用120中由bookit.com提供的移动应用。应用120还可以包括web应用,该web应用可以镜像移动应用,例如提供与移动应用相同或相似的内容。在一些实施方式中,应用120可以包括由移动设备110的操作系统执行的功能。
应用120可以包括屏幕捕捉引擎126、屏幕分析引擎122、和基于屏幕的安全性引擎124。在一些实施方式中,这些应用中的一个或多个能够由移动设备110的操作系统来提供。在一些实施方式中,这些应用中的一个或多个能够由用户进行下载并安装。
屏幕捕捉引擎126能够包括各种功能。在一些实施方式中,屏幕捕捉引擎126可以被配置为从应用程序接口(API)得到屏幕上表示的文本信息。在一些实施方式中,屏幕捕捉引擎126可以被构建至操作系统中,该操作系统能够确定在当前屏幕上显示的文本字段的内容。该文本信息可以被认为是屏幕捕捉内容,并且对API的每次调用或者每次确定文本字段的内容都可以被认为是屏幕捕捉。在一些实施方式中,屏幕捕捉引擎126可以被配置为通过复制或读取设备的帧缓冲器中的内容来捕捉该屏幕。因此,所捕捉的屏幕可以是图像并且可以被称作为捕捉图像。屏幕捕捉引擎126可以以间隔来捕捉该屏幕。该间隔能够是小的,例如每隔半秒或每隔每秒。在一些实施方式中,屏幕捕捉引擎126可以被配置为在每次发生触摸事件时(例如,用户每次触摸屏幕以滚动、缩放、点击链接等时),响应于明确用户请求或命令,或者在设备从一个移动应用转换至另一个移动应用时而捕捉该屏幕。在一些实施方式中,屏幕捕捉引擎126可以在屏幕并未变化时增大其处发生屏幕捕捉的间隔。换句话说,在屏幕为静态时,屏幕捕捉引擎126可以不频繁地捕捉图像。屏幕捕捉引擎126可以将所捕捉的内容或屏幕图像以及元数据提供至识别引擎,该识别引擎可以是屏幕捕捉引擎126的部分并且位于移动设备110或诸如服务器170的服务器上。如果屏幕捕捉图像被提供至识别引擎,则该识别引擎可以识别该屏幕捕捉图像的内容中的单词、实体、标志等。因此,该识别引擎可以生成能够来自于单词以及图像的所识别的内容。该元数据可以包括时间戳、移动设备类型、移动设备标识符、在该内容被捕捉时运行的移动应用,例如渲染屏幕上显示的内容的应用,等等。在一些实施方式中,该元数据还可以包括哪些应用是活动的、设备的位置、周围照明、设备的运动等。该系统可以使用该附加设备信息来辅助内容分析(例如,实体歧义消除)、特征生成(例如,决定什么内容是最相关的),等等。该识别引擎因此可以被配置为使用常规或稍后开发的技术执行诸如字符识别、图像识别、标志识别等的各种类型的识别。
移动设备110还可以包括屏幕分析引擎122。屏幕分析引擎122可以被配置为确定会话并且基于在该会话中识别的内容而生成特征。会话是一个或多个屏幕捕捉内容事件。换句话说,会话能够是来自一个屏幕捕捉图像或一系列的相关的屏幕捕捉图像的(例如,在时间的指定窗口期间捕捉的图像,在执行动作期间捕捉的图像,在特定用户界面元素被使用的同时捕捉的图像,在使用特定应用期间捕捉的图像,在特定任务期间捕捉的图像等)所捕捉的内容。同样,会话还能够是来自一个API调用或一系列API调用等的内容。屏幕分析引擎122可以针对会话生成特征矢量。特征包括由屏幕捕捉引擎126在包括会话的所捕捉内容中识别的数据项以及针对所捕捉内容的元数据。例如,特征能够包括在内容中所识别的实体、单词,或图像、像素,或图像特征,渲染该内容的应用,日期/时间,该设备是否在移动(例如,在车中),等等。有关一个特征的信息可以被组合在特征矢量中,并且许多特征矢量可以被级联成会话的聚集特征矢量。屏幕分析引擎122可以出于训练目的或者为了分析而将该聚集特征矢量(或者换句话说,各个个体特征矢量)提供至分类模型。
诸如预测分类器134的分类模型是作为二进制分类器(用于具有一个用户的设备)或多类别分类器(用于具有多个用户的设备)的任何类型的机器学习分类器,诸如长短期记忆(LSTM)神经网络、正馈送神经网络、支撑矢量机(SVM)分类器等。该分类模型具有两种模式,训练模式和推断模式。在训练模式中,屏幕分析引擎122使用从所捕捉内容(例如,在移动设备上显示的内容)生成的特征矢量作为用于该分类模型的正训练示例。当已经收集到足够的训练数据时,屏幕分析模块122可以获得一般负示例,并且可以对正示例进行智能转置以生成负示例。例如,屏幕分析引擎122可以利用类似单词/实体来替换所捕捉内容中的一些单词/实体。作为一个示例,利用另一个地方或人可以替换一个地方或人。当该模型是多类别分类器时,该系统可以将针对一个用户的正示例使用作为针对另一个用户的负示例。在一些实施方式中,屏幕可以在没有负示例的情况下对模型进行训练。屏幕分析引擎122然后可以(在使用负示例的情况下)使用正和负示例对分类模型进行训练。训练分类示例创建了可以然后在推断模式中使用的预测分类器134。屏幕分析引擎122可以例如利用附加的正示例继续分类模型的训练,以细化该模型。
在一些实施方式中,该系统可以训练多个分类模型。例如,一个模型可以被用于由特定应用或特定应用类别所渲染的内容。例如,一个模型可以被用于游戏而另一个模型则可以被用于新闻应用。因此,预测分类器134可以表示多于一个的训练分类器。
在一些实施方式中,屏幕捕捉引擎126能够包括被配置为对所捕捉内容进行索引的索引引擎。该索引还可以将屏幕捕捉图像与在该图像中被识别的文本、实体、图像、标志等进行关联。因此,例如,该索引引擎可以针对所捕捉和所捕捉内容生成索引实体(例如,在屏幕捕捉索引146中存储的)。在一些实施方式中,该索引引擎可以处于诸如服务器170的服务器上,并且屏幕捕捉引擎126可以将所捕捉图像和所捕捉内容提供至服务器。该索引可以是倒排索引,其中关键字值(例如,单词、短语、实体、图像、标志等)与包括该关键字值的图像(例如,所捕捉屏幕图像的副本)的列表相关联。该索引可以包括与列表中的每个所捕捉图像相关联的元数据(例如,该关键字值在所捕捉图像上的何处发生,针对图像的关键字值的排名,等等)。在一些实施方式中,该索引还可以包括由时间戳进行索引的所捕捉的列表。该索引引擎可以将索引存储在存储器中,例如存储在屏幕捕捉索引146中。当然,在一些实施方式中,除了移动设备110之外或者替代移动设备110,该系统可以将索引存储在服务器上的用户账户中。移动设备110的用户可以在激活屏幕捕捉引擎126时而控制。例如,用户可以指定屏幕捕捉引擎126仅在其它指定移动应用120运行时(例如,仅在处于社交媒体移动应用中时)是激活的。用户还可以例如经由设置应用于手工开启和关闭屏幕捕捉引擎126。在一些实施方式中,用户可以利用手势或动作来调用屏幕捕捉引擎126。禁用屏幕捕捉引擎126还可以禁用本文中描述的基于屏幕的安全性措施。
应用120还可以包括基于屏幕的安全性引擎124。基于屏幕的安全性引擎124。基于屏幕的安全性引擎124可以在推断模式中使用预测分类器134,以为移动设备110提供不显眼的安全性。基于屏幕的安全性引擎124可以从屏幕分析引擎122和屏幕捕捉引擎126接收基于会话的特征,并且针对预测分类器134运行该特征。如果预测分类器134指示该特征为异常(例如,并不适配成具有充分的置信度水平的模型),则基于屏幕的安全性引擎124可以向用户提出挑战。该挑战能够是基于密码的(例如,请求用户输入密码)或基于内容的(例如,基于在屏幕捕捉索引146或会话特征132中找到的信息)。
基于内容的挑战之所以是有用的是因为其能够被用于识别已经攻击或盗取了用户密码的恶劣的行动者。会话特征132中的信息包括从受信任位置生成的内容所提取的特征和/或针对并未落在针对预测分类器134的置信度水平之外的过去的会话生成的内容。换句话说,会话特征132中的信息表示来自例如匹配受信任位置或匹配分类模型的经验证会话的信息,并且对于移动设备110的用户是典型的而不是异常的活动。屏幕捕捉索引146可以包括先前捕捉屏幕以及所捕捉内容中识别的诸如单词、实体或图片的关键项目的副本。
基于屏幕的安全性引擎124可以使用于自会话信息特征132和/或屏幕捕捉索引146的信息来生成基于内容的挑战。例如,基于屏幕的安全性引擎124能够呈现具有模糊的一个或多个关键项目的先前所捕捉屏幕(例如,来自屏幕捕捉索引146),并且请求用户提供模糊的信息。作为另一个示例,基于屏幕的安全性引擎124可以从会话特征132或屏幕捕捉索引146提取高级别信息。例如,基于屏幕的安全性引擎124可以询问用户昨晚与那个人讲过话或发过文本,用户两天前搜索过那个实体,用户最常去那个餐厅,用户通常针对任务(例如,用于读取电子邮件或预定餐厅)使用什么应用,等等。基于内容的挑战提供了对在不需要密码的情况下保护设备或者保护其中密码已经被盗取或破坏的设备的安全性的附加层。
移动设备110可以包括数据存储130,该数据存储130被存储至移动设备110的存储器中并且由应用120使用。在一些实施方式中,数据存储130可以包括屏幕捕捉索引146和数据图144,该屏幕捕捉索引146包括在屏幕捕捉图像中识别的项目。该数据图144可以是基于图形的数据存储件,该基于图形的数据存储件以为演绎推理提供的形式存储数据以及描述有关数据的知识的规则。例如,在知识库中,信息可以以与其它实体的关系的形式关于实体进行存储。实体可以是人、地方、项目、想法、主题、单词、短语、抽象概念、具体元素、其它适当事务,或者这些的任何组合。实体可以通过表示关系的带标记的边彼此相关。该带标记的边可以是有向或是无向的。例如,表示全国足球联赛的实体可以通过“具有球队”关系而与Jaguar实体相关。数据图144可以是位于服务器170处的更大知识库中的实体和关系的子集,尤其是在大型知识库包括数以百万的实体以及数以十亿的关系的情况下。例如,数据图144中的实体和关系可以表示来自知识库的最流行的实体和关系,并且可以基于用户偏好来选择。例如,如果用户具有简档,则实体和关系可以基于该简档或者基于在屏幕捕捉图像的内容中被频繁识别的实体的类型而选择用于包括在数据图144中。在一些实施方式中,数据图144可以包括在屏幕捕捉图像的内容中被频繁识别的实体。这样的实体可以被认为是个人实体,即用户频繁与之交互但是很大程度上并不被公众所知的实体。因此,数据图144可以包括并非必然在大型公众知识库中找到的实体。这样的个人实体可以包括用户经常与之交互的人以及电话号码、地址、城市等。
数据存储130还可以包括会话特征132。会话特征132可以表示正示例,例如从受信任环境中生成的内容所识别的特征。受信任环境可以是被识别为由移动设备110的用户所信任的位置,或者在用户已经录入密码之后存在的环境,或者这些的组合。会话特征132可以被用于训练预测分类器134和/或提供在挑战中使用的信息。会话特征132还可以包括在会话期间生成的、被分类模型确定为与用户的活动相一致的特征。在一些实施方式中,与用于确定会话是否与简档相一致的阈值相比,该系统针对存储这些特征可以具有更高的阈值。换句话说,为了被包括在会话特征132中,与对于要针对用户被认为是典型的特征相比,置信度水平必须是更高的。
数据存储130还可以包括简档数据142。简档数据142可以包括有关移动设备的用户的信息。例如,简档数据142可以包括对于用户账户或简档而言为典型的被认为信任的位置(例如,用户的工作地或家)、密码数据、偏好,以及其它数据。在一些实施方式中,屏幕捕捉索引146、数据图144、和简档数据142还可以被驻存在服务器170上,例如在与移动设备110的用户相关联的账户中。在一些实施方式中,屏幕捕捉索引146、数据图144、和简档数据142可以是服务器170上存储的数据的副本或子集,或者处于由用户指定的另一个位置中。数据存储130可以被存储在任何非暂时性存储器上。
在诸如共享的家庭平板计算机或膝上型计算机的、具有若干用户的移动设备110中,每个用户可以具有相应的数据存储130。换句话说,每个用户可以具有屏幕捕捉索引146、简档数据142、和会话特征132的个体副本。在这样的实施方式中,预测分类器134可以是多类别分类器,该多类别分类器能够分析针对当前会话的所捕捉的内容以及将该内容分类为适配的两个或更多个简档中的一个或者与任何简档都不适配(例如,异常活动)。在这样的实施方式中,每个用户可以经由屏幕分析引擎122发起针对预测分类器134的训练会话。
基于移动内容的安全性系统100可以包括服务器170,该服务器可以是采用多个不同设备的形式的一个或多个计算设备,该不同设备例如标准服务器、这样的服务器的群组,或者机架式服务器系统。例如,服务器170可以跨多个计算设备以分布式方式来实施。此外,服务器170可以在例如膝上型计算机的个人计算机中被实施。服务器170可以是如图8中所描绘的计算机设备800或者如图9中所描绘的计算机设备900的示例。服务器170可以包括形成在基板中的一个或多个处理器,该一个或多个处理器被配置为执行一个或多个机器可执行指令或者软件段、固件、或它们的组合。该处理器能够是基于半导体的——也就是,该处理器可以包括能够执行数字逻辑的半导体材料。
服务器170还能够包括一个或多个计算机存储器。例如主存储器的存储器可以被配置为以暂时性的、持久性的、半持久性的方式或者以它们组合的方式来存储一个或多个数据段。该存储器可以包括以能够由该一个或多个处理器读取和/或执行的格式来存储信息的任何类型的存储设备。该存储器可以包括易失性存储器、非易失性存储器、或者它们的组合,并且存储在由该一个或多个处理器执行时施行某些操作的模块或引擎。在一些实施方式中,该模块可以被存储在外部存储设备中并且被加载到服务器170的存储器中。在一些实施方式中,服务器170可以存储数据存储130中的信息文件中一个或多个的备用副本,可以提供用于数据存储130中的信息文件中的一个或多个的源数据,和/或可以执行屏幕内容引擎的功能中的一个或多个。
图2是图示根据所公开的主题的示例系统的框图。图2图示了具有在服务器170处发生的屏幕内容引擎250的功能中的一个或多个的系统100的实施方式。例如,屏幕内容引擎250可以从移动设备110上的屏幕捕捉引擎126接收屏幕捕捉图像,并且可以执行该识别以识别图像中的关键项目,利用该关键项目对该图像进行索引。在一些实施方式中,屏幕内容引擎250可以针对图像或一系列图像生成特征矢量。换句话说,如以上所描述的,屏幕内容引擎250可以针对会话生成特征矢量。
服务器170可以存储知识库210。知识库210可以是大型的基于图形的数据存储件,该数据存储件以提供演绎推理的形式存储存储数据以及描述有关数据的知识的规则。具有大量实体以及甚至有限数量的关系的知识库可以具有数以十亿的连接。在一些实施方式中,知识库210可以被存储在能够从服务器170和/或移动设备110访问的外部存储设备中。在一些实施方式中,知识库210可以跨多个存储设备和/或多个计算设备(例如多个服务器)进行分布。知识库210中的实体和关系可以例如经由索引进行搜索。例如,该索引可以包括实体已经被其所提及的文本。因此,对知识库210的引用可以被理解为包括促进使用文本等同形式而寻找实体的索引。
屏幕内容引擎250可以包括对屏幕捕捉图像中的屏幕内容进行分析并且识别出该屏幕内容中的诸如单词、实体、标志等的关键项目的组件。所识别实体可以是知识库210中的实体。因此,屏幕内容引擎250能够被配置为使用常规或稍后研发的技术来执行各种类型的识别,诸如字符识别、图像识别、标志表示等。屏幕内容引擎250可以将所识别项目(例如,文本、图像、标志)与知识库210中的实体进行匹配。在一些实施方式中,屏幕内容引擎250可以对关键项目进行索引,如以上所描述的是,将倒排索引存储在屏幕捕捉索引215中。屏幕捕捉索引215与移动设备110的用户相关联。在一些实施方式中,屏幕内容引擎250还可以生成类似于图1的会话特征132的会话特征225。在一些实施方式中,会话特征225可以从移动设备110被传送至服务器170。换句话说,屏幕分析引擎122可以生成特征并且可以将该特征发送至服务器170,它们在该服务器170处针对用户被存储为正示例。在一些实施方式中,屏幕内容引擎250可以确定何时在存在足够数量的用于训练模型的正示例。在一些实施方式中,屏幕内容引擎250可以储备一定量的正示例并且针对该示例来评估该模型。在这样的实施方式中,屏幕内容引擎250可以确定该模型何时具有充分的分类错误(例如,95%的准确性或99%的准确性等)。在一些实施方式中,服务器170可以存储用户简档220。该用户简档可以包括类似于简档数据142的信息。
返回到图1,移动设备110可以通过网络160与服务器170以及与其它移动设备进行通信。网络160可以是例如互联网,或者网络160能够是例如使用网管装置、桥接器、交换机等所实施的有线或无线局域网(LAN)、广域网(WAN)等。网络160还可以表示蜂窝通信网络。经由网络160,服务器170可以与移动设备110进行通信并且往来于该移动设备170传输数据,并且移动设备110可以与其它移动设备(未示出)进行通信。
基于移动内容的安全性系统100表示一种示例配置,并且实施方式可以并入其它配置。例如,一些实施方式可以将屏幕捕捉引擎126、屏幕分析引擎122、或基于屏幕的安全性引擎124的组件中的一个或多个组合到单个模块或引擎中。类似地,一些实施方式可以将屏幕捕捉引擎126、屏幕分析引擎122、和基于屏幕的安全性引擎124中的一个或多个组合成单个模块或应用。此外,屏幕捕捉引擎126、屏幕分析引擎122、或基于屏幕的安全性引擎124组件中的一个或多个可以在服务器170处被执行。作为另一个示例,诸如屏幕捕捉索引146、数据图144、简档数据142、和会话特征132的数据存储件或者预测分类器134中的一个或多个可以被组合到单个数据存储中或者可以跨多个计算设备进行分布,或者可以被存储在服务器170或者由用户指定的另一个位置处。
就基于移动内容的安全性系统100收集并存储用户特定数据或者可以对个人信息加以利用而言,用户可以被提供有以控制程序或特征是否收集用户信息(例如,有关用户的社交网络、社交动作、或活动、用户的偏好、或者用户的当前位置的信息),或者控制是否和/或如何存储屏幕捕捉图像和内容的机会。例如,该系统可以针对诸如银行应用、健康应用或其它类型应用的某些应用或者在捕捉这样的内容违反服务的项目的情况下限制捕捉内容。此外,用户可以被提供有以针对具体应用或应用类别禁用捕捉屏幕内容的机会。此外,某些数据在其被存储或使用之前能够以一种或多种方式进行处理,使得个人可识别信息得以被去除。例如,用户的身份可被处理,使得不能够针对用户确定个人可识别信息,或者在获得位置信息的情况下能够对用户的地理位置进行一般化(诸如,一般化为城市、邮政编码或州级),使得不能够确定用户的特定位置。因此,用户可以对信息如何关于用户被收集以及如何由基于移动内容的安全性系统所使用而加以控制。
图3图示了根据所公开的实施方式的用于使用屏幕分析来提高设备安全性的示例过程的流程图。过程300可以由诸如图1或图2的系统100的基于移动内容的安全性系统来执行。过程300可以被用于在移动环境中提供不显眼的安全性或备用安全性,这确保了恶劣的行动者不能够继续访问移动设备。过程300可以通过利用在移动设备上捕捉的会话信息对预测分类器进行训练而开始(305)。如关于图4更详细解释的是,这是用于设备的训练模式并且可以在该设备处于受信任环境中时发生。
一旦分类模型被训练,该系统就可以使用该分类模型进入推断模式。该推断模式可以运行直到用户提供了以退出该推断模式的指令或者直到该设备进入了锁定模式。因此,该推断模式即使在设备并未利用密码锁定时(即,不需要密码将设备从休眠或非活动模式激活)也可以对该设备进行保护。即使在该设备利用密码被保护时,该推断模式也在密码被危害或盗用的情况下对该设备的内容加以保护。
在该推断模式中,该系统可以使用分类模型对当前会话进行分类(310)。该会话能够是一个屏幕或者是一系列相关屏幕。因此,该会话表示由移动应用渲染并且在移动设备上显示的内容。为了对当前会话进行分类,该系统可以对构成该会话的所捕捉的屏幕图像执行识别,以识别出在该屏幕捕捉图像中显示的内容(例如,关键项目)。该系统还可以识别出所捕捉内容中的实体,无论是基于文本的还是从图像识别的。该系统可以从所捕捉内容生成特征矢量并且将该特征矢量例如以聚集特征矢量的形式提供至该分类模型。该分类模型可以确定将该特征与经训练模型如何好的适配(315)。换句话说,该分类模型采用特征矢量并且确定反映该特征在模型内如何好的适配的置信度评分。该系统可以单独基于当前会话或者基于在时间窗口内发生的会话的置信度评分的均值来确定会话具有低置信度。如果该置信度评分或平均置信度评分满足或超过阈值(315,否),则该特征与模型相一致并且该系统可以继续对会话进行分类(310)。如果用于当前会话的置信度评分或者对当前会话窗口的平均置信度评分没有满足阈值(315,是),则该系统可以确定该活动是异常的并且可以表示非授权用户的活动。
因此,该系统可以向用户呈现挑战(320)。在一些实施方式中,该挑战可以是录入预先设置的密码。在其它实施方式中,该挑战可以基于与满足置信度阈值的先前会话相关联的所捕捉内容(320)。在一些实施方式中,该挑战可以包括密码以及基于与先前会话相关联的所捕捉内容的组合。该先前会话应当是在当前会话先前数小时发生的会话,但是优选地不早于当前会话前的几天。这确保了合法用户能够记得先前会话中发生了什么,但是该会话针对非授权用户所看到的并非足够是近期发生的。
该挑战能够是一个问题或者一系列问题。换句话说,为了避免幸运猜中,该系统呈现出一系列问题作为挑战并且要求用户至少答对大多数(例如,3个中的两个)以满足挑战。该挑战问题可以从与先前会话相关联的内容形成。在一些实施方式中,这一系列问题能够是基于密码的挑战以及一个或多个基于所捕捉内容的挑战。
图4是具有基于低级别内容的挑战的移动计算设备的示例显示400。显示400是基于先前观看过的屏幕捕捉图像的挑战的示例。该先前观看过的屏幕例如可以被存储为例如图1的示例屏幕捕捉索引146或图2的屏幕捕捉索引215的所捕捉屏幕的索引的部分,或者被存储为诸如图1的会话特征132或图2的会话特征225的会话信息的部分。该先前观看过的屏幕图像可以在与分类模型相一致和/或在受信任环境中发生的会话或会话窗口期间被捕捉。在一些实施方式中,该先前观看过的屏幕可以具有至少为过去最小小时数的时间戳。该最小值是足够长的以确保图像来自于设备的使用的先前周期。使用的周期例如可以被定义为设备进入非活动状态之间的周期。设备在用户不能够在预定义时间周期内与设备进行交互时进入非活动状态。常规地,用户必须轻敲或滑动触摸屏以重新激活设备。
为了生成该挑战,该系统可以模糊该先前观看过的屏幕图像的部分405。例如,部分405a和405b下方的单词被模糊。部分405可以被选择作为在该先前观看过的屏幕捕捉图像中出现的高度典型的实体。该系统能够使用常规实体检测和语言分析技术来确定高度典型的实体。该系统可以提供通知用户如何满足该挑战的指令窗口410。例如,指令窗口410可以请求用户提供与模糊部分相对应的文本。在显示400的示例中,该系统为用户提供了文本框以提供与部分405a和405b相对应的文本。然而,该系统还可以给出允许用户选择所给出选择中的一个的多项选择问题。该系统能够选择图像以模糊和给出多个图像供用户选择。当用户已经针对每个模糊部分405提供了响应时,该用户可以选择或激活例如在指令窗口410中提供的控件,以提交对该挑战的响应。
图5是具有基于高级别内容的挑战的移动计算设备的示例显示。该显示500是基于先前活动的挑战,该活动并不一定是单个先前观看过的屏幕捕捉图像。针对基于高级别内容的挑战,该系统可以访问来自与分类模型相一致和/或在受信任环境中发生的先前会话的信息。该信息例如可以从在先前会话期间提取的会话特征来获得。与基于低级别内容的挑战相同,该会话可以与时间戳相关联,该时间戳至少为过去的最小小时数。该基于高级别内容的挑战因此可以是基于对屏幕捕捉图像的过往分析。该系统可以从过去的会话提取事实并且要求当前用户正确回答基于该事实的问题。在显示500的示例中,该系统要求用户指出该用户在昨晚6:17pm与谁发送过消息。显示500的示例包括多选挑战,但是还可以使用文本框类型的响应。能够从过去的会话构建的其它类型的事实问题包括“你星期五在哪家餐厅进行了预定?(What restaurant did you make a reservation at on Friday?)”以及“你最近经由社交网络分享过那个图像?(Which image did you share via social mediamost recently?)”。其它类型的基于高级别内容的挑战可以从聚集使用数据得出。例如,该系统可以确定用户与那个联系人发送消息最频繁,用户最常在那个地方进行预定,等等。在生成子挑战中,该系统可以包括跨应用且在实体类型方面的挑战。换句话说,该系统可以确保子挑战表示对于用户被认为是典型的各种应用和/或实体。
返回到图3,该系统可以确定所呈现的挑战是否被满足(325)。如以上所指示的是,该挑战可以根据实施方式而包括多个子挑战。如果挑战并未被满足(325,否),则该系统可以确定是否呈现另一个挑战(335)。例如,该系统可以利用新挑战为未达成首次挑战的用户提供另一次机会(335,是),但是可能并不提供第三次机会(335,否)。在一些实施方式中,尤其是在挑战已经包括子挑战时,该系统可以不提供以满足另一次挑战的任何附加机会(335,否)。在没有其它挑战机会时(335,否),该设备可以进入锁定模式(340)。在该锁定模式中,该设备可以防止对大多数应用和活动的访问。例如,该设备可能仅支持紧急呼叫而禁用所有其它访问。在另一个示例中,该设备可以向用户电子邮件或者与设备相关联的指示其中该设备进入锁定模式的位置的其它用户标识符发送通信。在一些实施方式中,该设备可以在该设备位于受信任位置且用户提供了密码时被解锁。例如,用户简档可以包括受信任位置,诸如用户的家中或工作地。当用户在家中或工作地时(例如,基于全球定位坐标),该设备可以允许用户录入密码以解锁设备。这可以使得意外锁定设备的合法用户在无需联系客户支持的情况下解锁设备。在一些实施方式中,解锁设备可能要求例如经由对客户支持的呼叫进行的身份验证。在一些实施方式中,解锁设备可能仅要求录入密码。一旦锁定时其它的解锁设备的方法还可以被使用。
如果挑战被满足(325,是),则该系统可以从当前会话提取特征并且使用该特征(例如,用于特征的特征矢量)作为正示例,以更新分类模型(330)。换句话说,在挑战成功完成之后,该系统可以训练分类模型以将当前活动识别为与用户行为相一致。该系统可以继续对会话进行分析和分类,直到用户停止了推断模式或者直到设备被锁定。
图6图示了根据所公开的实施方式的用于训练分类模型的示例过程600的流程图。过程600可以由诸如系统100的基于移动内容的安全性系统来执行。过程600可以在设备在受信任环境中被使用时收集信息,并且使用该信息来训练分类模型以识别与用户简档相一致的活动。该分类模型能够是指示例如特定屏幕捕捉图像或一系列这样的图像上的信息的所捕捉内容是否与设备所有者的活动相一致。在其它实施方式中,该分类模型可以是被训练以确定特定屏幕捕捉图像或图像的序列与多个简档中的那个用户简档,如果存在,是与其最为一致的多类别分类器。如果是多类别分类器,则该模型使用多个训练会话进行训练,用于每个用户简单的该模型被训练以识别。因此,虽然过程600被图示为用于耳机分类器,但是其可以针对移动设备的每个不同用户执行以训练多类别分类器模型。
过程600开始于以确定设备是否处于受信任环境中(605)。受信任环境是其中设备的用户以高置信度是真实的设备所有者的环境。确定环境是否是受信任环境可以以单独或组合地取决于多种因素的。例如,用户可以提供使能训练模式的密码。作为另一个示例,用户简档可以包括受信任的位置,诸如用户的家或办公室。该设备能够使用GPS坐标或无线网络标识符来确定当前位置是否与受信任位置中的一个相匹配。在一些实施方式中,受信任环境可以要求成功的密码解锁(例如,将设备从休眠或无活动模式唤醒)以及受信任位置的匹配。如果设备并非处于受信任环境中(605,否),则并不保留训练数据。一旦设备处于受信任环境中(605,是),则该系统可以开始捕捉屏幕内容(610)。如以上所指示的是,屏幕内容的捕捉可以以规律间隔发生,在用户每次与设备交互时发生,在来自用户的明确命令时发生,等等。屏幕信息因此表示由设备上运行的应用渲染的信息。该系统可以继续捕捉内容(615,否)直到会话完成(615,是)。会话能够被定义为单个屏幕捕捉事件(API调用或屏幕捕捉图像)。因此,一个屏幕捕捉图像可以导致会话完成。作为另一个示例,会话可以被定义为一系列屏幕捕捉事件。例如,在指定窗口内发生的屏幕捕捉事件,在具体活动期间发生的事件,在单个应用中发生的事件,或者在使用单个界面期间发生的事件,等等。在会话完成时(615,是),该系统可以提取并注释会话特征。特征可以是在与会话相关联的内容中识别出的任何事物以及有关内容的元数据。例如,特征能够包括所渲染的内容的程序,移动设备的位置,移动设备的运动,在内容中识别出的单词、图片和标志,在内容中识别出的实体(例如,来自知识库),等等。有关特定特征的信息可以由相对应的特征矢量来表示,并且该特征矢量可以在针对单个屏幕或针对会话的聚集特征矢量中进行组合(级联)。该特征矢量可以被认为是针对用户的活动的正示例。换句话说,该屏幕能够作为针对用户的典型的活动类型的正训练示例而被解析和注释。
该系统可以确定是否存在足够的正示例以训练分类器(625)。例如,该系统可以要求最小时间量(例如,几个星期、最小小时数),来观察受信任环境中的足够行为以确保有用的分类模型。作为另一个示例,该系统可以要求最小数量的正示例,或者最小数量的正示例和处于训练模式中的最小时间量的一些组合。直到满足最低标准(625,否),该系统在设备处于受信任环境中时继续收集信息(特征)。一旦满足了最低标准(625,是),该系统就可以得到负示例。该负示例可以是负示例的一般集合或者可以由随机但实际上转置的正示例而生成(630)。转置正示例能够包括利用类似单词/实体替换所捕捉内容中的一些单词/实体。作为一个示例,位置或人可以利用另一个位置和人而替换。在多分类器模型中,转置正示例包括使用用于一个用户的正示例作为用于另一个用户的负示例。该系统然后可以使用该正和负示例以训练分类器(635)。在一些实施方式中,该系统可以在不需要任何负示例的情况下训练分类器。该系统可以确定否满足了训练标准。该训练标准例如可以是如以上所描述的最小时间量、最小数量的正示例,或者是最小分类准确度。例如,该系统可以使用一些示例以训练模型,并且然后针对其它示例(或相同示例)运行该模型,从而确定该模型如何好的对已知示例分类。在一些实施方式中,可以使用最小数量的示例以训练分类器,并且然后另一个最小值可以被收集并用于评估该模型。一些实施方式可以使用最小时间周期、最小数量的示例和最低分类准确度的组合作为训练标准。直到满足训练标准(640,否),该系统在设备处于受信任环境中时继续收集信息。一旦满足了训练标准(640,是),过程600然后结束,该模型准备在推断模式中使用。然而,该系统可以使用新的正示例继续训练分类模型。在一些实施方式中,训练可以连续地继续最小时间周期(在处于受信任环境中时)或者该系统可以在用户利用提示该挑战的会话信息成功满足该挑战时来训练该模型。此外,该系统可以在设备处于受信任环境中时以某些间隔进入训练模式。因此,该系统可以细化该模型并且在用户参与新活动时使其保持最新。
图7图示了根据所公开的实施方式的用于在多用户环境中使用屏幕分析来提高设备安全性的示例过程700的流程图。过程700可以由诸如图1或图2的系统100的基于移动内容的安全性系统来执行。过程700可以被用于在移动环境中提供不显眼的安全性或备用安全性,以及在多用户环境中自动发起(例如,在没有具体指令的情况下)简档切换。过程700可以通过训练简档分类模型以识别并分类多个不同简档来开始(705)。如以上关于图6所描述的,该训练使用在设备处于受信任环境中时在屏幕中识别的内容来完成。在简档分类模型中,每个训练会话以及因此所生成的正示例与具体用户相关联。因此,该模型能够学习针对每个用户典型的活动。因此,该简档分类模型能够是任何类型的多个分类器。
一旦两个或更多个简档被成功地训练,该系统就可以进入推断模式。在推断模式中,该系统可以观察屏幕或一系列屏幕(换句话说,会话)中的内容,并且使用经训练的模型对该会话进行分类(710)。在观察内容时,该系统可以对屏幕捕捉图像执行各种类型的识别,该图像已经由例如移动应用、基于web的应用、或另一种类型的应用的应用来渲染,或者对所捕捉的文本执行该识别。该系统然后可以确定内容的特征矢量并且将该特征矢量提供至分类模型。该分类模型提供(例如,作为由特征矢量所表示)该特征是否与简档相匹配的确定。该确定可以包括置信度水平,该置信度水平表示该模型如何确定输入(特征矢量)与特定简档相一致。因此,例如,该确定可以指示该输入以70%置信度评分与第一用户简档相匹配并且以50%置信度评分与第二用户简档相匹配。
该系统可以确定模型是否针对登入用户返回低置信度(715)。低置信度可以针对阈值进行测量,例如并未满足阈值。低置信度可以指示当前活动并不与登入用户相一致。如果置信度不为低(715,否),则该系统可以继续分类动作(710)。如果置信度为低(715,是),则该系统然后可以确定当前活动是否与针对另一个用户的简档相匹配(720)。例如从屏幕上显示的内容生成的特征矢量的活动是否与简档相一致取决于满足或超过阈值的特定简档的置信度评分。如果该系统确定针对另一个用户简档(例如,不同于登入用户)的至少一个置信度评分满足或超过阈值,则该系统可以确定存在简档匹配(720,是)。该系统然后可以发起简档切换(725)。
在一些实施方式中,发起简档切换是自动的。换句话说,该系统可以登出当前用户并且将其它用户登入,这导致不同用户简档数据被使用。自动简档切换可以是由移动设备的用户明确选择的选项。在一些实施方式中,发起简档切换可以包括提供请求切换用户简档的许可的提示。例如,该系统可以提供询问设备是否应当切换简档且通知用户将会选择那个简档的窗口。在一些实施方式中,发起简档切换可以登出当前用户并且采用设备到登入界面,例如,用户被要求在该登入界面处选择一个简档并输入密码。在一些实施方式中,该系统可以选择默认简档(例如,具有最高置信度评分的简档)并且提示输入密码。换句话说,该系统可以自动注销当前简档,这要求用户明确利用另一个简档重新登入。指示简档切换可以结束过程700。在成功切换(例如,用户成功登入)之后,该系统可以进入训练阶段(例如,步骤705)或者可以在步骤710处继续针对新用户简单与当前活动进行比较。
如果当前活动并不匹配另一个简档(720,否),则该系统可以如以上关于图3的步骤320所解释的向用户呈现挑战(730)。该挑战可以是基于先前访问的与当前登录用户的简档或具有来自步骤710的最高置信度评分的简档中的任一个相一致的内容(例如,满足或超过置信度阈值)。例如,在多用户环境中,每个用户可以具有单独的屏幕捕捉索引、会话特征、简档数据等。因此,该设备能够从诸如图1的会话特征132的会话特征或者诸如图1的索引146的屏幕捕捉索引中选择与登入用户相关联的信息来构建如以上所讨论的挑战。该系统还可以使用与接收到最高置信度水平的简档而不是登入用户相关联的会话特征和/或屏幕捕捉索引。该系统可以在针对简档的置信度评分接近阈值但是并非足够高的以满足阈值时选择具有最高置信度水平的简档。因此,该挑战可以针对最可能的用户而不是登入用户进行调整。如以上所指示的是,该挑战可以是一系列子挑战,并且能够是基于在先前观看的屏幕中识别的内容。在一些实施方式中,不同于呈现的挑战的是,该系统可以将当前用户注销。
如果挑战被呈现并且被满足(735,是),则该系统可以使用针对会话生成的特征矢量作为正训练矢量(740)。如果该挑战是基于与当前登入用户相关联的内容,则该示例可以与当前登入用户相关联。如果该挑战是基于与另一个用户相关联的内容,则该示例可以与其它用户相关联,并且该设备可以发起如以上所描述的简档切换。该新训练示例可以被用于训练/细化分类模型。过程700然后继续针对当前登入用户处于推断模式中。
如果挑战并未被满足(735,否),则该系统可以确定是否发出另一项挑战(745)。如以上关于图3所描述的是,这可以取决于实施方式以及挑战是否包括子挑战和用户是否已经成功满足了任何先前子挑战。如果没有其它挑战有待达成(745,否),则该系统可以如以上关于图3的步骤340所描述的锁定移动设备(750)。
图8示出了可以随这里描述的技术一起使用的通用计算机设备800,其可以作为图1的服务器170和/或设备110。计算设备800旨在表示各种示例形式的计算设备,诸如膝上型计算机、台式机、工作站、个人数字助理、蜂窝电话、智能电话、平板计算机、服务器,以及包括可穿戴设备的其它计算设备。这里示出的组件、它们的连接件和关系、以及它们的功能仅意在作为示例,而并非意在限制本文中描述和/或要求保护的发明的实施方式。
计算设备800包括经由接口808连接的处理器802、存储器804、存储设备806、和扩展端口810。在一些实施方式中,除其它组件之外,计算设备800可以包括经由接口808连接的收发器846、通信接口844和GPS(全球定位系统)接收器模块。设备800可以通过通信接口844无线通信,该通信接口844在必要情况下可以包括数字信号处理电路。组件802、804、806、808、810、840、844、846和848中的每个可以在适当时被安装在共用主板上或者以其它方式被安装。
处理器802能够处理用于在计算设备800内执行指令,该指令包括在存储器804中或存储设备806上存储的指令,以在诸如显示器816的外部输入/输出设备上显示用于GUI的图形信息。显示器816可以是监视器或平面触摸屏显示器。在一些实施方式中,在适当时可以连同多个存储器和存储器的类型一起使用多个处理器和/或多个总线。另外,在每个设备提供必要操作的部分(例如,作为服务器库、刀片式服务器的组、或者多个处理器系统)的情况下,多个计算设备800可以被连接。
存储器804在计算设备800内存储信息。在一种实施方式中,存储器804是一个或多个易失性存储器单元。在其它实施方式中,存储器804是一个或多个非易失性存储器单元。存储器804还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。在一些实施方式中,存储器804可以包括通过扩展接口提供的扩展存储器。
存储设备806能够为计算设备800提供大型存储。在一种实施方式中,存储设备806可以是或者包括包括存储域网络或其它配置中的设备的计算机可读介质,诸如软盘设备、硬盘设备、光盘设备,或者带式设备、闪速存储器设备或其它类似固态存储设备,或者设备的阵列。计算机程序产品能够以有形方式在这样的计算机可读介质中被实施。计算机程序产品还可以包括指令在,该指令被执行时执行诸如以上描述的那些的一种或多种方法。计算机或机器可读介质是诸如存储器804、存储设备806、或者处理器802上的存储器的存储设备。
接口808可以是管理计算设备800的带宽密集操作的高速控制器或者管理较低带宽密集操作的低速控制器,或者这样的控制器的组合。可以提供外部接口840,以便使设备800能够与其它设备进行邻近区域通信。在一些实施方式中,控制器808可以被耦合至存储设备806和扩展端口814。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的扩展端口可以被耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪,或者例如通过网络适配器耦合到诸如交换机和路由器的联网设备。
如图所示,计算设备800可以以各种不同形式来实施。例如,其可以被实施为标准服务器830,或者这样的服务器的群组中的被多次实施。其还可以被实施为机架式服务器系统的部分。此外,其还可以在诸如膝上型计算机832、个人计算机834、或平板电脑/智能电话836的计算设备中实施。整个系统可由多个彼此通信的计算设备800构成。其它配置是可能的。
图9示出了可以随这里描述的技术一起使用的通用计算机设备900,其可以作为图1的服务器170。计算设备900旨在表示各种示例形式的大规模数据处理设备,诸如服务器、刀片式服务器、数据中心、大型机,和其它大规模计算设备。计算设备900可以是具有多个处理器的分布式系统,该计算设备900可能包括通过一个或多个通信网络进行互连的网络附连存储节点。这里示出的组件、它们的连接件和关系以及它们的功能仅意在作为示例,而并非意在限制本文献中描述和/或要求保护的发明的实施方式。
分布式计算系统900可以包括任何数量的计算设备980。计算设备980可以包括通过局域网或广域网、专用光学链路、调制解调器、桥接器、路由器、交换机、有线或无线网络等进行通信的服务器或机架式服务器、大型机等。
在一些实施方式中,每个计算设备可以包括多个机架。例如,计算设备980a包括多个机架958a-958n。每个机架可以包括一个或多个处理器,诸如处理器952a-952n以及962a-962n。该处理器可以包括数据处理器、网络附连存储设备,和其它计算机控制的设备。在一些实施方式中,一个处理器可以作为主处理器进行操作并且控制调度和数据分布任务。处理器可以通过一个或多个机架交换机958进行互连,并且一个或多个机架可以通过交换机978进行互连。交换机978可以处理多个所连接计算设备900之间的通信。
每个机架可以包括诸如存储器954和964的存储器以及诸如956和966的存储件。存储件956和966可以提供大型存储件并且可以包括包括存储域网络或其它配置的设备的易失性或非易失性存储件,诸如网络附连磁盘、软盘、硬盘、光盘、磁带、闪速存储器或其它类似固态存储器设备,或者设备的阵列。存储件956或966可以在多个处理器、多个机架、或多个计算设备之间进行共享,并且可以包括存储能够由这些处理器中的一个或多个执行的指令的计算机可读介质。存储器954和964可以包括例如一个或多个易失性存储器单元、一个或多个非易失性存储器单元,和/或其它形式的计算机可读媒体,诸如磁盘或光盘、闪速存储器、高速缓存、随机访问存储器(RAM)、只读存储器(ROM)以及它们的组合。诸如存储器954的存储器还可以在处理器952a-952n之间进行共享。诸如索引的数据结构例如可以跨存储件956和存储器954进行存储。计算设备900可以包括并未示出的其它组件,诸如控制器、总线、输入/生成设备、通信模块等。
诸如系统100的整个系统可以由彼此通信的多个计算设备900构成。例如,设备980a可以与设备980b、980c和980d进行通信,并且这些可以被统称为系统100。作为另一个示例,图1的系统100可以包括一个或多个计算设备900。计算设备中的一些可以在地理上彼此接近地进行定位,而其它则可以在地理上远离定位。系统900的布局仅作为示例,并且该系统可以采用其它布局或配置。
根据本公开的某些方面,一种移动设备包括至少一个处理器以及存储指令的存储器,在该指令被该至少一个处理器执行时,使该移动设备执行操作。该操作包括识别由移动应用渲染的内容,该内容在会话期间被渲染,从该内容生成特征矢量以及确定该特征矢量并不与分类模型相匹配。该操作还包括响应于确定该特征矢量并不与分类模型相匹配而提供被配置为对该移动设备的用户进行认证的挑战。
这个和其它方面可以包括以下特征中的一个或多个。例如,该会话可以是第一会话,并且该挑战是基于不同于该第一会话的先前会话。在这样的实施方式中,该先前会话可以包括与该分类模型相匹配的特征矢量或者使用受信任位置所验证的特征矢量或者由先前挑战所验证的特征矢量。作为另一个示例,该挑战可以被配置为提示用户完成由该移动设备、从包括匹配该分类模型的特征矢量的先前会话中显示的屏幕中缺失的信息。作为另一个示例,提供该挑战能够包括从由该移动设备、在与该分类模型相匹配的所包括的特征矢量的先前会话中显示的屏幕的提取信息,并且基于所提取的信息生成多选问题。
作为另一个示例,该存储器可以进一步存储指令,在该指令被该至少一个处理器执行时,使该移动设备接收针对该挑战的响应,并且在该响应未能完成该挑战时锁定该移动设备。作为另一个示例,该挑战可以包括一系的列子挑战。作为另一个示例,该分类模型由在受信任位置发生的会话进行训练。会话可以包括在移动设备上捕捉的单个屏幕,在使用移动应用中的特定用户界面期间捕捉的屏幕,在时间窗口期间捕捉的屏幕,或者在使用移动应用期间捕捉的屏幕。
根据本公开的某些方面,一种方法可以包括确定移动设备位于受信任位置,从会话捕捉信息,该信息来自于在该会话期间由该移动设备上运行的移动应用渲染的内容,以及针对该会话生成特征矢量。该方法还包括重复该捕捉和确定直到训练标准被满足,以及使用所训练的分类模型认证该移动设备的用户。
这个和其它方面能够包括以下特征中的一个或多个。例如,该训练标准能够包括最低数量的会话或最低分类准确度。作为另一个示例,使用所训练的分类模型认证该用户可以包括基于由移动应用渲染的内容确定当前会话,针对该会话生成特征矢量,以及响应于确定该特征矢量并不与该分类模型相匹配而提供被配置为认证该移动设备的用户的挑战。在一些这样的实施方式中,该特征矢量可以在通过利用该分类模型评估该特征矢量生成的置信度评分未能满足阈值时并不可以与该分类模型相匹配。作为另一个示例,确定该移动设备位于受信任位置可以包括访问与该移动设备相关联的用户简档以确定受信任位置,以及确定该移动设备当前位于该受信任位置。在一些这样的实施方式中,该受信任位置可以由全球定位系统(GPS)坐标表示,并且该移动设备使用当前GPS坐标以确定该移动设备当前是否位于受信任位置,或者该受信任位置是由无线网络标识符来表示,并且该移动设备确定该移动设备连接的无线网络是否与该无线网络标识符相匹配。
根据本公开的某些方面,一种移动设备包括至少一个处理器以及存储指令的存储器,在该指令被该至少一个处理器执行时,使该移动设备执行操作。该操作可以包括识别由移动应用渲染的内容,该内容在会话期间被渲染,以及从该内容生成特征矢量。该操作还可以包括将该特征矢量应用到分类模型,基于该分类模型的应用而确定该特征矢量是否与第一用户简档相匹配,该第一用户简档不同于第二用户简档,该移动设备当前与该第二用户简档相匹配,以及响应于确定该特征矢量与该第一用户简档相匹配而发起简档切换。
这个和其它方面可以包括以下特征中的一个或多个。例如,该操作还可以包括确定该特征矢量不与用户简档相匹配并且提供被配置为对该移动设备的用户进行认证的挑战。作为另一个示例,该挑战可以是基于在与该第二用户简档相关联的先前会话期间渲染的第二内容,该第二内容与根据该分类模型与该第二用户简档相一致的特征矢量相关联。作为另一个示例,在该分类模型确定该第一用户简档关于该特征矢量、与该第二用户简档相比具有更高的置信度评分时,该挑战是基于在与该第一用户简档相关联的先前会话期间渲染的第二内容。作为另一个示例,确定该特征矢量是否与该第一用户简档相匹配在确定该特征矢量并不与该第二用户简档相匹配之后发生。
作为另一个示例,该操作还包括通过以下操作而对该分类模型进行训练:确定移动设备位于与该第二用户简档相关联的受信任环境中,识别由在该移动设备上运行的移动应用渲染的内容,该内容与生成针对该内容的特征矢量的会话相关联,重复识别和生成针对至少最小数量的会话,并且使用该特征矢量作为正示例来训练该分类模型,该正示例与该第二用户简档相关联。在一些这样的实施方式中,与该第一用户简档相关联的正示例在训练该分类模型中被使用作为针对该第二用户简档的负示例。该操作还可以包括对该分类模型进行训练直到达到最低分类准确度。
各种实施方式能够包括一个或多个计算机程序中的实施方式,该计算机程序能够在包括可以为专用或通用的至少一个可编程处理器处的可编程系统上执行和/或解释,该至少一个可编程处理器被耦合以从存储系统、至少一个输入设备、和至少一个输出设备接收数据和指令并且向它们发送数据和指令。
这些计算机程序(还被称作为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且能够以高级程序和/或面向对象编程语言来实施,和/或以汇编/机器语言来实施。如本文中使用的是,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何非暂时性计算机程序产品、装置和/或设备(例如,磁碟、光盘、存储器(包括读取访问存储器)、可编程逻辑设备(PLD))。
这里描述系统和技术能够被实施在计算系统中,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有用户能够利用其与这里描述的系统和技术的实施方式进行交互的图形用户界面或Web浏览器的客户端计算机),或者该计算系统包括这样的后端、中间件或前端组件的任何组合。该系统的组件能够通过数字数据通信(例如,通信网络)的任何形式或介质进行互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且典型地通过通信网络进行交互。客户端和服务器的关系凭借在响应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生。
已经描述了多种实施方式。然而,可以在不需要背离本发明的精神和范围的情况下进行各种修改。此外,附图中所描绘的逻辑流并不要求示出的特定顺序或连续顺序来实施所期望的结果。此外,可以提供其它步骤,或者可以从所描述的流中删除步骤,并且可以向所描述的系统添加其它组件或者从其移除组件。因此,其它实施方式处于以下权利要求的范围之内。
权利要求书(按照条约第19条的修改)
1.一种移动设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
识别由移动应用渲染的内容,所述内容在屏幕捕捉事件的会话期间被渲染;
从所述内容生成特征矢量;
确定所述特征矢量不与分类模型相匹配;以及
响应于确定所述特征矢量不与分类模型相匹配,提供被配置为对所述移动设备的用户进行认证的挑战。
2.根据权利要求1所述的移动设备,所述会话是屏幕捕捉事件的第一会话,并且所述挑战是基于与所述第一会话不同的屏幕捕捉事件的先前会话,所述先前会话包括与所述分类模型相匹配的特征矢量。
3.根据权利要求1所述的移动设备,所述会话是屏幕捕捉事件的第一会话,并且所述挑战是基于与所述第一会话不同的屏幕捕捉事件的先前会话,所述先前会话包括使用受信任位置验证的特征矢量。
4.根据权利要求1所述的移动设备,所述会话是屏幕捕捉事件的第一会话,并且所述挑战是基于与所述第一会话不同的屏幕捕捉事件的先前会话,所述先前会话包括通过先前挑战验证的特征矢量。
5.根据权利要求1所述的移动设备,其中,所述挑战被配置为提示用户完成从由所述移动设备在包括与所述分类模型相匹配的特征矢量的屏幕捕捉事件的先前会话中显示的屏幕缺失的信息。
6.根据权利要求1所述的移动设备,其中,提供所述挑战包括:
从由所述移动设备在包括与所述分类模型相匹配的特征矢量的屏幕捕捉事件的先前会话中显示的屏幕提取信息;以及
基于所提取的信息生成多项选择问题。
7.根据权利要求1所述的移动设备,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
接收对所述挑战的响应;以及
在所述响应未能完成所述挑战时锁定所述移动设备。
8.根据权利要求1所述的移动设备,其中,所述挑战包括一系列子挑战。
9.一种方法,包括:
确定移动设备位于受信任位置;
从屏幕捕捉事件的会话捕捉信息,所述信息来自于在所述会话期间由所述移动设备上运行的移动应用渲染的内容;
针对所述会话生成特征矢量;
重复所述捕捉和所述确定直到训练标准被满足;
使用所述特征矢量中的至少一些来训练分类模型;以及
使用所训练的分类模型对所述移动设备的用户进行认证。
10.根据权利要求9所述的方法,其中,所述训练标准包括最小数量的会话或最小分类准确度。
11.根据权利要求9所述的方法,其中,使用所训练的分类模型对所述用户进行认证包括:
基于在所述会话期间由移动应用渲染的内容来确定屏幕捕捉事件的当前会话;
针对所述当前会话生成特征矢量;以及
响应于确定所述特征矢量不与所述分类模型相匹配,提供被配置为对所述移动设备的用户进行认证的挑战。
12.根据权利要求9所述的方法,其中,确定所述移动设备位于受信任位置包括:
访问与所述移动设备相关联的用户简档,以确定受信任位置;以及
确定所述移动设备当前位于所述受信任位置。
13.根据权利要求12所述的方法,其中,所述受信任位置由全球定位系统(GPS)坐标表示,并且所述移动设备使用当前GPS坐标来确定所述移动设备当前是否位于所述受信任位置。
14.根据权利要求12所述的方法,其中,所述受信任位置由无线网络标识符表示,并且所述移动设备确定所述移动设备所连接到的无线网络是否与所述无线网络标识符相匹配。
15.一种移动设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
识别由移动应用渲染的内容,所述内容在屏幕捕捉事件的会话期间被渲染;
从所述内容生成特征矢量;
将分类模型应用到所述特征矢量;
基于所述分类模型的应用来确定所述特征矢量是否与第一用户简档相匹配,所述第一用户简档与第二用户简档不同,所述移动设备当前与所述第二用户简档相匹配;以及
响应于确定所述特征矢量与所述第一用户简档相匹配,发起简档切换。
16.根据权利要求15所述的移动设备,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
确定所述特征矢量不与用户简档相匹配;以及
提供被配置为对所述移动设备的用户进行认证的挑战。
17.根据权利要求16所述的移动设备,其中,所述挑战是基于在与所述第二用户简档相关联的先前会话期间渲染的第二内容,所述第二内容与根据所述分类模型与所述第二用户简档相一致的特征矢量相关联。
18.根据权利要求16所述的移动设备,其中,在所述分类模型确定所述第一用户简档与所述第二用户简档相比关于所述特征矢量具有更高的置信度评分时,所述挑战是基于在与所述第一用户简档相关联的先前会话期间渲染的第二内容。
19.根据权利要求15所述的移动设备,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得所述移动设备通过以下对所述分类模型进行训练:
确定移动设备位于与所述第二用户简档相关联的受信任环境中;
识别由在所述移动设备上运行的移动应用渲染的内容,所述内容在屏幕捕捉事件的会话期间被渲染;
针对所述内容生成特征矢量;
针对至少最小数量的会话重复所述识别和所述生成;以及
使用所述特征矢量作为正示例来训练所述分类模型,所述正示例与所述第二用户简档相关联。
20.根据权利要求19所述的移动设备,其中,与所述第一用户简档相关联的正示例在训练所述分类模型中被用作针对所述第二用户简档的负示例。

Claims (20)

1.一种移动设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
识别由移动应用渲染的内容,所述内容在会话期间被渲染;
从所述内容生成特征矢量;
确定所述特征矢量不与分类模型相匹配;以及
响应于确定所述特征矢量不与分类模型相匹配,提供被配置为对所述移动设备的用户进行认证的挑战。
2.根据权利要求1所述的移动设备,所述会话是第一会话,并且所述挑战是基于与所述第一会话不同的先前会话,所述先前会话包括与所述分类模型相匹配的特征矢量。
3.根据权利要求1所述的移动设备,所述会话是第一会话,并且所述挑战是基于与所述第一会话不同的先前会话,所述先前会话包括使用受信任位置验证的特征矢量。
4.根据权利要求1所述的移动设备,所述会话是第一会话,并且所述挑战是基于与所述第一会话不同的先前会话,所述先前会话包括通过先前挑战验证的特征矢量。
5.根据权利要求1所述的移动设备,其中,所述挑战被配置为提示用户完成从由所述移动设备在包括与所述分类模型相匹配的特征矢量的先前会话中显示的屏幕缺失的信息。
6.根据权利要求1所述的移动设备,其中,提供所述挑战包括:
从由所述移动设备在包括与所述分类模型相匹配的特征矢量的先前会话中显示的屏幕提取信息;以及
基于所提取的信息生成多项选择问题。
7.根据权利要求1所述的移动设备,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
接收对所述挑战的响应;以及
在所述响应未能完成所述挑战时锁定所述移动设备。
8.根据权利要求1所述的移动设备,其中,所述挑战包括一系列子挑战。
9.一种方法,包括:
确定移动设备位于受信任位置;
从会话捕捉信息,所述信息来自于在所述会话期间由所述移动设备上运行的移动应用渲染的内容;
针对所述会话生成特征矢量;
重复所述捕捉和所述确定直到训练标准被满足;
使用所述特征矢量中的至少一些来训练分类模型;以及
使用所训练的分类模型对所述移动设备的用户进行认证。
10.根据权利要求9所述的方法,其中,所述训练标准包括最小数量的会话或最小分类准确度。
11.根据权利要求9所述的方法,其中,使用所训练的分类模型对所述用户进行认证包括:
基于由移动应用渲染的内容来确定当前会话;
针对所述会话生成特征矢量;以及
响应于确定所述特征矢量不与所述分类模型相匹配,提供被配置为对所述移动设备的用户进行认证的挑战。
12.根据权利要求9所述的方法,其中,确定所述移动设备位于受信任位置包括:
访问与所述移动设备相关联的用户简档,以确定受信任位置;以及
确定所述移动设备当前位于所述受信任位置。
13.根据权利要求12所述的方法,其中,所述受信任位置由全球定位系统(GPS)坐标表示,并且所述移动设备使用当前GPS坐标来确定所述移动设备当前是否位于所述受信任位置。
14.根据权利要求12所述的方法,其中,所述受信任位置由无线网络标识符表示,并且所述移动设备确定所述移动设备所连接到的无线网络是否与所述无线网络标识符相匹配。
15.一种移动设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
识别由移动应用渲染的内容,所述内容在会话期间被渲染;
从所述内容生成特征矢量;
将分类模型应用到所述特征矢量;
基于所述分类模型的应用来确定所述特征矢量是否与第一用户简档相匹配,所述第一用户简档与第二用户简档不同,所述移动设备当前与所述第二用户简档相匹配;以及
响应于确定所述特征矢量与所述第一用户简档相匹配,发起简档切换。
16.根据权利要求15所述的移动设备,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使所述移动设备:
确定所述特征矢量不与用户简档相匹配;以及
提供被配置为对所述移动设备的用户进行认证的挑战。
17.根据权利要求16所述的移动设备,其中,所述挑战是基于在与所述第二用户简档相关联的先前会话期间渲染的第二内容,所述第二内容与根据所述分类模型与所述第二用户简档相一致的特征矢量相关联。
18.根据权利要求16所述的移动设备,其中,在所述分类模型确定所述第一用户简档与所述第二用户简档相比关于所述特征矢量具有更高的置信度评分时,所述挑战是基于在与所述第一用户简档相关联的先前会话期间渲染的第二内容。
19.根据权利要求15所述的移动设备,其中,所述存储器进一步存储指令,所述指令在被所述至少一个处理器执行时使得所述移动设备通过以下对所述分类模型进行训练:
确定移动设备位于与所述第二用户简档相关联的受信任环境中;
识别由在所述移动设备上运行的移动应用渲染的内容,所述内容与会话相关联;
针对所述内容生成特征矢量;
针对至少最小数量的会话重复所述识别和所述生成;以及
使用所述特征矢量作为正示例来训练所述分类模型,所述正示例与所述第二用户简档相关联。
20.根据权利要求19所述的移动设备,其中,与所述第一用户简档相关联的正示例在训练所述分类模型中被用作针对所述第二用户简档的负示例。
CN201680019373.0A 2015-06-15 2016-06-13 基于屏幕分析的设备安全性 Active CN107438845B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011567283.XA CN112861139A (zh) 2015-06-15 2016-06-13 基于屏幕分析的设备安全性

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/739,107 2015-06-15
US14/739,107 US10078803B2 (en) 2015-06-15 2015-06-15 Screen-analysis based device security
PCT/US2016/037210 WO2016205121A1 (en) 2015-06-15 2016-06-13 Screen-analysis based device security

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011567283.XA Division CN112861139A (zh) 2015-06-15 2016-06-13 基于屏幕分析的设备安全性

Publications (2)

Publication Number Publication Date
CN107438845A true CN107438845A (zh) 2017-12-05
CN107438845B CN107438845B (zh) 2021-01-01

Family

ID=56297104

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680019373.0A Active CN107438845B (zh) 2015-06-15 2016-06-13 基于屏幕分析的设备安全性
CN202011567283.XA Pending CN112861139A (zh) 2015-06-15 2016-06-13 基于屏幕分析的设备安全性

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202011567283.XA Pending CN112861139A (zh) 2015-06-15 2016-06-13 基于屏幕分析的设备安全性

Country Status (8)

Country Link
US (4) US10078803B2 (zh)
EP (2) EP3806514B1 (zh)
JP (1) JP6441502B2 (zh)
KR (1) KR101922196B1 (zh)
CN (2) CN107438845B (zh)
DE (1) DE112016002708T5 (zh)
GB (1) GB2552435A (zh)
WO (1) WO2016205121A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595047A (zh) * 2018-04-20 2018-09-28 北京硬壳科技有限公司 触控物识别方法及装置
CN111052708A (zh) * 2018-06-15 2020-04-21 微软技术许可有限责任公司 识别电子设备的异常使用
CN112801847A (zh) * 2021-04-06 2021-05-14 王可 一种可实现海量聊天大数据图片安全方法

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078803B2 (en) 2015-06-15 2018-09-18 Google Llc Screen-analysis based device security
EP3369034B1 (en) * 2015-10-26 2023-07-05 RealD Spark, LLC Intelligent privacy system, apparatus, and method thereof
US10007963B2 (en) * 2015-11-10 2018-06-26 International Business Machines Corporation Context-based provision of screenshot modifications
US10476922B2 (en) * 2015-12-16 2019-11-12 Disney Enterprises, Inc. Multi-deterministic dynamic linear content streaming
US10015189B2 (en) * 2016-02-09 2018-07-03 International Business Machine Corporation Detecting and predicting cyber-attack phases in adjacent data processing environment regions
US10091904B2 (en) * 2016-07-22 2018-10-02 Intel Corporation Storage sled for data center
US11196541B2 (en) * 2017-01-20 2021-12-07 Enveil, Inc. Secure machine learning analytics using homomorphic encryption
US11777729B2 (en) 2017-01-20 2023-10-03 Enveil, Inc. Secure analytics using term generation and homomorphic encryption
US10592554B1 (en) * 2017-04-03 2020-03-17 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for parallelized data structure processing
US10862681B2 (en) * 2017-04-04 2020-12-08 Microsoft Technology Licensing, Llc Optimized sign out for single account services
US10716021B1 (en) * 2018-07-19 2020-07-14 Sprint Communications Company L.P. Minimization of drive test (MDT) data donor device selection
US10715471B2 (en) * 2018-08-22 2020-07-14 Synchronoss Technologies, Inc. System and method for proof-of-work based on hash mining for reducing spam attacks
KR20200024602A (ko) * 2018-08-28 2020-03-09 삼성전자주식회사 사용자 단말의 학습 방법 및 장치
TWI691836B (zh) * 2018-11-20 2020-04-21 神雲科技股份有限公司 基本輸入輸出系統的開機階段辨識方法
US11003947B2 (en) * 2019-02-25 2021-05-11 Fair Isaac Corporation Density based confidence measures of neural networks for reliable predictions
US20220100829A1 (en) * 2019-03-07 2022-03-31 British Telecommunications Public Limited Company Multi-level classifier based access control
US20220156351A1 (en) * 2019-03-07 2022-05-19 British Telecommunications Public Limited Company Access control
WO2020178210A1 (en) * 2019-03-07 2020-09-10 British Telecommunications Public Limited Company Behavioural access control
US20220164422A1 (en) * 2019-03-07 2022-05-26 British Telecommunications Public Limited Company Access control classifier training
US11641368B1 (en) * 2019-06-24 2023-05-02 Snap Inc. Machine learning powered authentication challenges
US11620570B2 (en) * 2019-06-24 2023-04-04 Kyndkyl, Inc. Self-learning ontology-based cognitive assignment engine
WO2021016484A1 (en) * 2019-07-25 2021-01-28 Apple Inc. Machine-learning based gesture recognition
CN111353149A (zh) * 2020-02-20 2020-06-30 广东天波信息技术股份有限公司 一种安卓系统的root权限实时检测方法及装置
US11809151B1 (en) 2020-03-27 2023-11-07 Amazon Technologies, Inc. Activity-based device recommendations
US20220286438A1 (en) * 2021-03-08 2022-09-08 Adobe Inc. Machine learning techniques for mitigating aggregate exposure of identifying information
GB2617154A (en) * 2022-03-31 2023-10-04 Sony Group Corp Data processing apparatus and method
US11947682B2 (en) * 2022-07-07 2024-04-02 Netskope, Inc. ML-based encrypted file classification for identifying encrypted data movement

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101405743A (zh) * 2006-04-10 2009-04-08 国际商业机器公司 用户浏览器交互分析认证系统
US20090328175A1 (en) * 2008-06-24 2009-12-31 Gary Stephen Shuster Identity verification via selection of sensible output from recorded digital data
US20130042327A1 (en) * 2011-08-12 2013-02-14 Palo Alto Research Center Incorporated Guided implicit authentication
CN103530543A (zh) * 2013-10-30 2014-01-22 无锡赛思汇智科技有限公司 一种基于行为特征的用户识别方法及系统
CN103533546A (zh) * 2013-10-29 2014-01-22 无锡赛思汇智科技有限公司 基于多维度行为特征的隐式用户验证及隐私保护方法
US20140283014A1 (en) * 2013-03-15 2014-09-18 Xerox Corporation User identity detection and authentication using usage patterns and facial recognition factors
US20140337243A1 (en) * 2012-04-17 2014-11-13 Zighra Inc. Context-dependent authentication system, method and device
CN104765995A (zh) * 2015-04-24 2015-07-08 福建师范大学 基于触屏操作的智能设备身份认证方法及客户端

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100843450B1 (ko) * 2001-01-17 2008-07-03 콘텐트가드 홀딩즈 인코포레이티드 표준 렌더링엔진을 사용하는 디지털권 관리를 위한 시스템및 방법
US7162522B2 (en) 2001-11-02 2007-01-09 Xerox Corporation User profile classification by web usage analysis
US7797454B2 (en) * 2004-02-13 2010-09-14 Hewlett-Packard Development Company, L.P. Media data transcoding devices
US20060179410A1 (en) * 2005-02-07 2006-08-10 Nokia Corporation Terminal, method, server, and computer program product for switching buddy lists based on user profile
US8027876B2 (en) * 2005-08-08 2011-09-27 Yoogli, Inc. Online advertising valuation apparatus and method
US20070168379A1 (en) 2006-01-17 2007-07-19 Patel Sushma B Method and apparatus for cataloging screen shots of a program
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US20100169176A1 (en) * 2006-09-14 2010-07-01 Bhavin Turakhia Method for tracking user behavior and to display advertisements
JP2008084125A (ja) * 2006-09-28 2008-04-10 Toshiba Corp 情報処理装置
US20080083040A1 (en) * 2006-09-29 2008-04-03 Microsoft Corporation Aggregated resource license
US8214367B2 (en) 2007-02-27 2012-07-03 The Trustees Of Columbia University In The City Of New York Systems, methods, means, and media for recording, searching, and outputting display information
US20090031227A1 (en) * 2007-07-27 2009-01-29 International Business Machines Corporation Intelligent screen capture and interactive display tool
CN101802834A (zh) * 2007-09-10 2010-08-11 日本电气株式会社 终端设备认证方法、终端设备和程序
TW200930026A (en) * 2007-12-31 2009-07-01 High Tech Comp Corp Method switching profiles in a mobile device
US20090216563A1 (en) * 2008-02-25 2009-08-27 Michael Sandoval Electronic profile development, storage, use and systems for taking action based thereon
US8281166B2 (en) * 2008-03-10 2012-10-02 Virdiem Corporation System and method for computer power control
US20090253455A1 (en) * 2008-04-07 2009-10-08 Jing-Kuang Huang Method for automatically switching operation profiles on a mobile device and system thereof
US9489503B2 (en) * 2009-12-21 2016-11-08 Paypal, Inc. Behavioral stochastic authentication (BSA)
US8352386B2 (en) 2009-07-02 2013-01-08 International Business Machines Corporation Identifying training documents for a content classifier
US8571319B2 (en) 2009-07-28 2013-10-29 International Business Machines Corporation Enhanced screen capture for form manipulation
US20110128288A1 (en) 2009-12-02 2011-06-02 David Petrou Region of Interest Selector for Visual Queries
US9405772B2 (en) 2009-12-02 2016-08-02 Google Inc. Actionable search results for street view visual queries
WO2011163481A2 (en) * 2010-06-23 2011-12-29 Hillcrest Laboratories Inc. Television sign on for personalization in a multi-user environment
US8468110B1 (en) 2010-07-22 2013-06-18 Intuit Inc. Real-time user behavior prediction
US20120083294A1 (en) 2010-09-30 2012-04-05 Apple Inc. Integrated image detection and contextual commands
AU2011336445B2 (en) 2010-12-01 2017-04-13 Google Llc Identifying matching canonical documents in response to a visual query
US9372979B2 (en) * 2011-01-07 2016-06-21 Geoff Klein Methods, devices, and systems for unobtrusive mobile device user recognition
JP2012203820A (ja) * 2011-03-28 2012-10-22 Nec Corp 認証システムおよび認証方法
US8588749B1 (en) * 2011-09-01 2013-11-19 Cellco Partnership Data segmentation profiles
EP2579588B1 (en) * 2011-10-04 2019-12-04 Ricoh Company, Ltd. Collaborative meeting systems that enable parallel multi-user input to mark up screens
WO2013052866A2 (en) 2011-10-05 2013-04-11 Google Inc. Semantic selection and purpose facilitation
EP2587745A1 (en) 2011-10-26 2013-05-01 Swisscom AG A method and system of obtaining contact information for a person or an entity
US8984591B2 (en) * 2011-12-16 2015-03-17 Telecommunications Systems, Inc. Authentication via motion of wireless device movement
US9185095B1 (en) * 2012-03-20 2015-11-10 United Services Automobile Association (Usaa) Behavioral profiling method and system to authenticate a user
US8811727B2 (en) 2012-06-15 2014-08-19 Moataz A. Rashad Mohamed Methods for efficient classifier training for accurate object recognition in images and video
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US9147058B2 (en) 2012-10-12 2015-09-29 Apple Inc. Gesture entry techniques
US8978111B2 (en) * 2012-12-21 2015-03-10 Ebay, Inc. Method and apparatus for using sensors on a portable electronic device to verify transactions
US10296487B2 (en) * 2013-03-15 2019-05-21 The Directv Group, Inc. Method and system for operating user receiving devices with user profiles
US9590966B2 (en) * 2013-03-15 2017-03-07 Intel Corporation Reducing authentication confidence over time based on user history
US9207772B2 (en) * 2013-05-13 2015-12-08 Ohio University Motion-based identity authentication of an individual with a communications device
US20140372430A1 (en) * 2013-06-14 2014-12-18 Microsoft Corporation Automatic audience detection for modifying user profiles and making group recommendations
US9558347B2 (en) * 2013-08-27 2017-01-31 Globalfoundries Inc. Detecting anomalous user behavior using generative models of user actions
US8928587B1 (en) * 2013-11-25 2015-01-06 Google Inc. Automatic device login based on wearable sensor fusion
US9405377B2 (en) * 2014-03-15 2016-08-02 Microsoft Technology Licensing, Llc Trainable sensor-based gesture recognition
US9244748B2 (en) * 2014-06-04 2016-01-26 International Business Machines Corporation Operating system user activity profiles
US9582482B1 (en) 2014-07-11 2017-02-28 Google Inc. Providing an annotation linking related entities in onscreen content
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9628477B2 (en) * 2014-12-23 2017-04-18 Intel Corporation User profile selection using contextual authentication
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US10078803B2 (en) 2015-06-15 2018-09-18 Google Llc Screen-analysis based device security
US20220147602A1 (en) * 2018-03-07 2022-05-12 Private Identity Llc System and methods for implementing private identity
US10565229B2 (en) * 2018-05-24 2020-02-18 People.ai, Inc. Systems and methods for matching electronic activities directly to record objects of systems of record
US11720546B2 (en) * 2019-05-22 2023-08-08 People.ai, Inc. Systems and methods for determining a communication channel based on a status of a node profile determined using electronic activities

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101405743A (zh) * 2006-04-10 2009-04-08 国际商业机器公司 用户浏览器交互分析认证系统
US20090328175A1 (en) * 2008-06-24 2009-12-31 Gary Stephen Shuster Identity verification via selection of sensible output from recorded digital data
US20130042327A1 (en) * 2011-08-12 2013-02-14 Palo Alto Research Center Incorporated Guided implicit authentication
US20140337243A1 (en) * 2012-04-17 2014-11-13 Zighra Inc. Context-dependent authentication system, method and device
US20140283014A1 (en) * 2013-03-15 2014-09-18 Xerox Corporation User identity detection and authentication using usage patterns and facial recognition factors
CN103533546A (zh) * 2013-10-29 2014-01-22 无锡赛思汇智科技有限公司 基于多维度行为特征的隐式用户验证及隐私保护方法
CN103530543A (zh) * 2013-10-30 2014-01-22 无锡赛思汇智科技有限公司 一种基于行为特征的用户识别方法及系统
CN104765995A (zh) * 2015-04-24 2015-07-08 福建师范大学 基于触屏操作的智能设备身份认证方法及客户端

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595047A (zh) * 2018-04-20 2018-09-28 北京硬壳科技有限公司 触控物识别方法及装置
CN111052708A (zh) * 2018-06-15 2020-04-21 微软技术许可有限责任公司 识别电子设备的异常使用
CN111052708B (zh) * 2018-06-15 2022-10-14 微软技术许可有限责任公司 识别电子设备的异常使用
CN112801847A (zh) * 2021-04-06 2021-05-14 王可 一种可实现海量聊天大数据图片安全方法

Also Published As

Publication number Publication date
EP3806514A1 (en) 2021-04-14
CN107438845B (zh) 2021-01-01
US20230156000A1 (en) 2023-05-18
US20190019110A1 (en) 2019-01-17
CN112861139A (zh) 2021-05-28
GB2552435A (en) 2018-01-24
US20210019660A1 (en) 2021-01-21
US20160366126A1 (en) 2016-12-15
GB201714990D0 (en) 2017-11-01
KR101922196B1 (ko) 2019-02-20
EP3259931A1 (en) 2017-12-27
EP3806514A8 (en) 2021-05-26
JP2018513471A (ja) 2018-05-24
DE112016002708T5 (de) 2018-03-01
WO2016205121A1 (en) 2016-12-22
EP3259931B1 (en) 2020-11-04
EP3806514B1 (en) 2023-02-15
US10803408B2 (en) 2020-10-13
JP6441502B2 (ja) 2018-12-19
US10078803B2 (en) 2018-09-18
KR20170123672A (ko) 2017-11-08
US11558368B2 (en) 2023-01-17

Similar Documents

Publication Publication Date Title
CN107438845A (zh) 基于屏幕分析的设备安全性
CN104303538B (zh) 使用签名高速缓冲存储器来最小化行为分析的时延
CN105144156B (zh) 将元数据与个人图像集合中的图像相关联
CN101329781B (zh) 具有规则引擎架构的访问控制系统
US10963545B2 (en) Authentication via typing cadence, gestures, and QR codes
CN109416721A (zh) 隐私保护机器学习
Cai et al. The latent community model for detecting sybil attacks in social networks
CN110956262A (zh) 超网络训练方法及装置、电子设备、存储介质
EP3295329A1 (en) Modeling personal entities
EP3042338B1 (en) World-driven access control
Vinciarelli et al. More personality in personality computing
CN108875582A (zh) 身份验证方法、装置、设备、存储介质及程序
US20180314956A1 (en) Dynamically inferred expertise
Cesario et al. Following soccer fans from geotagged tweets at fifa world cup 2014
US11552985B2 (en) Method for predicting events using a joint representation of different feature types
Ganiron Jr et al. Development of an online crime management & reporting system
CN114390011A (zh) 一种消息处理方法、装置以及可读存储介质
Kumari et al. Machine learning approach for text classification in cybercrime
US20230185436A1 (en) Generating presentation information associated with one or more objects depicted in image data for display via a graphical user interface
JP7094836B2 (ja) チェック支援装置、チェック支援方法およびチェック支援プログラム
JP6159782B2 (ja) 情報処理装置の制御方法、情報処理装置および制御プログラム並びに端末の制御方法および端末制御プログラム
WO2019012489A1 (en) APPARATUS FOR ANALYZING MOOD
CN109241122A (zh) 信息获取方法及装置
US20160117399A1 (en) Need to know search results
CN106503081B (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
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant