CN111552929A - 利用软件保护器控制对接口的访问 - Google Patents

利用软件保护器控制对接口的访问 Download PDF

Info

Publication number
CN111552929A
CN111552929A CN202010303931.4A CN202010303931A CN111552929A CN 111552929 A CN111552929 A CN 111552929A CN 202010303931 A CN202010303931 A CN 202010303931A CN 111552929 A CN111552929 A CN 111552929A
Authority
CN
China
Prior art keywords
dongle
interface
program code
workstation
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
CN202010303931.4A
Other languages
English (en)
Other versions
CN111552929B (zh
Inventor
D.J.卡波尔内克
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.)
Micro Motion Inc
Original Assignee
Micro Motion Inc
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 Micro Motion Inc filed Critical Micro Motion Inc
Priority to CN202010303931.4A priority Critical patent/CN111552929B/zh
Publication of CN111552929A publication Critical patent/CN111552929A/zh
Application granted granted Critical
Publication of CN111552929B publication Critical patent/CN111552929B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] 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/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/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • 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/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • 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/2153Using hardware token as a secondary aspect

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Storage Device Security (AREA)
  • Telephonic Communication Services (AREA)

Abstract

提供了一种用于控制对接口(200)的访问的软件保护器(100)。所述软件保护器(100)包括被配置成通信地耦合到所述接口(200)的软件保护器存储器(120),所述软件保护器存储器(120)包括包含经授权的菜单(122a)的程序代码(122),其中所述程序代码(122)被配置成授权访问所述接口(200)上的一个或多个菜单。

Description

