CN104951714A - 基于系列的设备绑定 - Google Patents

基于系列的设备绑定 Download PDF

Info

Publication number
CN104951714A
CN104951714A CN201510134105.0A CN201510134105A CN104951714A CN 104951714 A CN104951714 A CN 104951714A CN 201510134105 A CN201510134105 A CN 201510134105A CN 104951714 A CN104951714 A CN 104951714A
Authority
CN
China
Prior art keywords
unique identifier
stored
software
data
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.)
Granted
Application number
CN201510134105.0A
Other languages
English (en)
Other versions
CN104951714B (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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of CN104951714A publication Critical patent/CN104951714A/zh
Application granted granted Critical
Publication of CN104951714B publication Critical patent/CN104951714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1011Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mathematical Physics (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

公开了一种将软件与设备绑定的方法。因此,当在设备中安装配置软件期间,从存储在所述设备中的内容,导出唯一标识符,并对所导出的唯一标识符进行加密。然后将所导出的唯一标识符存储在软件的配置中。当在所述设备中下一次调用所述软件期间,从存储在所述设备中的内容,导出新的唯一标识符。然后,将新导出的唯一标识符与所存储的唯一标识符进行匹配。如果匹配失败,则终止执行所述软件。

Description

基于系列的设备绑定
背景技术
出于安全或许可原因,在安装或登记或首次初始化处理期间,可能将特定软件应用与具体设备相绑定。一旦将软件应用与特定设备或用户相绑定,则可能只能在该特定设备上执行该款软件(例如,软件应用)。一旦绑定,则即便将该款软件拷贝到其它设备,也无法在所述其它设备上执行该款软件。
此外,在多步骤的安全验证中,除了针对基于Web的服务设置用户名称和口令之外,还需要用户设置安全问题。当经由不同类型的互联网浏览器第一次使用所述基于Web的服务时,用户需要键入对安全问题的答案,以便将所述互联网浏览器与所述基于web的服务进行绑定。这种绑定通常在互联网浏览器中被存储为cookie。当使用不同的浏览器时或当删除浏览器cookie时,用户需要再次将基于Web的服务与互联网浏览器相绑定。如果用户认证信息和安全问题/答案被窃,则这种方法很容易产生安全漏洞。
可以采用诸如使用RFID标签或设备序列号等的方法来获得硬件的唯一标识。然而,在一些情境下,诸如当在Web浏览器中执行软件代码时,软件代码可能无法访问底层硬件资源以便获得标识信息。然而,如Sanjay E.Sarma,Stephen A Weis,Daniel W.Englels在论文“RFIDSystems and Security and Privacy Implications”(CHES 2002,LNCS 2523,2003)中所述,由于这种信息可以唯一性地识别个人,使用RFID或硬件序列号存在隐私问题。
发明内容
在一个示例中,公开了一种将软件与设备进行绑定的方法。因此,当在所述设备中安装配置软件期间,从所述设备中存储的内容导出唯一标识符,并可选地,对所导出的唯一标识符进行加密。然后,所述唯一标识符被存储在软件的配置中。当在所述设备中下一次调用所述软件时,从所述设备中存储的内容导出新的唯一标识符,并可选地,对所述新的唯一标识符进行加密。然后,将新导出的唯一标识符与所存储的唯一标识符进行匹配。如果匹配没有通过,则终止对所述软件的执行。存储在所述设备中的内容可以包括存储在所选文件夹中的数据。在一个示例中,由所述设备的用户选择所选文件夹。在另一示例中,由所述软件基于预设配置自动选择所选文件夹。在另一示例中,可以通过软件的配置选择文件夹。在一个示例中,预设配置可以包括选择一个或更多个包含图片文件或***配置文件或二者的组合的文件夹。所述配置可以包括多种条件,比如,所述条件可以是仅包括早于所选日期的文件或包括所选类型的文件等。可以将所述条件存储在服务器处。
在另一示例中,所述内容可以包括存储在设备中的用户所选数据。所述内容包括以下各项中的一个或更多个:设备的***配置数据、存储在设备中的联系人列表、存储在设备中的照片、存储在设备中的用户所选数据以及安装在设备中的应用。
在再一示例中,所述内容包括:存储在用户所选文件或用户所选文件夹中的数据。
在另一方面,公开了一种将用户与基于Web的服务进行认证的方法。因此,在从设备对所述基于Web的服务进行首次访问期间,从存储在所述设备中的内容导出唯一标识符。使用用户输入的认证数据来认证用户,并且当成功认证时,由托管所述基于Web的服务的服务器接收所导出的唯一标识符。在从所述设备对基于Web的服务进行后续访问期间,从存储在所述设备中的内容产生新的唯一标识符,并且服务器接收所述新的唯一标识符。然后,服务器尝试将新的唯一标识符与先前接收的唯一标识符进行匹配。如果匹配没有通过,则拒绝对所述基于Web的服务进行访问。在一个方面中,用于导出唯一标识符的内容包括存储在所选文件夹中的数据和由用户输入的数据。
在再一示例实施例中,公开了一种计算机程序产品。所述计算机程序产品包括其中具有计算机可读程序代码的非瞬时计算机可读介质。所述计算机可读程序代码适于由一个或更多个处理器来执行,以便实现用于将软件和设备进行绑定的方法。因此,当执行程序代码时,从存储在所述设备中的内容导出唯一标识符。可选地,可以对所述唯一标识符进行加密。将所述唯一标识符(如果进行了加密,则是经过加密的值)存储在软件的配置中。
当在所述设备中下一次调用所述软件时,从存储在所述设备中的内容导出新的唯一标识符。可选地,可以对所述新的唯一标识符进行加密。将新的唯一标识符与所存储的唯一标识符进行匹配。如果匹配没有通过,则终止执行所述软件。在另一示例中,可以将所述软件的一些特征关联到所存储的标识符与所导出的标识符的匹配。在另一示例中,可以通过所导出的标识符执行对所述元件的至少一部分进行解码。也就是说,软件的至少一部分是经由先前存储的标识符进行编码的,以及当在设备中执行所述软件时,尝试经由所导出的标识符对所编码的部分进行解码。如果标识符不匹配,则解码将会失败,因此,在所述设备中至少不会执行所述编码部分。
附图说明
当本领域技术人员阅读结合附图的描述时,应清楚要求保护的主题的优点,在所述附图中,相同的附图标记被用于表示相同的元件,其中:
图1是示出了可实现主题的示例硬件设备的框图;
图2示出了从设备的内容导出唯一标识符的示例流程图;
图3示出了使用从设备的内容导出的唯一标识符来认证服务的用户的示例流程图;
图4示出了使用从设备的内容导出的唯一标识符来将软件与设备进行绑定的示例流程图;以及
图5示出了认证软件的示例流程图。
具体实施方式
在不使用可以私下识别个人的或可以用于识别个人的信息的前提下将软件与特定设备相绑定对于增强许可条款和安全方法是有益的。本文所述的方法不需要方法硬件信息或底层操作***核心。因此,可以以独立于平台的方式实现这些方法。
可以提供使用硬件钩(hook)、硬件唯一标识或操作***特定接口的解决方案来将软件安装与特定设备相绑定。然而,这些方法是依赖于平台的或可能引起隐私问题。例如,在WindowsTM操作***中,软件应用在其安装过程期间可以向Windows寄存器或文件***的一些其它隐藏或保护位置中写入代码信息。这些方法在一些类型的应用软件中不是有效的,尤其是在Web浏览器中执行的应用软件,这是由于这些应用软件不太可能如同运行在Web浏览器中的脚本似地访问设备的底层操作***或硬件资源。类似地,关于使用硬件信息标识,小应用程序再次面临相同的挑战。此外,不同类型的设备可以具有不同的硬件配置,接口可能无法提供必要的信息。
本文呈现的主题提供不使用硬件信息或操作***专用保护存储的软件绑定方法。使用实施例使用通常可在不产生安全和隐私问题的情况下访问的一系列(constellation)信息。因此,可以从设备获得识别要素的集合,可以根据所获得的识别要素的集合,导出唯一标识符。可以将本文所述的方法用于防止克隆软件、保护版权和许可条款等。
本文所述的方法是有利的,这是由于导出的唯一标识符仅取决于设备的配置。在一个或更多个实施例中,从一系列识别要素导出唯一标识符,其中单独考虑这些识别要素可能不足以识别所述设备。在一些实施例中,还可以使用统计方法(例如,假设检验)来导出所述唯一标识符。在这种实施例中,可以执行对用户数据的预处理。例如,所述预处理可能涉及提取存在于所选图像中的人物的脸部特征,其中所述所选图像存储在设备的所选文件夹中。
此外,所导出的唯一标识符还可以用于代替基于HTTP cookie的机器绑定原理,其中多种网站结合基于用户名称/口令的认证使用所述基于HTTP cookie的机器绑定原理。
在详细描述主题之前,应首先描述可以实现该主题的示例硬件设备。本领域技术人员应认识到图1所述的元件可以根据***的实现方案而改变。参考图1,用于实现本文所述的主题的示例***包括硬件设备100,所述硬件设备100包括:处理单元102、存储器104、存储设备106、数据键入模块108、显示适配器110、通信接口112以及将元件104-112与处理单元102相耦接的总线114。硬件设备100可以是台式计算机、膝上型计算机、移动计算机、移动电话、平板计算机、服务器***或能够执行软件程序的任意其它类型设备。
总线114可以包括任何类型的总结架构。示例包括存储器总线、***设备总线、本地总线等。处理单元102是指令执行机器、装置或设备,并且可以包括微处理器、数字信号处理器、图形处理单元、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。处理单元102可以配置为执行存储在存储器104和/或存储设备106中的程序指令,和/或经由数据键入模块108接收到的程序指令。
存储器104可以包括只读存储器(ROM)116和随机存取存储器(RAM)118。存储器104可以配置为在操作设备100期间存储程序指令以及数据。在多种实施例中,存储器104可以包括多种存储器技术中的任何存储器技术,诸如,静态随机存取存储器(SRAM)或动态RAM(DRAM),包括例如诸如双数据速率同步DRAM(DDRSDRAM)、纠错码同步DRAM(ECC SDRAM)或RAMBUS DRAM(RDRAM)的变形。存储器104还可以包括非易失性存储器技术,诸如非易失性闪存RAM(NVRAM)或ROM。在一些实施例中,认识到存储器104可以包括诸如上述多种技术的组合以及没有具体提到的其它技术。当在计算机***中实现主题时,将包含基础例程的基础输入/输出***(BIOS)120存储在ROM 116中,所述基础例程有助于诸如在启动时在计算机***的元件之间传送信息。
存储设备106可以包括:闪存数据存储设备,用于读取和写入闪存;硬盘驱动,用于读取和写入硬盘;磁盘驱动,用于读取或写入可移动磁盘;和/或光盘驱动,用于读取或写入诸如CD ROM、DVD或其它光学介质的可移动光盘。所述驱动和与它们相关联的计算机可读介质提供对硬件设备100的计算机可读指令、数据结构、程序模块和其它数据进行非易失性存储。
应注意,本文所述的方法可被实现为在计算机可读介质中存储的可执行指令,以便由指令执行机器、装置或设备(诸如,基于计算机或包含处理器的机器、装置或设备)使用或与之结合使用。本领域技术人员应认识到,对于一些实施例,可以使用其它类型的能够存储由计算机访问的数据的计算机可读介质,诸如,磁带、闪存卡、数字视频盘、伯努利盒(Bernoulli cartridges)、RAM、ROM等也可以用于示例操作环境中。如本文所用,“计算机可读介质”可以包括任何适合介质中的一个或更多个,以便以电、磁、光和电磁格式中的一个或更多个格式存储计算机程序的可执行指令,使得指令执行机器、***、装置或设备可以从计算机可读介质读取(或取得)所述指令,并执行用于实现上述方法的指令。传统示例计算机可读介质的非排除性列表包括:便携式计算机磁盘;RAM;ROM;可擦除可编程只读存储器(EPROM或闪存);光存储设备,包括便携式压缩盘(CD)、便携式数字视频盘(DVD)、高清晰度DVD(HD-DVDTM)、蓝光盘等。
可以将多个程序模块存储在存储设备106、ROM 116或RAM 118上,包括操作***122、一个或更多个应用程序124、程序数据126和其它程序模块128。用户可以通过数据键入模块108向硬件设备100键入命令和信息。数据键入模块108可以包括诸如键盘、触摸屏、指示设备等的装置。其它外部输入设备(未示出)可以通过可选的外部数据键入接口130与硬件设备100相连。外部输入设备示例性而非限制性地包括麦克风、操控杆、游戏垫、卫星天线、扫描仪等。在一些实施例中,外部输入设备可以包括诸如视频摄像机、静态相机等的视频或音频输入设备。数据键入模块108可以配置为从设备100的一个或更多个用户接收输入并经由总线114向处理单元102和/或存储器104传送这种输入。
可选地,显示器132还经由显示适配器110与总线114相连。显示器132可以配置为向一个或更多个用户显示设备100的输出。在一些实施例中,例如,诸如触摸屏的特定设备可以用作数据键入模块108和显示器132。外部显示设备还可以经由可选外部显示接口134与总线114相连。诸如扬声器和打印机的其它***设备输出设备(未示出)可以与硬件设备100相连。应注意,如果所述硬件设备100包括在服务器场环境中,则显示器132可以与硬件设备100远程耦接。
硬件设备100可以通过使用经由通信接口112与一个或更多个远程节点(未示出)的逻辑连接在联网环境中进行操作。远程节点可以是其它计算机、服务器、路由器、对等设备或其它常用网络节点,通常包括以上相对硬件设备100描述的大部分的或所有的元件。通信接口112可以与无线网络和/或有线网络相连。无线网络的示例包括例如蓝牙网络、无线个域网、无线802.11局域网(LAN)、和/或无线电话网(例如,蜂窝、PCS或GSM网络)。有线网络的示例包括例如LAN、光纤网络、有线个域网、电话网络和/或广域网(WAN)。这种网络环境在内联网、互联网、办公室、企业范围的计算机网络等中是常见的。在一些实施例中,通信接口112可以包括配置为支持存储器104和其它设备之间的直接存储器访问(DMA)传输的逻辑电路。
在联网的环境中,可以将相对硬件设备100描述的程序模块或其一部分存储在远程存储设备中,诸如,在服务器上。应认识到,可以使用其他硬件和/或软件来在硬件设备100和其它设备之间建立通信链路。
应认识到,图1所示的硬件设备100的布置只是一个可能实现方案,还可能使用其它布置。还应理解,由权利要求限定的并在多种框图中描述的多种***组件(和装置)表示配置为执行本文所述功能的逻辑组件。例如,可以通过在硬件设备100的布置中所示的至少一些组件,来部分地或全部地实现这些***组件(和装置)中的一个或更多个。此外,尽管至少部分地将这些组件中的至少一个实现为电子硬件组件,从而构成了机器,然而其它组件可以实现为软件、硬件或软件和硬件的组合。更具体地,将由权利要求限定的至少一个组件至少部分地实现为电子硬件组件(诸如指令执行机器(例如,基于处理器的或包含处理器的机器)),和/或实现为专用电路(例如,互连以执行专门功能的离散逻辑门),诸如图1所示的那些组件。其他组件可以实现为软件、硬件或软件和硬件的组合。此外,可以合并这些其它组件中的一部分或全部,可以省略其中的一部分,可以添加其他组件,与此同时仍实现本文所述的功能。因此,本文所述的主题可被实现为多种不同变形,所有的这种变形旨在要求保护的范围内。
除非另有指示,否则在以下描述中,将参考由一个或更多个设备执行操作的动作和符号表示来描述主题。这样,应认识到这种动作和操作(有时被称作被计算机执行的)包括通过处理单元对结构形式的数据进行操控。这种操控对数据进行转换或将所述数据维持在计算机存储器***的位置处,所述计算机存储器***重新配置或以本领域技术人员周知的方式改变所述设备的操作。维持了数据的数据结构是存储器的物理位置,所述物理位置具有通过数据格式定义的特定属性。然而,尽管在上文中描述了主题,然而并不意味着限制所述主题,本领域技术人员应认识到,下文中所述的若干个动作和操作还可以实现为硬件。
为了便于理解下文所述的主题,以动作序列的方式描述多个方面。由电子硬件组件执行由权利要求限定的这些方法中的至少一个方面。例如,应认识到,可以通过专用电路、通过由一个或更多个处理器执行的程序指令或通过二者的组合来执行所述多种动作。本文对任何动作序列的描述不是为了暗示必须采用所述的特定顺序来执行所述序列。除非文中另作指出或上下文清楚地否认,可以以任何适合顺序执行本文所述的所有方法。在实施例中,计算机***100包括一个或更多个模块,以用于基于一系列元件或统计方法导出针对计算机***100的唯一标识符。
即使将本公开描述为用于基于一系列元素或统计方法从设备导出唯一标识符,然而本文所述的对唯一标识符的获得是示例性的。应注意,可以将本公开的一些方面用于反克隆以及内容或软件版权保护,而不偏离本文所述的核心构思。
标识要素可以由存在于设备中的任何类型的数据构成。例如,可以使用音乐文件、安装在所述设备中的小应用程序列表、安装在所述设备中的软件列表、具体***配置、虚拟机数据、数据元素大小、所选数据文件的内容、照片、联系人列表、存储在所述设备中的电话薄等来导出唯一标识符。
在一个示例中,用户可以识别特定文件夹或文件夹组,以便基于这些所选文件夹(或如果用户需要,仅基于一个文件夹)的内容计算标识符。通常,用户选择包含相对静止数据的文件夹,也就是说,这些文件夹的内容不随着时间显著改变。例如,包含与过去的特定事件相关的图片的文件夹或文件夹组(例如,结婚照文件夹)不太可能随着时间改变。可以基于这种静态文件夹的内容,产生稳定的唯一标识符。在一个示例中,可以结合所选文件夹的内容使用至少一个或更多个不同类型的数据来产生唯一标识符。在一个示例中,可以将文件属性用于导出所述唯一标识符,而不是使用在所选文件夹中的文件的数据内容。在再一示例中,生物测定技术可以用于从所选文件夹内的图像的面部或对象捕获信息,以便导出唯一标识符。
应注意,可以将诸如视频、音乐、书籍、文档、电子数据表等的多种类型文件用于导出所述唯一标识符。实际上,可以将存储在设备中的任何类型文件用于导出所述唯一标识符。在一些示例中,所述设备的用户可以选择一个或更多个类型的文件以便用于导出所述唯一标识符。在其它示例中,应用配置或托管要由所述设备执行的Web应用的Web服务器可以选择将用于导出唯一标识符的类型文件。
在一个示例中,用于导出唯一标识符的一系列数据可以随着时间改变。然而,在一个示例中,可以配置值的范围,如果唯一标识符在预先配置的值范围内,则即使进行匹配的标识符不是相同的,标识符匹配机制仍将指示匹配。在另一示例中,文件属性分别经过散列处理(hashed),并且针对被选择用于导出标识符或用于提供授权/认证服务的所述系列中的每个文件的不止一个散列得以维持。换言之,文件日期和尺寸可以与文件内容分别进行散列处理。
在一个示例中,在新导出的标识符落入先前导出的唯一标识符的预定义偏差范围内的情况下,用新导出的唯一标识符替换存储在配置中的先前导出的唯一标识符。
在另一示例中,可以使用图像散列处理。基于图像特征来计算图像散列处理。因此,如果存在采用具有不同位内容(由于不同类型的压缩)的文件格式的两个等同图像,则所导出的散列值是相同的或大体相同的。
在再一示例中,可以使用图像散列技术,其中从文件内容提取特性或特征,使得即使略微改变文件内容仍可以提取大量特性,并可以在先前纪录的特性测量到的特性之间确定匹配。在基于绝对值匹配或落入预定范围内的导出值的肯定匹配之后,新提取的特性可以代替先前纪录的特性,使得未来的比较将相对于最新验证的特性进行。通常,从图像或媒体文件提取特征涉及简化用于准确描述较大数据集所需的资源量。将输入数据转换为特征(也称作特征矢量)的缩减表示集合。将输入数据转换为特征集合被称作特征提取。
此外,在一个示例中,用户可以使用基于云的数据备份服务,以便在用户专门使用的所有设备之间同步这种文件夹。这种对这些文件夹的同步允许用户自动地将用户专门使用的所有设备与需要进行设备软件绑定的软件进行绑定。此外,用户可以接着方便地使用他/她所有的设备来访问所述需要设备-服务绑定的基于Web的服务,而无需进行安全询问和答案。在一些示例中,基于Web的服务甚至可以不需要用户输入用户名称或口令来从他/她的设备访问基于Web的服务,其中所述设备具有初始用于将所述基于Web的服务与用户进行绑定的文件夹。
在一个示例中,在Web浏览器中执行的软件脚本或在设备操作***中执行的编程指令可以用于产生用于进行设备绑定的唯一标识符。可以使用多种方法之一(诸如,计算所选文件夹的内容的和/或存在所关心的设备中的其他类型的用户所选数据的散列值),来产生唯一标识符。在另一示例中,存储在所选文件夹中的文件的文件名称可以用于产生散列值。本领域技术人员应认识到,可以将其他技术用于基于存储在所述设备中的用户所选数据,导出唯一标识符。
一种导出唯一标识符的方法是计算一个或更多个所选文件的MD5/SHA1/CRC21/SHA256散列。在一个示例中,基于用户选择或基于在唯一标识符产生脚本或程序中的预设选择标准来维持配置。例如,用户可以配置唯一标识符产生脚本以便使用在一个或更多个文件夹中的特定类型文件(例如,存储在文件夹1或文件夹1&文件夹2中的jpg和/或png文件)。在另一示例中,基于Web的服务或需要与特定设备相绑定的软件可以预先配置唯一标识符产生脚本或程序,以便使用设备中的特定类型数据来计算散列。例如,可使用文件夹内容、所选注册值、存储于所述设备的用户简档中的所选信息等来计算散列。应注意,上述示例仅是为了便于理解本公开。本领域技术人员应认识到:可以将存储在所述设备中的多种其他类型的数据或内容用于产生唯一标识符。在一个示例中,用户还可以将不存储在所述设备中的数据用于产生唯一标识符。这种用户提供的数据可以结合所述存储在所述设备中的所选数据使用,以导出唯一标识符。
通常,文件内容或字符串的散列是唯一字,例如,根据输入字符串“CONSTELLATION BASED DEVICE BINDING.”导出以下散列:
MD5散列:3EC0D77DB85282C34DB4AE6C2E9F4CBA
SHA1散列:
0A925B68DFCA13A9A32E8D040E77CA02DBC9C17D
SHA-256散列:
01B09BF74B7F8A6A615F4C7FF81E6193D9CD05981947A78D05C31648217C216D
通常,无论文件内容或输入字符的尺寸如何,散列值的尺寸都保持相同。
图2示出了从设备的内容导出唯一标识符的示例流程图200。因此,在步骤202处,使用由用户输入的认证数据对设备进行认证。在一个示例中,认证数据可以包括用户名称和口令。还可以使用其它类型的熟知认证机制。在步骤204处,从存储在所述设备中的所选内容导出唯一标识符。所选内容可以是存储在文件夹中的数据(例如,图片、文本)以及包含在设备的用户配置文件中的信息。熟知的是,通常在设备中为登录到所述设备的用户维持登录简档。可以使用诸如数据压缩、计算散列值等的多种机制,来导出唯一标识符。在一个示例中,由基于Web的服务经由调用本地存储的(存储在设备中)公用程序或经由从托管所述基于Web的服务的服务器下载的基于浏览器的脚本,触发所述导出唯一标识符的处理。分别在步骤206和208,从所述设备接收到唯一标识符,并将所述唯一标识符连同用户认证信息存储在托管基于Web的服务的服务器处。
在一个示例中,仅执行一次所述处理200。然而,用户可以手动地触发执行所述处理200,以便在服务器处替换先前存储的唯一标识符。
图3示出了使用从设备的内容导出的唯一标识符认证服务的用户的示例流程图300。因此,在步骤302,当用户尝试访问基于Web的服务时,所述基于Web的服务在Web浏览器中向用户呈现登录特征。如果用户继续登录到基于Web的服务,则在步骤304,所述基于Web的服务引起使用预选内容从设备内容或用户/设备配置导出唯一标识符。在步骤306,基于Web的服务从所述设备接收所导出的唯一标识符,在步骤308,所述基于Web的服务尝试将接收到的唯一标识符与用户认证信息中的先前存储的唯一标识符进行匹配。如果是匹配的,则授权对基于Web的服务进行访问。
图4示出了使用从设备的内容导出的唯一标识符将软件与设备相绑定的示例流程图。因此,在步骤402,在所述设备上发起对软件的安装(install)或安装配置(setup)。在步骤404,从存储在所述设备中的所选内容导出唯一标识符。所选内容可以是存储在文件夹中的数据(例如,图片、文本)以及包含在设备的用户配置文件中的信息。熟知的是,通常在设备中为登录到所述设备的用户维持登录简档。可以使用诸如数据压缩、计算散列值等的多种机制,来导出唯一标识符。在步骤406,唯一标识符以防篡改的方式被安全地存储在软件配置中。在一个示例中,可以在存储之前对唯一标识符进行加密。
图5示出了用于授权软件的示例流程图500。因此,在步骤502,在设备中发起对软件的执行。在步骤504,从存储在设备中的所选内容导出唯一标识符。所选内容可以是存储在文件夹中的数据(例如,图片、文本)以及包含在设备的用户配置文件中的信息。熟知的是,通常在设备中为登录到所述设备的用户维持登录简档。可以使用诸如数据压缩、计算散列值等的多种机制,来导出唯一标识符。在步骤506,将新导出的唯一标识符与存储在软件配置中的唯一标识符进行匹配。在所述匹配之前,可以对新导出的唯一标识符进行加密。在步骤508,如果两个标识符是匹配的,则允许进一步执行所述软件。否则,终止执行所述软件。在一个示例中,可以将消息显示在所述设备的显示器上,以指示该软件未被授权在所述设备上运行。
除非文中另外指出或上下文明确否认,否则将在描述主题的上下文中(特别是在权利要求的上下文中)所用的术语“一”、“一个”和“所述”及类似提及理解为涵盖单数和复数。除非文中另外指示,否则文中对数值范围的引述仅是为了用作单独表示落入该范围内的每个单独值的简便方法,每个单独值都包括在本说明书中,正如同在文中对每个值都进行了单独引用一样。此外,由于通过本文所述的权利要求及其任意等同来限定保护构思的范围,所以以上描述仅是为了说明目的,而不是为了进行限制。除非另作说明,否则对本文所提供的任何示例和所有示例或示例性语句(例如,“诸如”)的使用仅是为了更好地说明主题,而不是限制主题的范围。在权利要求和具体描述中使用术语“基于”和对用于带来结果的条件加以指示的其它类似短语不是为了排除带来该结果的任何其它条件。不应将说明书中的任何语言理解为表示对实践要求保护的发明而言至关重要的任何未要求保护的要素。
本文描述了优选实施例,其中包括发明人知道的用于执行所要求保护的主题的最佳模式。当然,本领域普通技术人员在阅读上述描述时应清楚这些优选实施例的变形。发明人预料到本领域技术人员会适当地使用这种变形,并且发明人旨在涵盖以除了本文具体描述的方式之外的方式实践要求保护的主题。因此,在可适用法律的许可下,这种要求保护的主题包括所附权利要求中引用的主题的所有修改和等同。此外,除非文中另作指出或上下文明确否认,否则涵盖了上述要素在所有可能变形中的任何组合。

Claims (20)

1.一种将软件与设备绑定的方法,所述方法包括:
当在设备中安装配置软件期间:
从存储在所述设备中的内容导出唯一标识符;
将所述唯一标识符存储在软件的配置中;
当在所述设备中下一次调用所述软件期间:
从存储在所述设备中的相同内容导出新的唯一标识符;以及
将所述新的唯一标识符与所存储的唯一标识符进行匹配。
2.根据权利要求1所述的方法,其中在所述存储之前对所述唯一标识符进行加密。
3.根据权利要求1所述的方法,其中如果匹配失败,则终止执行所述软件。
4.根据权利要求1所述的方法,其中所述内容包括以下至少一项:存储在所选文件夹中的数据;以及存储在所述设备中的用户所选数据。
5.根据权利要求1所述的方法,其中当所存储的唯一标识符与所述新的唯一标识符相同时或当所述新的唯一标识符在所存储的唯一标识符的预定义偏差范围内时,所述匹配产生肯定响应。
6.根据权利要求5所述的方法,其中如果新的唯一标识符不与所存储的唯一标识符精确匹配,但是所述新的唯一标识符在所述预定义偏差范围内,则在软件的配置中用所述新的唯一标识符代替所存储的唯一标识符。
7.根据权利要求1所述的方法,其中所述内容包括以下各项中的一个或更多个:设备的***配置数据、存储在所述设备中的联系人列表、存储在所述设备中的照片、存储在所述设备中的用户所选数据以及安装在所述设备中的应用。
8.一种将用户与基于Web的服务进行认证的方法,所述方法包括:
在从设备对基于Web的服务进行首次访问期间,使得从存储在所述设备中的内容导出唯一标识符;
使用用户输入的认证数据对用户进行认证;
一旦认证成功,则在托管基于Web的服务的服务器处接收所导出的唯一标识符;
在从所述设备对所述基于Web的服务进行后续访问期间,使得从存储在所述设备中的相同内容导出新的唯一标识符,并在服务器处接收所述新的唯一标识符;以及
将所述新的唯一标识符与先前发送的唯一标识符进行匹配。
9.根据权利要求8所述的方法,其中所述内容包括存储在所选文件夹中的数据以及由用户输入的数据。
10.根据权利要求9所述的方法,其中如果匹配失败,则拒绝所述访问。
11.根据权利要求8所述的方法,其中所述内容包括存储在文件夹中的数据。
12.根据权利要求8所述的方法,其中所述内容包括存储在所述设备中的用户所选数据。
13.根据权利要求8所述的方法,其中所述内容包括以下各项中的一个或更多个:设备的***配置数据、存储在所述设备中的联系人列表、存储在所述设备中的照片、存储在所述设备中的用户所选数据以及安装在所述设备中的应用。
14.根据权利要求8所述的方法,其中所述内容包括存储在用户所选文件或用户所选文件夹中的数据。
15.一种计算机程序产品,所述计算机程序产品包括其中具有计算机可读程序代码的非瞬时计算机可读介质,所述计算机可读程序代码用于由一个或更多个处理器执行以实现用于将软件与设备进行绑定的方法,所述方法包括:
当在设备中安装配置软件期间:
从存储在所述设备中的内容导出唯一标识符;
将所述唯一标识符存储在软件的配置中;
当在所述设备中下一次调用所述软件期间:
从存储在所述设备中的相同内容导出新的唯一标识符;以及
将新的经过加密的唯一标识符与所存储的经过加密的唯一标识符进行匹配。
16.根据权利要求15所述的计算机可读介质,在所述存储之前,对所述唯一标识符进行加密。
17.根据权利要求16所述的计算机可读介质,其中如果匹配失败,则终止执行所述软件。
18.根据权利要求15所述的计算机可读介质,其中所述内容包括存储在文件夹中的数据。
19.根据权利要求15所述的计算机可读介质,其中所述内容包括存储在所述设备中的用户所选数据。
20.根据权利要求15所述的计算机可读介质,其中所述内容包括以下各项中的一个或更多个:设备的***配置数据、存储在所述设备中的联系人列表、存储在所述设备中的照片、存储在所述设备中的用户所选数据以及安装在所述设备中的应用。
CN201510134105.0A 2014-03-27 2015-03-25 基于系列的设备绑定的方法 Active CN104951714B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/227,681 US9953144B2 (en) 2014-03-27 2014-03-27 Constellation based device binding
US14/227,681 2014-03-27

Publications (2)

Publication Number Publication Date
CN104951714A true CN104951714A (zh) 2015-09-30
CN104951714B CN104951714B (zh) 2018-10-26

Family

ID=52810950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510134105.0A Active CN104951714B (zh) 2014-03-27 2015-03-25 基于系列的设备绑定的方法

Country Status (3)

Country Link
US (1) US9953144B2 (zh)
EP (1) EP2924566B1 (zh)
CN (1) CN104951714B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241793A (zh) * 2016-12-23 2018-07-03 大唐移动通信设备有限公司 一种生成Web网页应用***的方法及装置
CN110018854A (zh) * 2019-03-26 2019-07-16 联想(北京)有限公司 一种固件匹配方法、设备和计算机可读存储介质
CN110046503A (zh) * 2017-12-01 2019-07-23 意法半导体公司 安全固件提供和设备绑定机制
CN111095243A (zh) * 2018-03-13 2020-05-01 欧姆龙株式会社 控制器、许可证的管理方法和许可证的管理程序

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016061588A1 (en) * 2014-10-17 2016-04-21 Cloudwear, Inc. Verifying a user based on digital fingerprint signals derived from out-of-band data
US10397215B2 (en) * 2016-09-27 2019-08-27 Visa International Service Assocation Secure element installation and provisioning
US11308039B2 (en) * 2019-12-31 2022-04-19 Dropbox, Inc. Binding local device folders to a content management system for synchronization

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1530791A (zh) * 2003-03-03 2004-09-22 用于将软件包捆绑到具有硬件改变容限的计算机***的长硬件标识
US20050256864A1 (en) * 2004-05-14 2005-11-17 Semerdzhiev Krasimir P Fast comparison using multi-level version format
EP1962216A2 (en) * 2007-02-22 2008-08-27 Aladdin Knowledge Systems Method for detecting duplicated instances of a software license
CN102184180A (zh) * 2011-01-30 2011-09-14 北京开心人信息技术有限公司 一种文件排重的方法与***
CN103051763A (zh) * 2011-10-17 2013-04-17 联想(北京)有限公司 联系人头像标识生成方法和电子设备
CN103368740A (zh) * 2012-04-10 2013-10-23 西部数据技术公司 绑定内容到智能存储装置的数字版权管理***、装置和方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032113B2 (en) 2000-04-28 2006-04-18 Moldflow Ireland, Ltd. Network enabled application software system and method
US9436774B2 (en) * 2009-02-03 2016-09-06 Ims Health Incorporated Dynamic linking in sharepoint (TM)
US8666556B2 (en) * 2009-12-10 2014-03-04 Alcon Research, Ltd. Systems and methods for dynamic feedforward
US20140123255A1 (en) * 2012-10-25 2014-05-01 Uniloc Luxembourg, S.A. System and method for device authentication with built-in tolerance
US9088450B2 (en) * 2012-10-31 2015-07-21 Elwha Llc Methods and systems for data services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1530791A (zh) * 2003-03-03 2004-09-22 用于将软件包捆绑到具有硬件改变容限的计算机***的长硬件标识
US20050256864A1 (en) * 2004-05-14 2005-11-17 Semerdzhiev Krasimir P Fast comparison using multi-level version format
EP1962216A2 (en) * 2007-02-22 2008-08-27 Aladdin Knowledge Systems Method for detecting duplicated instances of a software license
CN102184180A (zh) * 2011-01-30 2011-09-14 北京开心人信息技术有限公司 一种文件排重的方法与***
CN103051763A (zh) * 2011-10-17 2013-04-17 联想(北京)有限公司 联系人头像标识生成方法和电子设备
CN103368740A (zh) * 2012-04-10 2013-10-23 西部数据技术公司 绑定内容到智能存储装置的数字版权管理***、装置和方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241793A (zh) * 2016-12-23 2018-07-03 大唐移动通信设备有限公司 一种生成Web网页应用***的方法及装置
CN110046503A (zh) * 2017-12-01 2019-07-23 意法半导体公司 安全固件提供和设备绑定机制
CN111095243A (zh) * 2018-03-13 2020-05-01 欧姆龙株式会社 控制器、许可证的管理方法和许可证的管理程序
CN110018854A (zh) * 2019-03-26 2019-07-16 联想(北京)有限公司 一种固件匹配方法、设备和计算机可读存储介质

Also Published As

Publication number Publication date
EP2924566A2 (en) 2015-09-30
EP2924566B1 (en) 2022-01-05
US20150278489A1 (en) 2015-10-01
EP2924566A3 (en) 2016-01-20
CN104951714B (zh) 2018-10-26
US9953144B2 (en) 2018-04-24

Similar Documents

Publication Publication Date Title
US11501533B2 (en) Media authentication using distributed ledger
US11049205B2 (en) System and method for electronically providing legal instrument
CN104951714A (zh) 基于系列的设备绑定
EP2924604B1 (en) Electronic biometric (dynamic) signature references enrollment method
US11523153B2 (en) System and techniques for digital data lineage verification
EP3694175B1 (en) System and method for delegating authority through coupled devices
CN112292682A (zh) 分散式文档和实体验证引擎
CN104733008A (zh) 一种基于指纹识别可实现云存储的移动存储设备
US9276887B2 (en) Systems and methods for managing security certificates through email
US20140351913A1 (en) Verifying User Information
US20080313186A1 (en) Method and computer-readable media for creating verified business transaction documents
US20230095939A1 (en) Signature Token System
TWI595380B (zh) 產生與驗證具電子認證與紙本認證的認證電子文件之裝置及其方法
EP3474180B1 (en) Authentication for computing systems
WO2019062184A1 (zh) 银行保单数据对接方法及保单数据服务器
EP3748905B1 (en) Method of verifying partial data based on collective certificate
CN118337511A (zh) 电子单证验真方法、装置及电子设备
CN114491493A (zh) 数据取证方法、装置、电子设备及存储介质
EP3884611A1 (en) Method and system for providing a tamper proof record chain
Lenz et al. Enhancing the modularity and applicability of web-based signature-verification tools

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