CN105723379B - 促进安全屏幕输入的方法和装置 - Google Patents
促进安全屏幕输入的方法和装置 Download PDFInfo
- Publication number
- CN105723379B CN105723379B CN201380081121.7A CN201380081121A CN105723379B CN 105723379 B CN105723379 B CN 105723379B CN 201380081121 A CN201380081121 A CN 201380081121A CN 105723379 B CN105723379 B CN 105723379B
- Authority
- CN
- China
- Prior art keywords
- ordinal number
- exemplary
- typing
- value
- number typing
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了促进安全屏幕输入的方法、装置、系统和制品。示例公开的系统包括:用户接口(UI)管理器,用以生成包括一些序数录入点的UI,所述一些序数录入点中的每一个包括重复可选模式;序数序列生成器,用以生成所述一些序数录入点的初始随机化组合,所述随机化组合存储在受信任的执行环境中;以及偏移计算器,用以通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值。
Description
技术领域
本公开一般涉及设备安全,并且更特别地,涉及促进安全屏幕输入的方法和装置。
背景技术
近年来,个人可标识信息(PII)已经处于攻击者的攻击之下。PII参与计算设备使用的许多方面并且允许计算设备的相关联的用户访问一个或多个服务(例如电子邮件服务、银行业服务等)。为了获得和/或以其它方式窃取PII,攻击者采用驻留在计算设备上的恶意软件来监视一个或多个输入设备,诸如键盘和/或键盘触摸屏接口。
附图说明
图1A是已知的未经修改的键区(keypad)接口的图示。
图1B是经修改的键区接口的图示。
图2A、2B和3A是依照本公开的教导所构造的转鼓显示的示例。
图3B、6C和7B是依照本公开的教导所构造的示例性转化映射(translation map)的图示。
图4是依照本公开的教导所构造的具有受信任的执行环境的示例性平台的示意性图示。
图5是由图4的示例性受信任的执行环境生成以促进安全屏幕输入的示例性转鼓显示。
图6A和6B是由图4的示例性受信任的执行环境生成以促进安全屏幕输入的闭环圆形形状用户接口的示例。
图7A是由图4的示例性受信任的执行环境生成以促进安全屏幕输入的示例性转动的径向(radial)用户接口。
图8和9是表示可以被执行以促进安全屏幕输入的示例性机器可读指令的流程图。
图10是可以执行图8和9的指令以实现图4的示例性受信任的执行环境的示例性处理器平台的示意性图示。
具体实施方式
恶意软件可能具有一个或多个机会来变成驻留在计算设备上,所述计算设备诸如家用个人计算机(PC)、平板设备、智能电话和/或任何其它类型的计算设备。一旦这样的恶意软件驻留在计算设备上,它就可以监听和/或以其它方式监视计算设备的输入设备(例如键盘敲击、鼠标移动、触摸屏定位和定时信息等)。个人可标识信息(PII)可以由恶意软件基于例如由计算设备的用户所录入的键击(其可能揭示口令信息、口令提示信息、社会保险号和/或个人标识号(PIN))而发现和/或以其它方式窃取。
为了抵御恶意软件对键击和/或按钮按压的监视,可以使用受保护的视频帧缓冲器,其防止这样的恶意软件从显示器上的录入控件的(一个或多个)位置中获得有用认知。在一些示例中,隔离的执行环境创建用于私密帧缓冲器的内容并且将用户输入(例如按钮按压、手指按压、手指手势等)与有意义且私密的动作相互关联。例如,隔离的执行环境可以生成具有随机化值的按钮板(pad)。在图1A的所图示示例中,未经修改的键区100包括以顺序次序的数字坐标,其反映与典型地存在于键盘、电话拨号盘和/或触摸屏用户接口(UI)上的数字键区一致的次序。另一方面,图1B包括具有以随机化次序的数字坐标的示例性经修改的键区102。例如,当图1A的示例性的典型未经修改的键区100包括被标示为“1”、“2”和“3”的三个顺序数字坐标的第一行104时,图1B的示例性经修改的键区102包括具有被标示为“9”、“3”和“5”的随机坐标的第一行106。
当计算设备的用户按压图1B的经修改的键区102的一个或多个坐标时,这样的输入经由存储在受信任的环境中的映射表而关联回到秘密值(例如PIN)。因而,即使恶意软件已经感染了示例性平台400并且恶意软件能够确定与顶部行106上的“9”相关联的坐标(其为传统上与数字值“1”相关联的坐标位置)的按键,恶意软件也将不能够对相关联的数字值进行关联,因为查找表存储在受信任的环境内。尽管图1B的示例性经修改的键区102随机化了坐标布局并且将对应的查找表存储在受信任的环境中,但是随机化键区对于用户而言不是最优的,部分地因为随机化移除用户从用户接口所预期的肌肉记忆优势和偏好。此外,原始设备制造商(OEM)基于负面的用户体验和反馈而时常拒绝在无人式设备(例如自动柜员机(ATM))上并入随机化的键盘。
本文所公开的示例性方法、系统、装置和/或制品促进如相比于随机化键盘的相对快速且直观的用户接口,所述用户接口保持用户肌肉记忆偏好。本文所公开的示例以允许用户按钮按压、点击和/或手势比否则利用随机化键盘将可能的更快地发生的方式并入随机化。特别地,本文所公开的示例生成转鼓用户接口和/或转盘用户接口。
在图2A的所图示示例中,第一转鼓显示200包括第一序数(ordinal)鼓202、第二序数鼓204、第三序数鼓206以及第四序数鼓208(在本文中共同称为“录入点”或“序数录入点”)。示例性转鼓显示200的每一个序数鼓可以邻近于另一序数鼓以创建一系列转鼓。每一个序数鼓可以表示口令的一个数位,并且可以响应于用户输入而向上或向下转动。第一转鼓显示200以类似于行李箱组合锁或自动贩卖机的方式显现和操作。例如,如果在其上显示第一转鼓的触摸屏的用户以向上的方向触摸第一序数鼓202,则结果将是序数值的对应增加(例如值“2”将增加至值“3”)。另一方面,如果其上显示第一转鼓的触摸屏的用户以向下的方向触摸第一序数鼓202,则结果将是序数值的对应减小(例如值“2”将减小至值“1”)。
在图2B的所图示示例中,第二转鼓显示250包括第一序数鼓252、第二序数鼓254、第三序数鼓256和第四序数鼓258。示例性的第二转鼓显示250的每一个序数鼓可以响应于对应向上选择器260或对应向下选择器262的选择而向上或向下转动。例如,如果其上显示第二转鼓的触摸屏的用户触摸对应于第一序数鼓252的向上选择器260,则结果将是序数值的对应增加(例如值“2”将增加至值“3”)。另一方面,如果其上显示第二转鼓的触摸屏的用户触摸对应于第一序数鼓252的向下选择器262,则结果将是序数值的对应减小(例如值“2”将减小至值“1”)。
虽然图2A的所图示的示例性第一转鼓显示200在第一序数鼓202、第二序数鼓204、第三序数鼓206和第四序数鼓208中的每一个中图示了数字值,但是可以使用任何其它的字母数字字符和/或符号。类似地,虽然图2B的所图示的示例性第二转鼓显示250在第一序数鼓252、第二序数鼓254、第三序数鼓256和第四序数鼓258中的每一个中图示了数字值,但是可以使用任何其它的字母数字字符和/或符号。如本文所使用的,术语“(一个或多个)序数鼓”一般是指来自示例性第一转鼓显示200和/或示例性第二转鼓显示250的四(4)个序数鼓中的一个或多个。此外,每个鼓包括当鼓转动时重复的有限量的单独值,无论这样的值是数字、字母和/或符号。当用户达到具有有限量的单独值中的最后一个的转鼓的结尾时,这样的值的序列重复。换言之,序数鼓可以在单个方向上(例如向上)无限地转动以循环通过全部量的单独值的显示。
序数鼓(例如第一序数鼓202、第二序数鼓204等)中的每一个可以具有相同的单独值集合。例如,第一转鼓显示200的第一序数鼓202包括范围从零“0”到九“9”(数字上连续的系列)的十(10)个单独值。类似地,示例性第一转鼓显示200的第二序数鼓204和所有其它的(一个或多个)鼓包括范围从零“0”到九“9”的十(10)个单独值。然而,在其它示例中,示例性第一(和/或第二)转鼓显示200的每个鼓包括不同量、次序和/或类型的单独值。例如,第一序数鼓202包括范围从零“0”到九“9”的十(10)个单独值,并且第二序数鼓204包括范围从小写字母“a”到小写字母“z”的二十六(26)个单独值,并且第三序数鼓206包括范围从零“0”到九“9”以及大写“A”到大写“Z”的三十六(36)个单独值,并且第四序数鼓208包括百分比符号“%”、美元符号“$”、井号“#”、和号“&”和星号“*”的五个符号。值和/或值的量的任何其它组合可以由本文所公开的示例性方法、系统、装置和/或制品实现。
虽然以上公开的所图示的示例包括第一转鼓显示200和第二转鼓显示250,但是以下操作方式为了简洁而非限制而将聚焦于第一转鼓显示200。为了促进相对于传统随机化键区的私密性改进,而同时维持与肌肉记忆相关联的用户效率益处,本文所公开的示例性方法、装置、系统和/或制品在最初使用时随机化示例性第一转鼓显示200的转盘(初始随机化的组合),其被示为图2B的第二转鼓显示250。当鼓序数转动时,零值之后将跟随值一“1”,其之后将跟随值二“2”,以此类推。以此方式,即使最初以随机次序显示序数值,用户也将立即变得熟悉以哪个方向转动鼓以获得所期望的值。作为对比,图1B的示例性经修改的键区102也向用户提供随机化的键,但是取向不太直观,因为示例性经修改的键区102不反映任何顺序模式以用于迅速的熟悉。在以随机化的定位设置了拨盘的定位之后,每个拨盘定位的索引被存储在受信任的环境的转化映射中。在用户选择一个拨盘来改变定位之后,向受信任的环境发送增量值和对应的方向指示使得可以计算每个鼓的最终定位。
在图3A的所图示示例中,转鼓显示300包括第一序数鼓302、第二序数鼓304、第三序数鼓306和第四序数鼓308。不同于图2A的所图示示例(其中每一个序数定位具有设置成“2”的值),示例性转鼓显示300包括针对每一个序数定位的值的随机设置。特别地,示例性转鼓显示300具有初始随机值“2385”。在计算设备的用户变更示例性第一序数鼓302的情况下(例如通过以向上的方向划刷手指,通过在鼓302上方的区中点击鼠标指示符,通过使鼠标指示符在鼓302之上以向上方向划刷等),则偏移值和方向被发送到受信任的环境和/或以其它方式由受信任的环境检索以计算针对第一序数鼓302的值。例如,如果用户以向上的方向划刷两次,则受信任的环境接收偏移值二(2)和“向上”的方向指示符。受信任的环境将所接收到的偏移值和方向指示符应用于针对第一序数鼓的初始随机值以计算结果四(4),其表示向初始随机值二(2)加二。在另一示例中,如果用户以向下的方向划刷三次,则受信任的环境接收偏移值三(3)和“向下”的方向指示符。受信任的环境应用所接收到的偏移值三(3)并且将其从初始随机值二(2)中减去。作为结果,示例性第一序数鼓302的结束值为九(9)(例如,以上示例假定具有顺序整数零直到九的鼓,其中整数九绕回以在零处再次开始)。
图3B图示了示例性转化映射350,其包括序数定位列352、原始值列354、偏移列356、方向列358和结果列360。示例性序数定位列352包括与示例性第一序数鼓302相关联的第一行362、与示例性第二序数鼓304相关联的第二行364、与示例性第三序数鼓306相关联的第三行366以及与示例性第四序数鼓308相关联的第四行368。继续以上的示例,图3A的示例性转鼓显示300被调用来用于用户交互,其具有每一个转鼓上的值的随机化序列(即2385),所述随机化序列在示例性转化映射350中被示出在原始值列354中。在图3A和3B的所图示示例中的示例性原始值“2385”可以由受信任的执行环境内的随机数生成器生成和/或任何其它原始值可以由经授权的人员选择和/或以其它方式设置。为了示例的缘故,假定用户通过以向下的方向划刷三次来与示例性第一序数鼓302交互。作为结果,图3B的示例性转化映射350在示例性偏移列356中被填充有偏移值三(3),并且在示例性方向列358中被填充有递减指示符(例如减号“-”)。为了揭示用户动作的结果,受信任的执行环境从原始值中减去三个定位,并且将结果存储在示例性结果列360中。换言之,由于示例性第一序数鼓302具有整数值“0,1,2,3,4,5,6,7,8,9”的序列,于是从起始定位二“2”向下三个序数定位导致九“9”,因为每一个鼓以轮转和/或另外的转动方式重复。
图4图示了促进安全屏幕输入的示例性平台400。在图4的所图示示例中,平台400包括通信地连接到操作系统(OS)404和受信任的执行环境(TEE)406的用户接口402。示例性TEE 406与OS 404选择性地隔离,但是可以与OS 404协力操作以提供一个或多个服务。例如,OS 404可以提供服务以呈递用户接口402并且响应于输入提示,但是TEE 406检索和/或以其它方式接收这样的输入以供处理以导出和/或以其它方式计算口令值。虽然示例性平台包括示例性OS 404在其上执行的它自己的硬件408,但是示例性TEE 406是能够独立于平台硬件408而进行过程管理和/或执行的分离硬件实体。此外,在示例性TEE 406内执行的受信任的应用能够完整访问平台硬件408和/或平台400的其它资源,而示例性TEE 406维持对与其上执行的受信任的应用相关联的密码的和/或其它安全操作的完全控制。在一些示例中,TEE 406以与受信任的计算组于2011年3月3日公布的TPM规范1.2(修订版116)一致的方式实现为受信任的平台模块(TPM),该规范据此以其全部通过引用合并在本文中。
在图4的所图示示例中,TEE 406包括用户接口管理器420、序数序列生成器422(在本文中有时称为序列生成器)、通信地连接到转化映射存储装置426的转化映射管理器424,以及偏移计算器428。在典型平台中,示例性OS 404生成要在UI 402上显示的接口以接收以键盘口令信息、触摸屏口令数字录入或任何其它类型的人机录入信息的形式的用户输入。然而,假定示例性OS 404和示例性UI 402是不安全的并且遭受能够监视触摸屏上的用户按压和/或键击的恶意的软件(例如恶意软件)的监视。鉴于这种假定的安全性缺失,在用户在数字键区上录入口令的情况下,恶意软件可以标识每一个触摸屏按压的位置以导出用户的口令。例如,如果用户将要从左向右按压图1A的示例性未经修改的键区100的顶部行104中的前三(3)个按钮中的每一个,则恶意软件可以基于与每一个按钮按压相关联的空间信息来导出“1”、“2”、“3”的口令。
为了最小化和/或以其它方式消除由用户经由示例性UI 402录入的口令信息的导出,示例性用户接口管理器420响应于口令录入的指示并且生成将在示例性UI 402上呈现给用户的转鼓显示。在一些示例中,示例性用户接口管理器420超驰控制可以由示例性OS404生成的默认接口。在其它示例中,示例性OS 404生成转鼓显示,但是在示例性TEE 406内实施认证功能,如以下进一步详细描述的。在示例性用户接口管理器420超驰控制由示例性OS 404生成的默认接口(诸如类似于图1A的未经修改的键区100的默认键区)的情况下,于是示例性序数序列生成器422标识针对转鼓显示所要求的多个数位。此外,示例性序数序列生成器422生成将在转鼓显示上显示的随机值序列并且向示例性用户接口管理器420提供随机值序列以供向用户呈现。
继续以上结合图3A描述的示例,如果序数序列生成器422标识到针对四数位数字口令的需要,并且生成随机值序列“2385”,那么该值被传递至示例性用户接口管理器420以呈现在示例性UI 402上。此外,将随机值序列“2385”提供给示例性转化映射管理器424以构建与UI 402相关联的转化映射。任何数目的转化映射可以由转化映射管理器424生成和/或以其它方式构建并且存储在示例性转化映射存储装置426中。当用户通过以向上的方向划刷四(4)次来修改显示在示例性UI 402内的第一序数鼓302时,示例性用户接口管理器420接收和/或以其它方式检索偏移值四(4)和“向上”的方向指示(方向指示可以包括指示序数鼓按其来改变的方向的任何值或符号)。在其它示例中,用户接口管理器420响应于UI 402上的每个交互而接收和/或以其它方式检索偏移值和方向值。因而,如果第一用户交互是向下划刷,则示例性用户接口管理器420检索和/或以其它方式接收偏移值一(1)和对应的向下指示符。换言之,通过响应于与示例性UI 402的每个用户交互而获得偏移值和方向,示例性用户接口管理器420可以追踪鼓定位移动的净结果数和对应的(一个或多个)方向而不管用户移动一个或多个序数鼓的次序如何。
假定示例性转鼓显示300总是设置在“0000”处,那么潜入不安全的输入机构(例如UI 402的触敏叠覆)的任何恶意软件将能够基于追踪多个划刷事件而导出口令组合。另一方面,虽然在示例性平台400上操作的任何恶意软件可以标识示例性UI 402的特定坐标位置处的四(4)个分离划刷动作,但是恶意软件不能够访问被存储在TEE 406内的初始随机值序列“2385”。此外,TEE 406和/或平台资源408可以采用受保护的视频帧缓冲器来隐藏UI402上显示的内容。作为结果,最终口令值不能由恶意软件确定,因为示例性转鼓显示300的初始起始点的信息对恶意软件而言不可得到。
在已经完成用户输入活动之后,示例性偏移计算器428通过从初始起始值加上或减去所检索到的偏移值来计算所录入的口令信息。继续以上示例,如果用户在示例性第一序数鼓302、示例性第二序数鼓304、示例性第三序数鼓306和示例性第四序数鼓308上以向上的方向执行划刷动作一次,那么示例性偏移计算器428将向初始起始值“2385”加一(1)以揭示口令“3496”。
在一些示例中,在用户修改了序数鼓以录入口令的一个数位之后,示例性序数序列生成器422生成针对其余序数的新的随机值。重新随机化其余序数的至少一个益处包括在用户正与示例性UI 402交互时混淆旁观者的努力。为了说明,图5反映了图3A的示例性转鼓显示300,其包括第一序数鼓302、第二序数鼓304、第三序数鼓306和第四序数鼓308。示例性转鼓显示300的四个序数鼓按列示出,并且四个分离的用户输入实例按从图5的顶部到底部的序列而发生。在第一实例(实例1)处,示例性转鼓显示300具有随机化的初始值“2385”,其存储在示例性转化映射存储装置426中作为类似于图3B中所示的那个(例如,转化映射350)的转化映射。此外,假定将使得用户能够获得示例性平台400的访问和/或服务的真实口令是“6447”。真实口令值可以存储在TEE 406中以用于稍后在已经发生示例性UI 402上的用户录入之后进行比较。在所录入的口令信息正确的情况下,示例性TEE 406可以告知OS404认证成功,从而允许示例性平台400的用户访问一个或多个服务(例如网页、平台400的可执行程序、平台400的存储位置中的文件访问、对一个或多个平台资源408的访问等)。
在实例1期间,用户以向上的方向划刷四(4)次,从而使第一序数鼓302从初始值“2”前进到结束值“6”。如以上描述的,示例性用户接口管理器420检索和/或以其它方式接收与向上指示符相关联的偏移值四(4),并且示例性偏移计算器428将偏移值四(4)加到初始随机化的值二(2)以得出最终的口令录入值六(6)。在指示认为用户完成了示例性第一序数鼓302的修改的停留时间之后,示例性序数序列生成器422重新随机化尚未被用户设置的任何其余序数鼓,如通过实例2所示。在图5的所图示示例中,实例2包括第一序数鼓302位置中的“X”以指示第一序数鼓302已经被用户修改。此外,在实例2期间,其余序数鼓(即,示例性第二序数鼓304、示例性第三序数鼓306和示例性第四序数鼓308)已经被示例性序数序列生成器422利用值“629”重新随机化。
在实例2期间,用户以向下的方向划刷两(2)次,从而将示例性第二序数鼓304从初始值“6”修改成结束值“4”。如以上描述的,在示例性用户接口管理器420检索和/或以其它方式接收偏移值和方向指示符(即,在图5的所图示示例中,偏移值为二(2)并且方向指示符指示向下划刷)之后,结果得到的序数值由示例性偏移计算器428计算,并且最近修改的序数鼓利用“X”来标识。作为修改的结果,并且在停留时间之后,示例性序数序列生成器422重新随机化尚未被用户修改的其余序数(即,示例性第三序数鼓306和示例性第四序数鼓308)。在图5的所图示示例中,重新随机化的值为“11”。
在实例3期间,用户以向上的方向划刷三(3)次,从而将示例性第三序数鼓306从初始值“1”修改成结束值“4”。如以上描述的,在示例性用户接口管理器420检索和/或以其它方式接收偏移值和方向指示符(即,在图5的所图示示例中,实例3期间的偏移值为三(3)并且方向指示符指示向上划刷)之后,结果得到的序数值由示例性偏移计算器428计算,并且最近修改的序数鼓利用“X”来标识。作为修改的结果,并且在停留时间之后,示例性序数序列生成器422重新随机化尚未被用户修改的其余(一个或多个)序数(即示例性第四序数鼓308)。在图5的所图示示例中,重新随机化的值为“9”。
在实例4期间,用户以向下的方向划刷两(2)次,从而将示例性第四序数鼓308从初始值“9”修改成结束值“7”。如以上描述的,在示例性用户接口管理器420检索和/或以其它方式接收偏移值和方向指示符(即,在图5的所图示示例中,实例4期间的偏移值为二(2)并且方向指示符指示向下划刷)之后,结果得到的序数值由示例性偏移计算器来计算,并且最近修改的序数鼓利用“X”来标识。由于不需要与口令相关联的附加序数,因此聚合的口令值可以被示例性用户接口管理器420测试和/或以其它方式分析以确定是否已经录入正确的口令值。换言之,如果录入的值等于“6447”,那么口令正确地匹配被存储在TEE 406中的口令信息。
虽然以上所说明的示例包括基于鼓的用户接口的随机化,但是本文所公开的示例性方法、装置、系统和/或制品不限于此。图6A包括具有环绕闭环圆形形状602的十(10)个径向且顺序布置的按钮(零直到九)的示例性径向UI 600。如以下进一步详细描述的,本文出于示例而非限制的目的而讨论示例性圆形形状602。在图6A的所图示示例中,径向UI 600处于默认或以其它方式正常的定位。特别地,正常定位将零(0)按钮定位成位于圆形形状602上的0度处、一(1)按钮位于36度处、二(2)按钮位于72度处、三(3)按钮位于108度处、四(4)按钮位于144度处、五(5)按钮位于180度处、六(6)按钮位于216度处、七(7)按钮位于252度处、八(8)按钮位于288度处和九(9)按钮位于324度处。类似于前述的基于鼓的UI,示例性径向UI 600适应空间熟悉性,因为零(0)按钮之后跟随一(1)按钮,其之后跟随二(2)按钮,以此类推。例如,如果用户看到五(5)按钮,那么该用户将直观地领会到四(4)按钮和六(6)按钮各自邻近于它。
然而,在操作于示例性平台400上的恶意软件能够访问一个或多个输入机构(例如触摸屏叠覆)的情况下,于是每一个按钮按压的空间坐标可以由恶意软件在下述假定之下导出:径向UI 600的转动取向保持恒定,其中零(0)按钮在0度处。为了引入与潜在窃听者和/或输入监视相关联的熵,示例性径向UI 600可以在向示例性平台400的用户显示之前转动任何度数。图6B包括具有十(10)个径向且顺序布置的按钮(零直到九)的示例性随机转动的径向UI 650。然而,不同于图6A的所图示示例(其中径向UI 600具有位于圆形形状602的0度处的零(0)按钮),示例性随机转动的径向UI 650具有位于144度处的零(0)按钮。因而,虽然操作在示例性平台400上的恶意软件可能仍能够标识与用户的一个或多个按钮按压相关联的坐标值,但是与零(0)按钮相关联的坐标位于圆形形状602的顶部这一之前的假定不再为真。通过绕圆形形状602转动按钮的空间取向而引入的这样的熵导致没有意识到转动偏移的恶意软件的无意义和/或以其它方式不正确的值导出。
在选择了径向UI的转动取向(例如经由随机数生成器、用户选择等)之后,每一个按钮定位和/或从正常的转动偏移值的索引被存储在受信任的环境的转化映射中。图6C图示了示例性转化映射660,其包括按钮定位列662和值列664。在图6C的所图示示例中,在平台400的用户按下对应于正常定位中的零的按钮的情况下,映射表660解码该按钮按压以表示值六(6)。
虽然示例性随机转动的径向UI 650包括十个分离的按钮和对应的数字值,但是示例性方法、装置、系统和/或制品不限于此。此外,本文所公开的示例不限于圆形形状。例如,任何闭环形状(例如方形、矩形、三角形、椭圆形、对称、非对称等)可以由示例性用户接口管理器420生成,具有所布置的任何数目的可选按钮。
在一些示例中,响应于每一个用户选择,闭环形状可以重新随机化到新的转动取向。图7A包括在第一次时的第一转动的径向UI 700和第二次时的第二转动的径向UI 702。示例性第一转动的径向UI 700和示例性第二转动的径向UI 702出于完全实际的目的而是呈现给用户的相同UI,但是具有用于对应的可选按钮(例如按钮0直到9)的不同转动起始点。示例性第一转动的径向UI 700具有从正常偏移-36度(或从正常的+324度)的起始定位,其中零(0)按钮位于从第一转动的径向UI 700的顶部(零(0)度定位)逆时针36度处。在示例性平台400的用户从第一转动的径向UI 700选择值“2”之后,示例性用户接口管理器420重新随机化转动取向,如第二转动的径向UI 702所示。此外,示例性用户接口管理器420将星号704放置在UI的中心以说明已经选择了口令的多少数位。在图7A的所图示示例中,第二转动的径向UI 702具有从正常偏移144度的起始定位。响应于用户选择值“8”(其正常对应于值“2”),示例性用户接口管理器420将另一星号706放置在UI的中心以说明已经选择了口令的第二数位。
图7B图示了由示例性转化映射管理器424生成的、与示例性转动的径向UI(例如图7A的第一转动的径向UI 700和第二转动的径向UI 702)对应的示例性转化映射750。在图7B的所图示示例中,转化映射750包括正常按钮定位列752、第一值列754、第二值列756和由示例性转化映射管理器424基于针对特定口令的数位数目而添加的任何数目的附加值列。示例性正常按钮定位列752反映不具有任何随机化的转动定位的转动的径向UI(例如零(0)按钮在顶部处)。在口令的录入之前,示例性序数序列生成器422生成将在径向UI 700上显示的随机转动定位,其被示出为从正常逆时针36度。此外,示例性转化映射管理器424更新第一值列754以反映随机化的查找值。作为结果,按钮值“1”出现在正常定位中按钮值“0”过去曾位于的地方。假定用户期望录入值“2”,那么由恶意软件收集的任何坐标将标识到选择了值“1”。换言之,恶意软件将报告不正确的口令录入。所选值在图7B的所图示示例中被示出为具有环绕它的圆圈的“2”。
在用户做出针对与口令相关联的第一值的选择之后,示例性序数序列生成器422应用另一随机化以揭示针对第二转动的径向UI 702的值的新转动定位。此外,示例性转化映射管理器424更新下一可用值列以反映新的按钮定位。在图7B的所图示示例中,第二值列反映按钮转动取向为从正常的顺时针144度。作为结果,按钮值“1”出现在正常定位中按钮值“5”过去曾位于的地方。假定用户期望录入值“8”,那么由恶意软件收集的任何坐标将标识到选择了值“2”。换言之,恶意软件将报告不正确的口令录入。所选值在图7B的所图示示例中被示出为具有环绕它的圆圈的“8”。
虽然图7A的所图示示例一次向用户呈现单个径向UI,但是本文所公开的示例性方法、装置、系统和/或制品不限于此。例如,可以同时在示例性UI 402上呈现多个径向UI,其中每一个径向UI可以对应于与要录入的口令相关联的任何数目的数位中的每一个。
虽然在图3A、3B、4、5、6A、6B、6C、7A和7B中图示了实现图4的TEE 406的示例性方式,但是图3A、3B、4、5、6A、6B、6C、7A和7B中图示的元件、过程和/或设备中的一个或多个可以被组合、划分、重新布置、省略、消除和/或以任何其它方式实现。另外,示例性转鼓显示300、示例性转化映射350、示例性用户接口402、示例性TEE 406、示例性用户接口管理器420、示例性序数序列生成器422、示例性转化映射管理器424、示例性偏移计算器428、示例性转化映射存储装置426、示例性随机转动的径向UI 650、示例性映射表660、示例性第一转动的径向UI 700、示例性第二转动的径向UI 702、示例性转化映射750和/或更一般地,图4的示例性平台400可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现。因此,例如,示例性转鼓显示300、示例性转化映射350、示例性用户接口402、示例性TEE406、示例性用户接口管理器420、示例性序数序列生成器422、示例性转化映射管理器424、示例性偏移计算器428、示例性转化映射存储装置426、示例性随机转动的径向UI 650、示例性映射表660、示例性第一转动的径向UI 700、示例性第二转动的径向UI 702、示例性转化映射750和/或更一般地图4的示例性平台400中的任一个可以通过一个或多个模拟或数字电路、逻辑电路、(一个或多个)可编程处理器、(一个或多个)专用集成电路((一个或多个)ASIC)、(一个或多个)可编程逻辑器件((一个或多个)PLD)和/或(一个或多个)现场可编程逻辑器件((一个或多个)FPLD)实现。当阅读本专利的涵盖纯软件和/或固件实现方式的任何的装置或系统权利要求时,示例性转鼓显示300、示例性转化映射350、示例性用户接口402、示例性TEE 406、示例性用户接口管理器420、示例性序数序列生成器422、示例性转化映射管理器424、示例性偏移计算器428、示例性转化映射存储装置426、示例性随机转动的径向UI 650、示例性映射表660、示例性第一转动的径向UI 700、示例性第二转动的径向UI702、示例性转化映射750和/或图4的示例性平台400中的至少一个由此被明确限定成包括有形计算机可读存储设备或存储盘,诸如存储器、数字通用盘(DVD)、光盘(CD)、蓝光盘等,其存储软件和/或固件。仍进一步地,图4的示例性TEE 406可以包括附加于或替代于图4中图示的那些的一个或多个元件、过程和/或设备,和/或可以包括多于一个的所图示的元件、过程和设备中的任一个或全部。
在图8和9中示出了表示用于实现图4的TEE 406的示例性机器可读指令的流程图。在这些示例中,机器可读指令包括用于由处理器(诸如在以下结合图10讨论的示例性处理器平台1000中示出的处理器1012)执行的程序。(一个或多个)程序可以体现在被存储在有形计算机可读存储介质(诸如与处理器1012相关联的CD-ROM、软盘、硬驱动器、数字通用盘(DVD)、蓝光盘、或存储器)上的软件中,但是整个(一个或多个)程序和/或其部分可以可替换地由除处理器1012之外的设备执行和/或体现在固件或专用硬件中。另外,尽管参照图8和9中图示的流程图而描述了示例性程序,但是可以可替换地使用实现示例性TEE 406的许多其它方法。例如,块的执行次序可以改变,和/或所描述的某些块可以被改变、消除或组合。
如以上提到的,图8和9的示例性过程可以使用被存储在有形计算机可读存储介质(诸如其中信息被存储用于任何持续时间(例如,用于延长的时间段、永久地、用于短暂阶段、用于暂时地缓冲、和/或用于高速缓存信息)的硬盘驱动器、闪速存储器、只读存储器(ROM)、光盘(CD)、数字通用盘(DVD)、高速缓存、随机存取存储器(RAM)和/或任何其它存储设备或存储盘)上的经编码的指令(例如,计算机和/或机器可读指令)实现。如本文中所使用的,术语有形计算机可读存储介质被明确地限定为包括任何类型的计算机可读存储设备和/或存储盘并且排除传播信号并且排除传输介质。如本文中所使用的,“有形计算机可读存储介质”和“有形机器可读存储介质”可互换地使用。附加地或可替换地,图8和9的示例性过程可以使用被存储在非暂时性计算机和/或机器可读介质(诸如其中信息被存储用于任何持续时间(例如,用于延长的时间段、永久地、用于短暂阶段、用于暂时地缓冲、和/或用于高速缓存信息)的硬盘驱动器、闪速存储器、只读存储器、光盘、数字通用盘、高速缓存、随机存取存储器和/或任何其它存储设备或存储盘)上的经编码的指令(例如,计算机和/或机器可读指令)实现。如本文中所使用的,术语非暂时性计算机可读介质被明确地限定为包括任何类型的计算机可读存储设备和/或存储盘并且排除传播信号并且排除传输介质。如本文所使用的,当短语“至少”被用作权利要求前序部分中的过渡术语时,它以与术语“包括”是开放式的相同方式是开放式的。
图8的程序800在块802处开始,其中示例性用户接口管理器420确定是否已发生针对口令录入的请求。如果不是,则图8的示例性程序800继续等待口令录入的实例,诸如发生在示例性UI 402上的用户交互。响应于检测到录入口令信息的请求的实例(块802),示例性用户接口管理器420利用对应于口令的字符数目的多个录入点来生成UI(块804)。例如,TEE406可以操作为用于与平台400相关联的口令的安全储存库,并且一旦由示例性TEE 406检索和/或以其它方式接收到口令录入信息,就做出比较以确定是否应当准许访问和/或权限。由示例性用户接口管理器420生成的示例性UI可以包括但不限于转鼓显示(例如图3A的转鼓显示300)或转动闭环UI(例如,示例性第一转动的径向UI 700、示例性第二转动的径向UI 702、多边形形状UI等)。
在一些示例中,示例性用户接口管理器420针对由示例性平台400生成的默认UI而监视操作系统404和/或UI 402,并且如果检测到,则示例性用户接口管理器420超驰控制默认UI以用于转鼓显示或转动闭环UI。示例性序数序列生成器422生成随机值序列或转动偏移(块806),并且示例性用户接口管理器420利用随机起始UI显示来填充示例性UI 402(块808)。此外,示例性转化映射管理器424生成和/或以其它方式更新转化映射以允许从UI402接收的录入输入数据被解码成准确的口令录入值(块808)。
如果示例性用户接口管理器420检测到来自UI 402的以偏移值和方向的形式的用户输入(块810),则利用用户输入信息来更新转化映射(块812)。如以上描述的,从触摸屏、键盘、鼠标和/或其它输入设备接收和/或以其它方式检索到的用户输入信息处于被恶意软件监视的风险中。尽管可以拦截经由触摸屏或鼠标点击的用户输入坐标,但是由于用户接口显示值被随机化,因此所检索到的偏移和方向数据或转动的径向数据不能用于导出用户所选的本来的值。示例性偏移计算器428基于之前建立的随机字符序列与偏移/方向信息之间的比较来计算由用户录入的真实口令值(块814)。如果示例性用户接口管理器420标识到正确口令信息与用户录入的口令信息之间的匹配(块816),则准许权限(块818)。然而,不正确的录入导致权限的拒绝(块820),诸如由示例性用户接口管理器420发送到操作系统404的、应当拒绝访问(例如硬件访问)的信号。
在一些示例中,UI(例如转动的径向UI、转鼓UI等)的随机化发生在用户的每一次录入尝试之后。返回到图8的块808,在建立初始随机布置之后,控制前进到块850,其中示例性用户接口管理器420针对录入改变进行监视(块852)。录入改变可以包括转盘的向上或向下转动,或者可以包括转盘UI上的按钮的选择。响应于检测到UI上的录入改变(块852),示例性用户接口管理器420向转化映射发送所检索和/或以其它方式接收到的偏移/方向信息(块854),并且示例性偏移计算器428计算经改变的序数的真实结果(块856)。示例性转化映射管理器424更新转化映射(块858)(例如图3B的示例性转化映射350、图7B的示例性转化映射750等)。在用户尚未做出针对口令的所有字符的录入或选择的情况下,如由示例性序数序列生成器422所确定的那样(块860),则序数序列生成器422生成新的随机值序列(或者生成新的转动定位,如果使用转动的径向类型UI的话)(块862)。
示例性用户接口管理器420利用新的随机化值来填充UI 402中的任何之前未经变更的序数(块864)并且利用新的随机化的始发值来更新示例性转化映射(块866)。控制返回到块852,其中示例性用户接口管理器420继续针对用户输入的实例进行监视。另一方面,如果已经录入了针对口令的所有字符(块860),则示例性用户接口管理器420通过比较被存储在TEE 406中的口令与经转化的口令来确定口令信息是否正确(块868)。如果示例性用户接口管理器420标识到正确口令信息与用户录入的口令信息之间的匹配(块868),则准许权限(块870)。然而,不正确的录入导致权限的拒绝(块872),诸如由示例性用户接口管理器420发送到操作系统404的、应当拒绝访问(例如硬件访问)的信号。
图10是能够执行图8和9的指令以实现图4的TEE 406的示例性处理器平台1000的框图。处理器平台1000可以是例如服务器、个人计算机、移动设备(例如,蜂窝电话、智能电话、平板设备、诸如iPadTM)、个人数字助理(PDA)、互联网器具、DVD播放器、CD播放器、数字视频记录器、蓝光播放器、游戏控制台、个人视频记录器、机顶盒或任何其它类型的计算设备。
所图示的示例的处理器平台1000包括处理器1012。所图示的示例的处理器1012是硬件。例如,处理器1012可以由来自任何期望的族或制造商的一个或多个集成电路、逻辑电路、微处理器或控制器实现。
所图示的示例的处理器1012包括本地存储器1013(例如,高速缓存)。所图示的示例的处理器1012经由总线1018与包括易失性存储器1014和非易失性存储器1016的主存储器通信。易失性存储器1014可以由同步动态随机存取存储器(SDRAM)、动态随机存取存储器(DRAM)、RAMBUS动态随机存取存储器(RDRAM)和/或任何其它类型的随机存取存储器设备来实现。非易失性存储器1016可以由闪速存储器和/或任何其它期望类型的存储器设备来实现。对主存储器1014、1016的访问由存储器控制器来控制。
所图示的示例的处理器平台1000还包括接口电路1020。接口电路1020可以由任何类型的接口标准(诸如以太网接口、通用串行总线(USB)和/或PCI快速接口)实现。
在所图示的示例中,一个或多个输入设备1022连接到接口电路1020。(一个或多个)输入设备1022准许用户往处理器1012中录入数据和命令。(一个或多个)输入设备可以由例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、跟踪板和/或跟踪球实现。
一个或多个输出设备1024也连接到所图示的示例的接口电路1020。输出设备1024可以例如由显示设备(例如,发光二极管(LED)、有机发光二极管(OLED)、液晶显示器、阴极射线管显示器(CRT)、触摸屏、触觉输出设备、发光二极管(LED)、打印机和/或扬声器)实现。所图示的示例的接口电路1020因此典型地包括图形驱动器卡、图形驱动器芯片或图形驱动器处理器。
所图示的示例的接口电路1020还包括通信设备(诸如发射器、接收器、收发器、调制解调器和/或网络接口卡)以促进经由网络1026(例如,以太网连接、数字订户线路(DSL)、电话线路、同轴线缆、蜂窝式电话系统等等)与外部机器(例如任何种类的计算设备)的数据交换。
所图示的示例的处理器平台1000还包括用于存储软件和/或数据的一个或多个大容量存储设备1028。这样的大容量存储设备1028的示例包括软盘驱动器、硬驱动盘、光盘驱动器、蓝光盘驱动器、RAID系统和数字通用盘(DVD)驱动器。
图8和9的经编码的指令1032可以存储在大容量存储设备1028中、易失性存储器1014中、非易失性存储器1016中、和/或可移除的有形计算机可读存储介质(诸如CD或DVD)上。
从前述内容,将领会到,以上公开的方法、装置和制品允许在已经被能够捕获与触摸屏输入和/或鼠标点击输入相关联的坐标位置信息的病毒和/或恶意软件感染的平台上的用户口令录入。此外,本文所公开的示例维护可替换的用户接口配置,其混淆一个或多个用户输入的真实含义,因为初始用户接口录入点被填充有存储在受信任的执行环境中的随机化的值。以恶意软件观察力所不及的方式、在受信任的执行环境内计算正确的口令。另外,本文所公开的示例通过生成具有直观和/或以其它方式预期的相邻定位以允许用户快速导航至用于每一个录入点的一个或多个值的用户接口来维持与用户肌肉记忆和/或布局熟悉性相关联的益处。
以下示例关于另外的示例。一种验证口令录入的示例性装置包括:用户接口(UI)管理器以生成包括一些序数录入点的UI,所述一些序数录入点中的每一个包括重复可选模式;序数序列生成器,以生成所述一些序数录入点的初始随机化组合,所述随机化组合存储在受信任的执行环境中;以及偏移计算器,以通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值。其它所公开的示例性装置包括UI管理器生成作为数字连续系列的重复可选模式,以及UI管理器生成作为符号系列的重复可选模式。另外公开的示例包括UI管理器生成作为转鼓显示的UI,其中UI管理器生成作为一系列相邻转鼓的所述一些序数录入点。一些所公开的示例包括序数序列生成器响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中未经修改的序数录入点,其中UI管理器利用所述一些序数录入点中的重新随机化的未经修改的序数录入点来填充UI。仍其它的公开的示例性装置包括UI管理器检测向上方向值或向下方向值中的至少一个,并且检测在与方向值相关联的方向上移动的转动定位的数目。以上公开的仍另外的示例包括UI管理器生成作为转鼓显示或径向间隔的按钮的序列中的至少一个的UI。
一种隐藏恶意软件感染的平台、恶意软件感染的设备和/或试图观察秘密和/或敏感信息的录入的任何起源的硬件或软件的口令录入的附加装置包括:用户接口(UI)管理器,用以生成包括以重复可选次序布置的一些径向间隔的按钮的UI;序列生成器,用以生成径向间隔的按钮的初始随机化转动取向,所述初始随机化转动取向具有从正常定位的转动偏移;以及偏移计算器,用以通过计算初始随机化转动取向中的所述一些径向间隔的按钮中的所选一个和正常定位之间的转动差异来计算口令录入值。
一种验证口令录入的示例性方法包括:生成包括一些序数录入点的用户接口(UI),所述一些序数录入点中的每一个包括重复可选模式;生成所述一些序数录入点的初始随机化组合,所述随机化组合存储在受信任的执行环境中;以及通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值。本文所公开的示例性方法还包括生成作为数字连续系列的重复可选模式,以及生成作为符号系列的重复可选模式。附加的示例性方法包括生成作为转鼓显示的UI,以及生成作为一系列相邻转鼓的所述一些序数录入点。本文所公开的一些示例性方法包括响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中的未经修改的序数录入点,以及利用所述一些序数录入点中的重新随机化的未经修改的序数录入点来填充UI。本文所公开的其它示例包括检测向上方向值或向下方向值中的至少一个,并且本文所公开的仍其它的示例包括检测在与方向值相关联的方向上移动的转动定位的数目。以上公开的示例性方法还可以包括生成作为转鼓显示或径向间隔的按钮的序列中的至少一个的UI。
示例公开的计算机可读存储介质包括:生成包括一些序数录入点的用户接口(UI),所述一些序数录入点中的每一个包括重复可选模式;生成所述一些序数录入点的初始随机化组合,所述随机化组合存储在受信任的执行环境中;以及通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值。一些示例公开的指令包括生成作为数字连续系列的重复可选模式,以及生成作为符号系列的重复可选模式。其它示例所公开的指令包括生成作为转鼓显示的UI,其中所述一些序数录入点被生成为一系列相邻转鼓。本文所公开的一些示例包括响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中的未经修改的序数录入点,以及利用所述一些序数录入点中的重新随机化的未经修改的序数录入点来填充UI。其它示例公开的指令包括检测向上方向值或向下方向值中的至少一个,以及检测在与方向值相关联的方向上移动的转动定位的数目。仍其它的所公开指令包括生成作为转鼓显示或径向间隔的按钮的序列中的至少一个的UI。
一种验证口令录入的示例公开的系统包括:用于生成包括一些序数录入点的用户接口(UI)的构件,所述一些序数录入点中的每一个包括重复可选模式;用于生成所述一些序数录入点的初始随机化组合的构件,所述随机化组合存储在受信任的执行环境中;以及用于通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值的构件。仍其它的公开的系统包括用于生成作为数字连续系列的重复可选模式的构件,而其它公开的系统包括用于生成作为符号系列的重复可选模式的构件。一些所公开的系统包括用于生成作为转鼓显示的UI的构件,并且其它公开的系统包括用于生成作为一系列相邻转鼓的所述一些序数录入点的构件。本文公开的附加系统包括用于响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中的未经修改的序数录入点的构件,以及用于利用所述一些序数录入点中的重新随机化的未经修改的序数录入点来填充UI的构件。仍其它的公开的系统包括用于检测向上方向值或向下方向值中的至少一个的构件。一些所公开的系统包括用于检测在与方向值相关联的方向上移动的转动定位的数目的构件。
尽管已经在本文中公开了某些示例性方法、装置和制品,但是本专利的覆盖范围不限于此。相反,本专利覆盖合理地落在本专利的权利要求的范围内的所有方法、装置和制品。
Claims (21)
1.一种验证口令录入的装置,包括:
用户接口(UI)管理器,用以生成包括一些序数录入点的UI,所述一些序数录入点中的每一个包括重复可选模式;
序数序列生成器,用以生成所述一些序数录入点的初始随机化组合,所述随机化组合存储在受信任的执行环境中;以及
偏移计算器,用以通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值;
其中UI管理器检测向上方向值或向下方向值中的至少一个。
2.如权利要求1中所限定的装置,其中UI管理器生成作为数字连续系列的重复可选模式。
3.如权利要求1中所限定的装置,其中UI管理器生成作为符号系列的重复可选模式。
4.如权利要求1中所限定的装置,其中序数序列生成器响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中的未经修改的序数录入点。
5.如权利要求2、3或4中所限定的装置,其中UI管理器生成作为转鼓显示或径向间隔的按钮的序列中的至少一个的UI。
6.一种验证口令录入的方法,包括:
生成包括一些序数录入点的用户接口(UI),所述一些序数录入点中的每一个包括重复可选模式;
生成所述一些序数录入点的初始随机化组合,所述随机化组合存储在受信任的执行环境中;
通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值;以及
检测向上方向值或向下方向值中的至少一个。
7.如权利要求6中所限定的方法,还包括生成作为数字连续系列的重复可选模式。
8.如权利要求6中所限定的方法,还包括生成作为符号系列的重复可选模式。
9.如权利要求6中所限定的方法,还包括响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中的未经修改的序数录入点。
10.如权利要求9中所限定的方法,还包括利用所述一些序数录入点中的重新随机化的未经修改的序数录入点来填充UI。
11.如权利要求6中所限定的方法,还包括检测在与方向值相关联的方向上移动的转动定位的数目。
12.如权利要求7、8或9中所限定的方法,还包括生成作为转鼓显示或径向间隔的按钮的序列中的至少一个的UI。
13.一种验证口令录入的系统,包括:
用于生成包括一些序数录入点的用户接口(UI)的构件,所述一些序数录入点中的每一个包括重复可选模式;
用于生成所述一些序数录入点的初始随机化组合的构件,所述随机化组合存储在受信任的执行环境中;
用于通过比较从UI检索的偏移值和方向值与所述一些序数录入点的初始随机化组合来计算口令录入值的构件;以及
用于检测向上方向值或向下方向值中的至少一个的构件。
14.如权利要求13中所限定的系统,还包括用于生成作为数字连续系列的重复可选模式的构件。
15.如权利要求13中所限定的系统,还包括用于生成作为符号系列的重复可选模式的构件。
16.如权利要求13中所限定的系统,还包括用于生成作为转鼓显示的UI的构件。
17.如权利要求16中所限定的系统,还包括用于生成作为一系列相邻转鼓的所述一些序数录入点的构件。
18.如权利要求13中所限定的系统,还包括用于响应于所述一些序数录入点中第一个的修改而重新随机化所述一些序数录入点中的未经修改的序数录入点的构件。
19.如权利要求18中所限定的系统,还包括用于利用所述一些序数录入点中的重新随机化的未经修改的序数录入点来填充UI的构件。
20.如权利要求13中所限定的系统,还包括用于检测在与方向值相关联的方向上移动的转动定位的数目的构件。
21.一种包括存储于其上的多个指令的机器可读存储介质,所述多个指令响应于被执行而致使计算设备执行权利要求6-12中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/077402 WO2015099644A1 (en) | 2013-12-23 | 2013-12-23 | Methods and apparatus to facilitate secure screen input |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105723379A CN105723379A (zh) | 2016-06-29 |
CN105723379B true CN105723379B (zh) | 2019-04-05 |
Family
ID=53479324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380081121.7A Active CN105723379B (zh) | 2013-12-23 | 2013-12-23 | 促进安全屏幕输入的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9514304B2 (zh) |
EP (1) | EP3087522B1 (zh) |
CN (1) | CN105723379B (zh) |
WO (1) | WO2015099644A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105723379B (zh) | 2013-12-23 | 2019-04-05 | 英特尔公司 | 促进安全屏幕输入的方法和装置 |
TWI603255B (zh) * | 2014-05-05 | 2017-10-21 | 志勇無限創意有限公司 | 手持裝置及其輸入方法 |
US9594927B2 (en) * | 2014-09-10 | 2017-03-14 | Intel Corporation | Providing a trusted execution environment using a processor |
TWI515595B (zh) * | 2014-12-22 | 2016-01-01 | 緯創資通股份有限公司 | 手持式電子裝置及其密碼輸入方法 |
JP6387887B2 (ja) * | 2015-04-08 | 2018-09-12 | 京セラドキュメントソリューションズ株式会社 | 認証装置、認証プログラム、及び認証システム |
US9830439B2 (en) * | 2015-10-01 | 2017-11-28 | Qualcomm, Incorporated | Techniques for entering codes on computing devices |
CN108351931B (zh) * | 2015-10-19 | 2021-11-23 | 电子湾有限公司 | 密码窥探保护系统 |
FR3045876A1 (fr) * | 2015-12-17 | 2017-06-23 | Abc Smart Card | Procede d'elaboration d'un mot challenge, dispositif electronique, peripherique de consigne et systeme mettant en oeuvre ledit procede |
US9942221B2 (en) * | 2016-07-18 | 2018-04-10 | International Business Machines Corporation | Authentication for blocking shoulder surfing attacks |
EP3370180B1 (en) | 2017-03-03 | 2020-11-04 | Verifone, Inc. | Increased security in authentication code entry for touch-sensitive screen enabled devices |
US20180253226A1 (en) * | 2017-03-03 | 2018-09-06 | Verifone, Inc. | Systems and methods for increased security in authentication code entry for touch-sensitive screen enabled devices |
US10805349B2 (en) * | 2017-03-29 | 2020-10-13 | At&T Intellectual Property I, L.P. | Method and system to secure and dynamically share IOT information cross multiple platforms in 5G network |
US10719597B2 (en) * | 2017-04-04 | 2020-07-21 | Visa International Service Association | Authorization of virtual reality interactions using controlled randomization |
EP3460699A1 (en) * | 2017-09-22 | 2019-03-27 | Verifone, Inc. | Systems and methods for increased security in authentication code entry for touch-sensitive screen enabled devices |
US10936189B2 (en) * | 2017-10-24 | 2021-03-02 | BBPOS Limited | System and method for a keypad on a touch screen device |
WO2019214687A1 (en) | 2018-05-09 | 2019-11-14 | BBPOS Limited | Terminal hardware configuration system |
US11062299B2 (en) | 2017-10-24 | 2021-07-13 | BBPOS Limited | System and method for indicating entry of personal identification number |
US11526745B2 (en) | 2018-02-08 | 2022-12-13 | Intel Corporation | Methods and apparatus for federated training of a neural network using trusted edge devices |
US11556730B2 (en) | 2018-03-30 | 2023-01-17 | Intel Corporation | Methods and apparatus for distributed use of a machine learning model |
CN109509278B (zh) * | 2018-11-09 | 2021-05-18 | 福建海峡基石科技集团有限公司 | 一种门禁系统 |
CN110309643B (zh) * | 2019-05-30 | 2021-08-06 | 南京苏宁加电子商务有限公司 | 一种基于旋转匹配的图片验证方法及系统 |
CN111736450B (zh) * | 2020-06-28 | 2021-07-27 | 江苏乐芯智能科技有限公司 | 一种智能手表 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986670A (zh) * | 2009-07-29 | 2011-03-16 | 上海瀚银信息技术有限公司 | 一种在手机端使用密码键盘保护密码输入安全性的方法 |
CN103039063A (zh) * | 2010-04-26 | 2013-04-10 | 株式会社Akcs | 使用密码键的移值的密码安全输入系统和密码安全输入方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4444029A (en) * | 1982-02-16 | 1984-04-24 | Presto Lock, Inc. | Combination lock with anti-pick feature |
US6434702B1 (en) * | 1998-12-08 | 2002-08-13 | International Business Machines Corporation | Automatic rotation of digit location in devices used in passwords |
KR100623684B1 (ko) | 2005-05-13 | 2006-09-19 | 주식회사 소리나무미디어 | 비밀정보 입력 및 해석 방법 |
US7484173B2 (en) | 2005-10-18 | 2009-01-27 | International Business Machines Corporation | Alternative key pad layout for enhanced security |
GB2439455B (en) * | 2006-06-23 | 2012-01-11 | Acco Brands Usa Llc | Master keyed combination lock |
JP2008176407A (ja) * | 2007-01-16 | 2008-07-31 | Toshiba Corp | 生体認証システム、装置及びプログラム |
KR100828558B1 (ko) | 2007-10-17 | 2008-05-13 | 주식회사 타스 | 가변 키 배열을 생성하는 금융 결제 처리 시스템 및 그방법 |
KR101425171B1 (ko) * | 2010-11-03 | 2014-08-04 | 한국전자통신연구원 | 사용자 비밀번호 입력 장치 및 방법 |
US9576122B2 (en) * | 2011-04-25 | 2017-02-21 | Softlayer Technologies, Inc. | System and method for secure data entry |
US9183373B2 (en) * | 2011-05-27 | 2015-11-10 | Qualcomm Incorporated | Secure input via a touchscreen |
US20130333020A1 (en) * | 2012-06-08 | 2013-12-12 | Motorola Mobility, Inc. | Method and Apparatus for Unlocking an Electronic Device that Allows for Profile Selection |
CN105723379B (zh) | 2013-12-23 | 2019-04-05 | 英特尔公司 | 促进安全屏幕输入的方法和装置 |
-
2013
- 2013-12-23 CN CN201380081121.7A patent/CN105723379B/zh active Active
- 2013-12-23 WO PCT/US2013/077402 patent/WO2015099644A1/en active Application Filing
- 2013-12-23 US US14/362,399 patent/US9514304B2/en active Active
- 2013-12-23 EP EP13900018.6A patent/EP3087522B1/en active Active
-
2016
- 2016-12-06 US US15/370,637 patent/US9817964B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986670A (zh) * | 2009-07-29 | 2011-03-16 | 上海瀚银信息技术有限公司 | 一种在手机端使用密码键盘保护密码输入安全性的方法 |
CN103039063A (zh) * | 2010-04-26 | 2013-04-10 | 株式会社Akcs | 使用密码键的移值的密码安全输入系统和密码安全输入方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3087522B1 (en) | 2020-10-14 |
EP3087522A4 (en) | 2017-08-09 |
WO2015099644A1 (en) | 2015-07-02 |
EP3087522A1 (en) | 2016-11-02 |
US20150235024A1 (en) | 2015-08-20 |
CN105723379A (zh) | 2016-06-29 |
US20170154179A1 (en) | 2017-06-01 |
US9514304B2 (en) | 2016-12-06 |
US9817964B2 (en) | 2017-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105723379B (zh) | 促进安全屏幕输入的方法和装置 | |
KR101175042B1 (ko) | 사용자 단말기의 패스워드 인증 방법 및 그 장치 | |
EP3443724B1 (en) | Web service picture passwords | |
US20120110663A1 (en) | Apparatus and method for inputting user password | |
US20140098141A1 (en) | Method and Apparatus for Securing Input of Information via Software Keyboards | |
EP2763070B1 (en) | Graphical user interface (GUI) that receives directional input to change face for receiving passcode | |
US8661532B2 (en) | Method and apparatus for authenticating password | |
US9875350B2 (en) | Multi-vocal password verifying method and device | |
US10146927B2 (en) | Dynamic keypad for access code input | |
TW201516727A (zh) | 動態提供多因次式密碼/盤問鑑定的方法與電腦裝置 | |
KR100880862B1 (ko) | 전자 장치로의 사용자 입력 보안 방법 | |
US9652619B2 (en) | Method of inputting confidential data on a terminal | |
CN104156656A (zh) | 动态校验密码的方法及密码校验设备 | |
CN106407761A (zh) | 一种解锁方法及解锁装置 | |
KR101290850B1 (ko) | 스크롤 휠을 이용한 사용자 단말기의 패스워드 인증 방법 및 그 장치 | |
JP2016001426A (ja) | タッチパネルを用いた情報入力装置および入力情報判定方法 | |
KR102394614B1 (ko) | 키패드 입력 장치 및 방법 | |
JP6068911B2 (ja) | 認証装置、認証方法および認証プログラム | |
KR20140030406A (ko) | 숫자 및 문자 입력 프라이버시 보호 방법 | |
Choi et al. | Secure password-based authentication method for mobile banking services | |
Cil et al. | gridwordx: Design, implementation, and usability evaluation of an authentication scheme supporting both desktops and mobile devices | |
GB2503417A (en) | Controlling access according to both access code and user's action in entering the code | |
EP2873026A1 (en) | Securing inputting of sensitive information | |
JP5797231B2 (ja) | 入力情報認証装置及びプログラム | |
US20180356976A1 (en) | Electronic Device That Reduces Unauthorized Use by Third Person |
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 |