利用软件保护器控制对接口的访问
技术领域
本申请是申请号为:201580080036.8,发明名称为:利用软件保护器控制对接口的访问的分案申请。在下面所描述的实施例涉及用于工业设备的接口,并且更具体地,涉及利用软件保护器(dongle)控制对接口的访问。
背景技术
工业设备可包括被许多不同的用户访问的接口。例如,多个轮班可以经由设备的接口与一件特定工业设备交互。接口通常包括控制并监视工业设备的软件和设定。例如,软件可以包括菜单,所述菜单当被访问时,可影响工业设备的操作。对软件和设定的不适当改变可以不利地影响工业设备的可靠操作并且甚至可导致灾难性事件。
许多工业设法通过利用登录名(login)和密码限制对接口的访问来确保他们的设备的可靠操作。例如,接口的每个用户可以被设置有唯一登录名和密码。为了访问接口上的菜单,用户输入登录名和密码。然而,因为每个接口存在许多用户,所以每个用户的登录名和密码可不当地消耗接口中有限的计算资源。此外,登录名和密码易受人类弱点(诸如遗忘或共享密码)影响。因此,使用登录名和密码来控制对接口的访问不仅繁琐,而且也可以导致用户未经授权的访问。
因此,需要在对接口上的计算资源没有不合需要的消耗的情况下授权访问接口。也需要在防止未经授权的访问的同时针对接口来管理大量用户的授权。可通过利用软件保护器控制对接口的访问来满足这些和其他需要。
发明内容
提供了一种用于控制对接口的访问的软件保护器。根据实施例,所述软件保护器包括被配置成通信地耦合到所述接口的软件保护器存储器。所述软件保护器存储器包括包含经授权的菜单的程序代码。所述程序代码被配置成授权访问所述接口上的一个或多个菜单。
提供了一种用于利用软件保护器控制对接口的访问的系统。根据实施例,所述系统包括:被配置成通信地耦合到所述接口的所述软件保护器,所述软件保护器包括包含程序代码的软件保护器存储器,所述程序代码包括经授权的菜单;以及通信地耦合到所述软件保护器存储器的处理器。所述处理器被配置成从所述软件保护器存储器接收所述程序代码并且基于所述经授权的菜单授权访问所述接口上的一个或多个菜单。
提供了一种用于控制对接口的访问的方法。根据实施例,所述方法包括:检测通信地耦合到所述接口的软件保护器,所述软件保护器包括具有包含经授权的菜单的程序代码的软件保护器存储器;利用所述接口从所述软件保护器存储器读取程序代码;以及授权访问所述接口上的一个或多个菜单。
提供了一种用于利用软件保护器远程控制对接口的访问的系统。根据实施例,所述系统包括:授权工作站;以及用户工作站,所述用户工作站通过网络通信地耦合到所述授权工作站。所述用户工作站被配置成写入包括接收到的软件保护器ID的程序代码,所述接收到的软件保护器ID由所述用户工作站提供给所述授权工作站。
提供了一种用于利用软件保护器远程控制对接口的访问的方法。根据实施例,所述方法包括:从所述软件保护器接收软件保护器ID;将所接收到的软件保护器ID编码到程序代码中;以及利用用户工作站将所述程序代码写入到所述软件保护器。
各方面
根据一个方面,一种用于控制对接口(200)的访问的软件保护器(100)包括被配置成通信地耦合到所述接口(200)的软件保护器存储器(120)。所述软件保护器存储器(120)包括包含经授权的菜单(122a)的程序代码(122)。所述程序代码(122)被配置成授权访问所述接口(200)上的一个或多个菜单。
优选地,所述软件保护器(100)还包括通信地耦合到所述软件保护器存储器(120)的连接器(110),其中所述连接器(110)被配置成通信地耦合到所述接口(200)。
优选地,所述程序代码(122)还包括参考值(122b)并且所述软件保护器存储器(120)还包括软件保护器ID(124),并且其中所述参考值(122b)可与所述软件保护器ID(124)相比较以确定所述程序代码(122)是否与所述软件保护器(100)相关联。
优选地,所述程序代码(122)被配置成基于所述经授权的菜单(122a)授权访问所述接口(200)上的所述一个或多个菜单以及终止对所述接口(200)上的所述一个或多个菜单的授权中的至少一个。
优选地,当所述软件保护器(100)是通信地耦合到所述接口(200)以及与所述接口(200)通信地解耦中的至少一个时所述程序代码(122)通过所述接口(200)来执行。
优选地,所述接口(200)是用于工业设备(5)的接口。
根据一个方面,一种用于利用软件保护器(100)控制对接口(200)的访问的系统(10)包括被配置成通信地耦合到所述接口(200)的所述软件保护器(100)。所述软件保护器(100)包括包含程序代码(122)的软件保护器存储器(120),所述程序代码(122)包括经授权的菜单(122a)。所述系统(10)还包括通信地耦合到所述软件保护器存储器(120)的处理器(212)。所述处理器(212)被配置成从所述软件保护器存储器(120)接收所述程序代码(122)并且基于所述经授权的菜单(122a)授权访问所述接口(200)上的一个或多个菜单。
优选地,所述程序代码(122)还包括参考值(122b)并且所述软件保护器存储器(120)还包括软件保护器ID(124),并且其中所述处理器(212)还被配置成将所述参考值(122b)与所述软件保护器ID(124)相比较以确定所述程序代码(122)是否与所述软件保护器(100)相关联。
优选地,所述处理器(212)被配置成基于所述经授权的菜单(122a)授权访问所述接口(200)上的所述一个或多个菜单以及终止对所述接口(200)上的所述一个或多个菜单的授权中的至少一个。
优选地,所述处理器(212)被配置成当所述程序代码(122)由所述处理器(212)执行时授权访问所述接口(200)上的所述一个或多个菜单以及终止对所述接口(200)上的所述一个或多个菜单的授权中的至少一个。
优选地,所述处理器(212)还被配置成检测所述软件保护器(100)通信地耦合到所述接口(200)以及所述软件保护器(100)与所述接口(200)通信地解耦中的至少一个。
优选地,所述接口(200)是用于工业设备(5)的接口。
根据一个方面,一种用于控制对接口的访问的方法包括检测通信地耦合到所述接口的软件保护器。所述软件保护器包括具有包含经授权的菜单的程序代码的软件保护器存储器。所述方法还包括利用所述接口从所述软件保护器存储器读取所述程序代码并且授权访问所述接口上的一个或多个菜单。
优选地,所述程序代码还包括参考值并且所述软件保护器存储器还包括软件保护器标识符,并且其中所述方法还包括与所述软件保护器标识符相比较以确定所述程序代码是否与所述软件保护器相关联。
优选地,所述方法还包括:检测到所述软件保护器与所述接口通信地解耦;确定对所述接口上的经授权的菜单中的所述一个或多个的所述授权是否已期满;以及终止对所述接口上的所述一个或多个菜单的授权。
优选地,所述程序代码被配置成基于所述经授权的菜单授权访问所述接口上的所述一个或多个菜单以及终止对所述接口上的所述一个或多个菜单的授权中的至少一个。
优选地,当所述软件保护器是通信地耦合到所述接口以及与所述接口通信地解耦中的至少一个时所述程序代码通过所述接口来执行。
根据一个方面,一种用于利用软件保护器(100)远程控制对接口(200)的访问的系统(900)包括:授权工作站(910);以及用户工作站(920),所述用户工作站(920)通过网络(930)通信地耦合到所述授权工作站(910)。所述用户工作站(920)被配置成写入包括接收到的软件保护器ID(124)的程序代码(122),所述接收到的软件保护器ID(124)由所述用户工作站(920)提供给所述授权工作站(910)。
优选地,所述授权工作站(910)和所述用户工作站(920)中的至少一个被配置成将所述接收到的软件保护器ID(124)编码到所述程序代码(122)中。
优选地,所述授权工作站(910)和所述用户工作站(920)中的至少一个是移动设备。
根据一个方面,一种用于利用软件保护器远程控制对接口的访问的方法包括:从所述软件保护器接收软件保护器ID;将所接收到的软件保护器ID编码到程序代码中;以及利用用户工作站将所述程序代码写入到所述软件保护器。
优选地,所述软件保护器ID由通过网络与所述用户工作站通信的授权工作站接收。
优选地,所述软件保护器ID由所述授权工作站和所述用户工作站中的至少一个编码到所述程序代码中。
优选地,所述授权工作站和所述用户工作站中的至少一个是移动设备。
附图说明
在所有附图上相同的附图标记表示相同的元素。应该理解的是,附图不一定按比例绘制。
图1示出了用于利用软件保护器100控制对接口200的访问的系统10的前透射图。
图2示出了图1中所示出的软件保护器100和接口200的放大前透射图。
图3示出了用于控制对接口200的访问的软件保护器100的剖视平面图。
图4示出了用于利用软件保护器100控制对接口200的访问的软件保护器100的功能框图。
图5示出了根据其中软件保护器100被插入到接口200中的实施例的系统10的框图。
图6示出了当软件保护器通信地耦合到接口时控制对接口的访问的方法600。
图7示出了根据其中软件保护器被从接口移除的实施例的用于利用软件保护器控制对接口的访问的另一方法700。
图8示出了通过接口200显示的示例性菜单。
图9示出了根据实施例的用于远程控制对接口200的访问的系统900。
图10示出了根据实施例的用于利用软件保护器100远程控制对接口200的访问的方法1000。
具体实施方式
图1至图10和以下描述描绘了教导本领域的技术人员如何做出并使用实施例的最佳模式以便利用软件保护器控制对接口的访问的特定示例。出于教导发明原理的目的,已经简化或者省略了一些常规方面。本领域的技术人员将从这些示例了解落入本说明书的范围内的变化。本领域的技术人员将了解,可以各种方式组合在下面所描述的特征以形成利用软件保护器控制对与接口的访问的多个变化。结果,在下面所描述的实施例不限于在下面所描述的特定示例,而是仅由权利要求书及其等同物来限制。
在下面所描述的示例系统和方法包括可从软件保护器读取程序代码的接口。程序代码可以授权访问接口上的一个或多个菜单。以下示例也可防止通过伪造软件保护器对接口的未经授权的访问。另外描述了远程控制对接口的访问,这包括从在用户的位置处的软件保护器接收软件保护器ID。所接收到的软件保护器ID被编码到程序代码中。程序代码被写入到软件保护器,这可以控制在用户的位置处对接口的访问。
用于利用软件保护器控制对接口的访问的系统
图1示出了用于利用软件保护器100控制对接口200的访问的系统10的前透射图。系统10被示出有接近于但未插入到接口200中的软件保护器100。接口200被固定到工业设备5。在所示出的实施例中,工业设备5是科里奥利流量计,诸如由高准(Micro Motion)公司制造的那些流量计。科里奥利流量计可测量流过科里奥利流量计的材料的性质。在所示出的实施例中,材料可以经由入口5a和出口5b流过科里奥利流量计。在替代实施例中,其他类型的设备(诸如音叉密度计、流量控制阀和系统、压力换能器、温度传感器等)可以耦合到接口200。
接口200也通信地耦合到工业设备5。也就是说,接口200可发送和/或接收来自工业设备5的信号。信号可包括例如表示流过工业设备5的材料的性质的测量值。附加地或替换地,信号可包括例如驱动信号、流量控制信号(其中工业设备5包括流量控制设备等),或被发送到工业设备5的其他信号。信号可以是可以通过导体、无线通信链路等发送的电气、光学或任何其他适当的形式。
在所示出的实施例中,接口200接近于工业设备5。在替代实施例中,接口200可以在不接近工业设备5的位置处。例如,接口200可以在远离工业设备5的控制室中,其中接口200被有利地与危险或有害环境隔开。此外,可以远程访问菜单,这对于例如比较从分散在大区域之上的不同工业设备获得的数据的用户来说可以是有利的。然而,当例如用户需要在访问接口200中的菜单的同时在工业设备5的可达范围内时接口200接近于工业设备5可以是有利的,在下面对此进行更详细的描述。
图2示出了图1中所示出的软件保护器100和接口200的放大前透射图。如可看到的,接口200具有耦合到接口显示器220的接口面板210。示例性菜单被示出在接口显示器220中。接口200也包括按钮230。在所示出的实施例中,按钮230包括滚动按钮232和选择按钮234。用户可使用滚动按钮232来滚动菜单直到期望的菜单被指示为止。如图2中所示。所期望的菜单通过箭头“>”来指示。用户然后可按选择按钮234来选择所期望的菜单。
然而,如图2中所示,所期望的菜单也具有授权指示符,该授权指示符是紧挨着“菜单2”的“(AUTH)”。该授权指示符可以通知用户所期望的菜单需要授权。如果用户试图在插入软件保护器100之前选择所期望的菜单,则接口200可以拒绝对所期望的菜单的访问。用户可以插入软件保护器100以获得对所期望的菜单的授权。其他实施例可以包括使用例如蓝牙TM协议来以无线方式启用并且因此不用插入的软件保护器。一旦获得了授权,用户就可以按选择按钮234来访问所期望的菜单。可以通过从软件保护器100读取程序代码来获得授权,如将在下文中更详细地说明的。
软件保护器
图3示出了用于控制对接口200的访问的软件保护器100的剖视平面图。软件保护器100包括通信地耦合到软件保护器存储器120的连接器110。软件保护器100被示出为通用串行总线(USB)记忆棒,但是在替代实施例中可采用任何适合的通信协议、连接器和/或存储器。在所示出的实施例中,并且如将在下文中参考图4更详细地描述的,软件保护器存储器120可包括可控制对接口200的访问的代码、数据等。
连接器110被配置成通信地耦合到接口200。例如,在所示出的实施例中,连接器110是可与接口200上的母USB连接器配合的公USB连接器。软件保护器100与接口200之间的通信因此可使用USB协议来发生。在图3中所示出的实施例和其他实施例(诸如其中软件保护器被以无线方式启用的实施例)中,软件保护器存储器120可以被配置成通信地耦合到接口200。通信可以包括在接口200与软件保护器存储器120之间转移信息。
如图3中所示,软件保护器存储器120是单件存储器。软件保护器存储器120可以由闪速存储器组成,所述闪速存储器可被读取和写入多次并且可在无需提供电力的情况下存储程序代码、数据等。然而,在替代实施例中,可以采用两个或更多个有区别的和/或不同类型的存储器。例如,软件保护器存储器120可以由用于代码的闪速存储器和用于数据的只读存储器(ROM)组成。ROM可以是所希望的以防止对存储在ROM中的数据的修改。然而,包括可重写存储器(诸如闪速存储器)也可以是有利的,以确保软件保护器100可被修改。在这些和其他实施例中,存储在软件保护器存储器120中的代码和数据可控制对接口200的访问,如将在下文中更详细地描述的。
图4示出了用于利用软件保护器100控制对接口200的访问的软件保护器100的功能框图。如图4中所示,软件保护器100包括上文中所描述的连接器110和软件保护器存储器120。软件保护器存储器120包括程序代码122。在所示出的实施例中,程序代码122是包括经授权的菜单122a部分和参考值122b的C程序,但是在替代实施例中可采用任何适合的语言和程序代码。软件保护器存储器120也被示出有与程序代码122分开的软件保护器ID 124。
经授权的菜单122a可以是对应于接口200中的一个或多个菜单的菜单的列表。经授权的菜单122a可以是接口200中的可用菜单的子集或全部。经授权的菜单122a可以是对应于接口200中的菜单的标签的菜单的简单文本列表。菜单的列表可以有利地减少接口200上的计算处理负荷。附加地或替换地,经授权的菜单122a可以包括与接口200中的菜单的子集相关联的值。例如,不是菜单的列表而是经授权的菜单122a可以是接口200与接口200中的菜单的子集相关联的标量值。标量值通过在授权用户访问接口200之前减少必须由接口200读取的数据量可以是有利的。授权给用户可包括读取参考值122b。
参考值122b被示出为十六进制值,但是可以采用任何适合的值。参考值122b使程序代码122与软件保护器100相关联。例如,参考值122b可以与特定软件保护器100相关联。在替代实施例中,参考值122b可以与针对一组特定工人的一组软件保护器相关联。例如,对于被授权访问接口200上的菜单的相同集合的不同用户来说可以期望具有相同软件和软件保护器的副本。然而,尽管可生产多个软件保护器,但软件保护器100也可以防止利用伪造软件保护器的经授权的访问,如以下讨论图示的那样。
伪造软件保护器
未经授权的用户可能希望访问接口200上的菜单,但是由于例如在操作工业设备5方面缺少培训而可能不具有对软件保护器100的物理控制。然而,未经授权的用户可以试图将程序代码122从软件保护器100复制到在他的控制下的伪造软件保护器上。然而,如果程序代码122将被复制到伪造软件保护器的存储器中,则程序代码122可以不与伪造软件保护器相关联。例如,伪造软件保护器可能具有与从其复制了程序代码122的软件保护器100的软件保护器ID 124不同的软件保护器ID。
为了确保程序代码122不被从伪造软件保护器读取,接口200可以执行防止读取程序代码122的例行程序。例如,在接口200读取程序代码122之前,接口200可以将参考值122b与伪造软件保护器ID相比较。比较可以指示程序代码122不与伪造软件保护器相关联。结果,接口200不能从伪造软件保护器执行程序代码122。这可防止未经授权的用户访问接口200。
为了规避此限制,用户也可能试图将软件保护器ID 124从软件保护器存储器120复制到伪造软件保护器中的可重写存储器上。然而,当试图从伪造软件保护器读取软件保护器ID时,接口200可以被限于伪造软件保护器中的存储器的特定部分。例如,接口200可以被限于用于读取软件保护器ID的伪造软件保护器中的存储器的只读部分。因此,未经授权的用户复制到伪造软件保护器上的软件保护器ID 124不被接口200读取。
尽管上文将参考值122b和软件保护器ID 124描述为被以明文形式存储在存储器中,然而在替代实施例中可以采用替代存储手段。例如,可以期望以加密形式存储参考值122b。可以利用由接口200保留的密钥对参考值122b进行加密。在没有密钥的情况下,未经授权的用户不能创建与伪造软件保护器的软件保护器ID相关联的加密参考值。
可以采用防止利用伪造软件保护器对接口200的未经授权的访问的其他方法。因为软件保护器ID 124和参考值122b指示软件保护器100不是伪造软件保护器,所以软件保护器100可以由接口200读取。因此,软件保护器100可通信地耦合到接口200以控制对接口200的访问。
通讯地耦合到接口的软件保护器
图5示出了根据其中软件保护器100被插入到接口200中的实施例的系统10的框图。如可看到的,软件保护器存储器120经由连接器110通信地耦合到接口200。在所示出的实施例中,接口面板210包括与软件保护器存储器120通信地耦合的处理器212。处理器212也与接口存储器214和接口显示器220通信地耦合。如在下文中说明的,处理器212被配置成授权访问接口200上的一个或多个菜单。
处理器212被配置成从软件保护器100接收程序代码122和软件保护器ID 124。处理器212也可以被配置成将程序代码122和软件保护器ID 124写入到接口存储器214。处理器212可接收来自滚动按钮232和选择按钮234的信号。因此,当用户按选择按钮234时,处理器212可以在接口显示器220上显示一个或多个菜单。所选择的菜单是否被显示在接口显示器220上取决于软件保护器100是否授权访问一个或多个菜单。处理器212可确定软件保护器100是否利用从软件保护器存储器120读取的程序代码122授权访问一个或多个菜单。因此,处理器212可以执行控制对接口200的访问的方法。在下文中对示例性方法进行描述。
用于利用软件保护器控制对接口的访问的方法
图6示出了当软件保护器通信地耦合到接口时控制对接口的访问的方法600。在所示出的实施例中,方法600在步骤610中检测通信地耦合到接口的软件保护器。方法600的软件保护器可以是上文中所描述的软件保护器100。类似地,方法600的接口可以是上文中所描述的接口200。在步骤620中,方法600利用接口从软件保护器读取程序代码。通过方法600读取的程序代码可以是上文中所描述的程序代码122。在步骤630中,当程序代码在接口上被执行时方法600授权访问接口的一个或多个菜单。
在步骤610中,方法600可以以各种方式检测通信地耦合到接口的软件保护器。例如,参考上文中所描述的实施例,方法600可使用USB协议来检测软件保护器100。附加地或替换地,在用户在接口上输入安装软件保护器的命令之前接口可能不会检测到软件保护器。替代实施例可以采用检测通信地耦合到接口的软件保护器的不同方法。在检测到软件保护器之后,方法600可以从软件保护器读取程序代码和数据。
在步骤620中,方法600可通过例如验证程序代码与软件保护器相关联来从软件保护器存储器读取程序代码。参考上文中所描述的软件保护器100,接口200可以从软件保护器100读取参考值122b和软件保护器ID 124。接口200可对参考值122b和软件保护器ID 124进行比较以确定程序代码122是否与软件保护器100相关联。例如,处理器212可以确定参考值122b是否等于软件保护器ID 124。在验证程序代码与软件保护器相关联之后,方法600可以继续到步骤630。
在步骤630中,方法600可以授权访问接口中的一个或多个菜单。参考上文中所描述的接口200,处理器212可以在接口显示器220上显示存储在接口存储器214中的一个或多个菜单。然而,在显示所述一个或多个菜单之前,处理器212可以将接口存储器214中的一个或多个菜单与程序代码122中的经授权的菜单122a相比较。如果所述一个或多个菜单在经授权的菜单122a中,则处理器212可以将所述一个或多个菜单显示在接口显示器220上。可以在用户利用选择按钮234选择所期望的菜单之后显示所述一个或多个菜单。
如上文中所讨论的,软件保护器也可与接口通信地解耦。使软件保护器与接口通信地解耦可使对一个或多个菜单的授权终止,如将在下文中参考图7更详细地描述的。
终止授权
图7示出了根据其中软件保护器被从接口移除的实施例的用于利用软件保护器控制对接口的访问的另一方法700。在步骤710中,方法700可以检测到软件保护器与接口通信地解耦。软件保护器和接口可以是上文中所描述的软件保护器100和接口200。在步骤720中,方法700可确定对一个或多个菜单的授权是否已期满。如果授权尚未期满,则方法700将循环回到步骤720的开头并且再次确定授权是否已期满。如果授权已期满,则方法700在步骤730终止对一个或多个菜单的授权。
在步骤710中,方法700可以通过各种手段来检测软件保护器通信地解耦。例如,用户可以在接口200上选择从接口200卸下软件保护器100的菜单项。也就是说,软件保护器100在被卸下之后仍然可以物理上耦合到接口200但是不可以与接口200通信。替换地,可以通过从接口200移除软件保护器100来使软件保护器100与接口200通信地解耦。可以在其他实施例中采用替代方法来使软件保护器100与接口200通信地解耦。
使软件保护器与接口通信地解耦可以启动定时器,所述定时器确定对接口200上的一个或多个菜单的访问的期满。例如,从接口200移除软件保护器100可使处理器212将时间戳写入到处理器212上的寄存器。附加地或替换地,使软件保护器与接口通信地解耦可以改变寄存器的状态。随后可以通过方法700访问寄存器以终止授权。
在步骤720中,方法700可通过例如确定是否已经过一定量的时间来确定对一个或多个菜单的授权是否已期满。参考接口200,方法700能周期性地将写入到寄存器的时间戳与从时钟获得的实际时间相比较。当实际时间与时间戳之间的差大于参考时间时,方法700能指示授权已期满。
在步骤730中,方法700可终止对一个或多个菜单的授权。例如,方法700能防止用户输入信息、选择一个或多个菜单中的菜单项等。方法700也能防止用户在接口上读取数据或者访问信息。参考上文中所描述的接口200,处理器212可终止对一个或多个菜单的授权。例如,处理器212能将接口存储器214中的一个或多个菜单与程序代码122中的经授权的菜单122a相比较。在经授权的菜单122a中未列举并且不需要授权的菜单可以被所有用户访问。
如上文中所描述的,方法600、700是授权和终止对接口的授权的单独的方法。然而,方法600、700可以是具有循环的单一方法,所述循环持续地确定软件保护器100是否通信地耦合到接口200。此外,可以了解的是,方法600、700也可以控制通过接口显示什么菜单。作为图示,在下文中对由接口显示器220示出的菜单的示例性序列进行描述。
通过接口显示的菜单
图8示出了通过接口200显示的示例性菜单。如图8中所示,接口显示器220具有由主菜单222a和未经授权的访问通知222b组成的未经授权的序列222。未经授权的序列222图示了当用户试图访问未经授权的菜单时可以向用户显示的菜单。另外在图8中示出了由主菜单224a(其可以与未经授权的序列222的主菜单222a相同)、软件保护器插入通知224b、经授权的菜单224c、软件保护器移除通知224d和期满授权通知224e组成的经授权的序列224。经授权的序列224图示了可以利用对接口200的经授权的访问向用户显示的菜单。下文将未经授权的序列222与经授权的序列224相比较。
在未经授权的序列222中,用户可以试图在没有软件保护器100的情况下访问主菜单222a中所示出的菜单2。因为软件保护器100未被插入到接口200中,所以用户未被授权访问通过接口200显示的菜单2。因此,当用户按选择按钮234时,接口200显示未经授权的访问通知222b。未经授权的访问通知222b可以在返回到主菜单222a之前被显示达一段时间。
在经授权的序列224中,用户可以具有软件保护器100以获得对接口200的经授权的访问。当主菜单224a被显示时,用户将软件保护器100插入到接口200中。接口200可检测软件保护器100并显示软件保护器插入通知224b。在接口200授权访问之后,用户通过按选择按钮234来选择菜单2。接口200然后可以显示经授权的菜单224c。
用户可以在与接口200交互期间或之后从接口200移除软件保护器100。例如,用户可能仅需要从接口200读取单个测量结果。因此,用户可以插入软件保护器100足够长时间以获得对经授权的菜单224c的授权。替换地,当用户完成与接口200交互时用户可以移除软件保护器100。在任何一种情况下,用户可以能够访问经授权的菜单224c直到授权被终止为止。
在软件保护器100被移除或者卸下之后,接口显示器220可以显示软件保护器移除通知224d,所述软件保护器移除通知224d向用户通知对软件保护器移除通知224d的授权剩下的时间。在所示出的实施例中,剩余十分钟,但是在替代实施例中可以剩余更多或更少的时间。在授权已期满之后,接口显示器220可显示期满授权通知224e。在一段时间之后,接口显示器220可以返回并显示主菜单224a。为了在先前授权已期满之后获得重新授权,用户可以将软件保护器100重新插入到接口200中。
可通过上文中所描述的方法600、700来执行上述步骤。然而,可执行用于授权和终止访问接口200的任何适合的方法。例如,被以无线方式启用的软件保护器可以在无需物理上附接到接口200的情况下与接口200(或替代接口)通信地耦合。此外,可显示替代菜单和通知并且/或者可以采用替代菜单序列。例如,在替代菜单序列中可以不显示软件保护器插入通知224b和软件保护器移除通知224d。
可以了解的是,即使软件保护器100可以在本地用来控制对接口200的访问,也可以存在其中远程控制对接口200的访问是有利的情况。例如,当软件保护器100是需要的但不是立即可用的时候可以存在非计划事件,诸如例如设备崩溃、灾难性故障、人事变动等。远程控制访问将允许用户在此类事件中访问接口200。在下文中对用于远程控制对接口的访问的示例性系统和方法进行更详细的讨论。
远程控制对接口的访问
图9示出了根据实施例的用于远程控制对接口200的访问的系统900。如图9中所示,系统900包括经由网络930与用户工作站920通信的授权工作站910。授权工作站910可以在例如在美国的位置处。在实施例中,网络930可以是因特网。用户工作站920可以在用户的位置处。根据实施例,用户的位置可以是工业位置,诸如例如离岸石油钻塔、石油加工厂等。用户工作站920被示出通信地耦合到上文中所描述的软件保护器100,但是在替代实施例中可采用任何适合的软件保护器。
授权工作站910和用户工作站920可以被配置成读取和写入到程序代码,诸如通过从授权工作站910延伸的插图编号912所图示的程序代码。程序代码可以是上文中所描述的程序代码122。在所示出的实施例中,授权工作站910和用户工作站920可以是运行例如将软件保护器ID编码到程序代码中的方法的实例的个人计算机。授权工作站910和用户工作站920也可以被配置成编写或者修改程序代码中的经授权的菜单,诸如例如上文中所描述的经授权的菜单122a。可以将程序代码写入到通信地耦合到用户工作站920的软件保护器100。
尽管授权工作站和用户工作站被描述为个人计算机,但是其他实施例可以采用不是个人计算机的授权和用户工作站。例如,授权工作站和/或用户工作站可以是移动设备,诸如蜂窝电话、平板计算机等。此外,替代软件保护器可以未被插入到用户工作站920中,而是可以替代地与用户工作站920无线通信。在另一实施例中,以无线方式启用的软件保护器可以与移动设备无线通信。在替代实施例中可以采用其他配置。
如可了解的,可采用系统900来远程控制对接口200的访问,所述系统900可以在用户的位置处。例如,系统900可通过将软件保护器ID写入到程序代码并且然后利用用户工作站920将程序代码写入到软件保护器100来远程控制访问,如将在下文中将参考图10更详细地描述的。
图10示出了根据实施例的用于利用软件保护器100远程控制对接口200的访问的方法1000。方法1000通过从用户的位置处的软件保护器接收软件保护器ID从步骤1010开始。用户的位置处的软件保护器可以是软件保护器100并且软件保护器ID可以是上文中所描述的软件保护器ID 124。在步骤1020中,方法1000将所接收到的软件保护器ID编码到程序代码中。方法1000然后将程序代码写入到用户的位置处的软件保护器。程序代码可以意在用于图9中所示出的软件保护器100。
在步骤1010中,方法1000可通过使用上文中所描述的系统900来从用户的位置处的软件保护器接收软件保护器ID,但是在替代实施例中可采用任何适合的系统。参考系统900,授权工作站910可经由网络930接收软件保护器ID 124。可以在由授权工作站910发送查询之后发送软件保护器ID 124。替换地,可以在没有来自授权工作站910的查询的情况下通过用户工作站920来发送软件保护器ID 124。例如,用户工作站920能执行连同软件保护器ID 124一起向授权工作站910发送请求的例行程序。
在步骤1020中,方法1000可将所接收到的软件保护器ID编码到程序代码中。例如,方法1000能采用授权工作站910来将软件保护器ID添加到程序代码中的适当行。通过方法1000写入的程序代码可以是上文中所描述的程序代码122,但是可采用任何适合的程序代码。
在步骤1030中,方法1000将程序代码写入到用户的位置处的软件保护器。例如,方法1000能经由网络930将程序代码从授权工作站910发送到用户工作站920。方法1000然后能使用用户工作站920来将程序代码写入到软件保护器100。写入到软件保护器100的程序代码可以是具有图9中所示出的所接收到的软件保护器ID的程序代码。
尽管上述方法1000讨论了软件保护器ID由授权工作站910接收,然而可以通过其他手段来接收软件保护器ID。例如,方法1000能在用户工作站920处接收软件保护器ID。方法1000能从授权工作站910获得将软件保护器ID写入到程序代码的批准,而无需将软件保护器I D发送到授权工作站910。可采用接收软件保护器ID并将它编码到程序代码中的替代步骤。
上面所描述的实施例提供用于利用软件保护器100控制对接口200的访问。如上文中所说明的,利用软件保护器100控制对接口200的访问可确保接口200上的计算资源不被所不希望数量的登录名消耗。可控制对接口200的访问,而没有与登录名和密码方法相关联的问题。例如,用户不必记住他们的登录名并且无法共享密码。此外,可以防止伪造软件保护器,因为软件保护器100上的程序代码122可以与软件保护器100相关联。对接口200的访问也可由授权工作站910远程控制。因此,即使软件保护器100可能不是立即可用的,用户也可以便利地获得对接口200的授权。
上述实施例的详细描述不是由本发明人设想为在本说明书的范围内的所有实施例的详尽描述。实际上,本领域的技术人员将认识到,可以不同地组合或者消除上面描述的实施例的某些元素以创建另外的实施例,并且此类另外的实施例落在本说明书的范围和教导内。对于本领域的普通技术人员而言也将显而易见的是,可以在本说明书的范围和教导内整个地或部分地组合上面描述的实施例以创建附加实施例。
因此,尽管出于说明性目的在本文中描述了特定实施例,然而如相关领域的技术人员将认识到的那样,各种等同修改在本说明书的范围内也是可能的。本文中所提供的教导可被应用于用于利用软件保护器控制对接口的访问的其他系统和方法,而不只应用于上面所描述的且在附图中示出的实施例。因此,应该根据以下权利要求确定上面所描述的实施例的范围。

Claims (7)

1.一种用于利用软件保护器(100)远程控制对接口(200)的访问的系统(900),所述系统(900)包括:
授权工作站(910);
用户工作站(920),所述用户工作站(920)通过网络(930)通信地耦合到所述授权工作站(910);
其中所述用户工作站(920)被配置成写入程序代码(122)到软件保护器(100),其中所述程序代码(122)包括一个或多个经授权的菜单(122a)和接收到的软件保护器ID(124),所述接收到的软件保护器ID(124)由所述用户工作站(920)提供给所述授权工作站(910)并且当在接口(200)上执行程序代码(122)时,所述程序代码(122)授权对一个或多个经授权的菜单(122a)的访问。
2.根据权利要求1所述的系统(900),其中所述授权工作站(910)和所述用户工作站(920)中的至少一个被配置成将所述接收到的软件保护器ID(124)编码到所述程序代码(122)中。
3.根据权利要求1或权利要求2中的一项所述的系统(900),其中所述授权工作站(910)和所述用户工作站(920)中的至少一个是移动设备。
4.一种用于利用软件保护器远程控制对接口的访问的方法,所述方法包括:
从所述软件保护器接收软件保护器ID;
将所接收到的软件保护器ID编码到程序代码中;以及
利用用户工作站将包括一个或多个经授权的菜单的所述程序代码写入到所述软件保护器,其中当在接口上执行程序代码时,所述程序代码授权对接口上的一个或多个菜单的访问。
5.根据权利要求4所述的方法,其中所述软件保护器ID由通过网络与所述用户工作站通信的授权工作站接收。
6.根据权利要求4或权利要求5中的一项所述的方法,其中所述软件保护器ID由所述授权工作站和所述用户工作站中的至少一个编码到所述程序代码中。
7.根据权利要求4至6中的任一项所述的方法,其中所述授权工作站和所述用户工作站中的至少一个是移动设备。
CN202010303931.4A 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问 Active CN111552929B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010303931.4A CN111552929B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201580080036.8A CN107567626B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问
CN202010303931.4A CN111552929B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问
PCT/US2015/030982 WO2016186606A1 (en) 2015-05-15 2015-05-15 Controlling access to an interface with a dongle

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580080036.8A Division CN107567626B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问

Publications (2)

Publication Number Publication Date
CN111552929A true CN111552929A (zh) 2020-08-18
CN111552929B CN111552929B (zh) 2023-04-18

Family

ID=53373560

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580080036.8A Active CN107567626B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问
CN202010303931.4A Active CN111552929B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201580080036.8A Active CN107567626B (zh) 2015-05-15 2015-05-15 利用软件保护器控制对接口的访问

Country Status (6)

Country Link
US (1) US10552589B2 (zh)
EP (2) EP3295351B1 (zh)
JP (1) JP2018515872A (zh)
CN (2) CN107567626B (zh)
HK (1) HK1249231A1 (zh)
WO (1) WO2016186606A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112528238A (zh) 2019-09-17 2021-03-19 赛孚耐信息技术有限公司 用于控制应用的执行的方法
CN114253890A (zh) * 2021-11-16 2022-03-29 深圳市广和通无线通信软件有限公司 通信模组及其外部接口配置方法、配置装置和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090077671A1 (en) * 2007-09-13 2009-03-19 Microsoft Corporation Protection of software on portable medium
CN101512486A (zh) * 2006-08-29 2009-08-19 皇家飞利浦电子股份有限公司 用于升级消费型产品中的软件的方法和设备
US8028327B1 (en) * 2008-01-28 2011-09-27 Sprint Spectrum L.P. Method and system for a low-cost-internet-base station (LCIB) granting a client device temporary access
CN102265579A (zh) * 2009-01-05 2011-11-30 国际商业机器公司 不进行密码共享情况下的安全系统访问
CN104205118A (zh) * 2011-12-27 2014-12-10 讯宝科技公司 用于保护在移动设备上的软件应用的方法和装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE9109977U1 (zh) 1991-08-12 1992-12-24 Intelligent Solution Services Gmbh, 8051 Marzling, De
US6177957B1 (en) * 1998-02-26 2001-01-23 Flashpoint Technology, Inc. System and method for dynamically updating features in an electronic imaging device
US8282475B2 (en) * 2001-06-15 2012-10-09 Igt Virtual leash for personal gaming device
JP4253543B2 (ja) * 2003-07-29 2009-04-15 矢崎総業株式会社 ハードウェアプロテクトキー及びその再発行方法
FR2867871B1 (fr) * 2004-03-19 2007-08-24 Secure Machines Sa Procede et dispositif de securisation de l'acces a un peripherique
JP4629452B2 (ja) * 2005-02-14 2011-02-09 株式会社日立ハイテクノロジーズ 産業用機器及び産業用機器の遠隔アクセス・システム
US8032705B2 (en) * 2005-05-17 2011-10-04 Kid Group Llc Method and apparatus for providing games and content
US20070011469A1 (en) * 2005-07-11 2007-01-11 Simdesk Technologies Secure local storage of files
US20070061893A1 (en) * 2005-09-09 2007-03-15 Black Jeffery D Methods and devices for copy protection of software
JP2008124737A (ja) * 2006-11-10 2008-05-29 Kyocera Mita Corp メンテナンス方法、メンテナンスプログラム及び電子機器
US7671665B2 (en) * 2008-07-01 2010-03-02 Hamilton Sundstrand Corporation Constant-ON state high side switch circuit
CN101369303B (zh) * 2008-10-13 2010-12-08 金蝶软件(中国)有限公司 控制并发用户数的方法及系统
US8508345B2 (en) * 2009-07-24 2013-08-13 At&T Intellectual Property I, L.P. Remote control accessory for a wireless communication system
CN101667239B (zh) * 2009-09-30 2011-09-21 中兴通讯股份有限公司 网管许可的保护方法及装置
JP2011076541A (ja) * 2009-10-01 2011-04-14 Hitachi Solutions Ltd 情報漏洩防止プログラムおよび起動記録プログラム
GB2477774A (en) * 2010-02-12 2011-08-17 Icera Inc Overriding production processor authentication restrictions through remote security unit for development code testing
CN103186725B (zh) * 2011-12-31 2016-10-05 北大方正集团有限公司 软件授权方法和装置
DE102013108478A1 (de) * 2013-08-06 2015-02-12 Endress+Hauser Process Solutions Ag Verfahren zur Erweiterung einer eingebetteten Softwarekomponente eines Feldgerätes
CN104580316B (zh) * 2013-10-24 2019-03-22 深圳市国信互联科技有限公司 软件授权管理方法及系统
CN104050398B (zh) * 2014-06-17 2017-01-18 飞天诚信科技股份有限公司 一种多功能加密锁及其工作方法
CN104573493B (zh) * 2014-12-25 2018-07-06 北京深思数盾科技股份有限公司 一种软件保护方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101512486A (zh) * 2006-08-29 2009-08-19 皇家飞利浦电子股份有限公司 用于升级消费型产品中的软件的方法和设备
US20090077671A1 (en) * 2007-09-13 2009-03-19 Microsoft Corporation Protection of software on portable medium
US8028327B1 (en) * 2008-01-28 2011-09-27 Sprint Spectrum L.P. Method and system for a low-cost-internet-base station (LCIB) granting a client device temporary access
CN102265579A (zh) * 2009-01-05 2011-11-30 国际商业机器公司 不进行密码共享情况下的安全系统访问
CN104205118A (zh) * 2011-12-27 2014-12-10 讯宝科技公司 用于保护在移动设备上的软件应用的方法和装置

Also Published As

Publication number Publication date
EP3379439A1 (en) 2018-09-26
CN107567626B (zh) 2021-09-07
US10552589B2 (en) 2020-02-04
CN111552929B (zh) 2023-04-18
US20180107810A1 (en) 2018-04-19
EP3295351B1 (en) 2020-10-28
JP2018515872A (ja) 2018-06-14
EP3295351A1 (en) 2018-03-21
WO2016186606A1 (en) 2016-11-24
EP3379439B1 (en) 2021-03-10
HK1249231A1 (zh) 2018-10-26
CN107567626A (zh) 2018-01-09

Similar Documents

Publication Publication Date Title
RU2496144C2 (ru) Система контроля доступа и способ управления доступом для системы управления транспортером для перевозки людей
CN106462188B (zh) 附件设备的功率管理合同
JP6052912B2 (ja) 2次承認者による認証
CN101647026B (zh) 用户认证控制设备、用户认证设备、数据处理设备及用户认证控制方法等
CN204833267U (zh) 使用远程用户生物计量配置电子设备的系统和电子设备
CN101171577B (zh) 授权的通用串行总线功能
KR20000071471A (ko) 개인 디지털 어시스턴트를 이용한 전기 기구 원격 제어방법 및 시스템
CN101894226B (zh) 生物特征验证装置以及生物特征验证方法
EP1141804A1 (en) A control device for a computer, use of a control device, a computer comprising a control device, and a method of connecting and disconnecting units in a computer
CN102662697A (zh) 一种软件升级方法及装置
CN101999126A (zh) 信息处理设备、锁定控制方法和锁定控制程序
CN106446670A (zh) 一种应用程序管理方法、装置及电子设备
CN107567626B (zh) 利用软件保护器控制对接口的访问
EP2410455A1 (en) Intelligent attached storage
CN101930409A (zh) 存储装置、存储装置的控制方法以及计算机程序
JP4578088B2 (ja) 情報処理装置、情報処理システム及びプログラム
CN103577772A (zh) 密码输入方法、电子装置、解锁方法、数据验证方法
JP5999594B2 (ja) メータ
JP3976638B2 (ja) 電子機器及びその不正使用防止方法並びにその不正使用防止プログラム
CN101751533A (zh) 一种具有USB Key功能的数据卡及其实现方法
JP7205993B2 (ja) ドングル、ドングルを用いてインターフェースへのアクセスを制御するためのシステム、及びインターフェースへのアクセスを制御するための方法
JP6735867B2 (ja) ドングルを用いたインターフェースへのアクセスの制御
WO2013190736A1 (ja) 携帯端末、プログラム、及び制御方法
CN101576858A (zh) 存储介质自动锁定装置及其方法
CN104166818A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40034529

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant