CN101176115A - 用于保护软件应用防止盗版的方法和系统 - Google Patents
用于保护软件应用防止盗版的方法和系统 Download PDFInfo
- Publication number
- CN101176115A CN101176115A CNA200580047317XA CN200580047317A CN101176115A CN 101176115 A CN101176115 A CN 101176115A CN A200580047317X A CNA200580047317X A CN A200580047317XA CN 200580047317 A CN200580047317 A CN 200580047317A CN 101176115 A CN101176115 A CN 101176115A
- Authority
- CN
- China
- Prior art keywords
- software application
- user
- machine
- software
- protection
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000004891 communication Methods 0.000 claims abstract description 16
- 230000007246 mechanism Effects 0.000 description 15
- 230000004913 activation Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种保护软件应用防止未授权使用的方法,该法包括以下步骤:由用户的机器执行软件应用的第一部分;在由用户机器通过网络可以访问的远程服务器上执行软件应用的第二部分,从而使第二部分远离用户的机器;第一部分和第二部分之间通过网络通信;由此防止对该软件应用的窃用。另一方面,本发明涉及一种软件应用,其包括:第一部分,将在用户的机器上执行;第二部分,将在用户的机器通过网络可以访问的远程服务器上执行,从而使第二部分远离用户的机器;以及通信模块,用于在第一部分和第二部分之间进行通信。
Description
技术领域
本发明涉及软件保护领域。
背景技术
术语软件盗版在此指软件的非法拷贝、发行或使用。
尽管现在大多数计算机用户意识到未授权使用和复制软件是非法的,但是许多人仍对把软件视为有价值的知识产权的重要性显示出普遍漠视。根据BSA(商业软件联盟)第七年度全球软件盗版研究,2003年商业软件应用市场由于盗版而造成的收入损失超过290亿美元。
下面是一些常见的软件盗版类型:
随意复制(Softlifting):购买一个许可的软件拷贝,然后违反许可条款将其加载到若干计算机上(例如与朋友、同事和其他人共享软件);
上载和下载:使保留版权的软件的未授权的拷贝对通过调制解调器连接到在线服务提供商和/或Internet的最终用户可用;
软件仿冒:以故意使其看起来合法的形式非法复制和销售保留版权的软件;
OEM非捆绑:销售用来与特定附属硬件捆绑在一起的单机软件;
硬盘预装:在个人计算机的硬盘上安装未被授权的软件拷贝,通常用于激发最终用户从该特定硬件经销商购买硬件。
租用:未被授权的软件销售,用于临时性使用;以及
窃用:改变计算机应用的防护盾,以便能够实现未授权使用该应用。
软件盗版的一种解决方案是HASPTM,由Aladdin Knowledge SystemsLtd.制造。它是用于保护软件应用(例如防止盗版)的产品家族,也用于数字版权管理(DRM)。HASP家族目前包括以下产品:
-HASP HLTM,其为基于硬件的许可和软件保护系统;
-PrivilegeTM,其为基于软件的许可、软件保护和软件发行系统;
-Privilege Trialware Toolkit,用于创建安全的、受控的软件共享(trialware);以及
-HASP DocSealTM,其为用于保护知识产权和HTML文件中的敏感信息的基于硬件的系统。
例如,HASP HLTM以令牌(还公知为“软件狗”)的形式被分发插入计算机的USB端口或类似端口(例如并行口)。它是用来加密和解密用于软件保护的数据的基于硬件的加密引擎。在运行期间,HASP HLTM接收来自受保护的应用的加密的字符串并以一种不能被模仿的方式解密它们。从HASP HLTM返回的解密数据被受保护的应用所使用,以便影响程序执行的模式:所述程序执行的模式可以是加载和运行,可以是仅仅执行某些组件,或者可以是根本不执行。HASP的芯片上加密引擎使用128位AES加密算法、通用API、单个许可容量、跨平台USB等等。
软件保护的另一途径是基于本地许可服务器,即运行在机构的私有网络并控制一个或多个软件产品的许可/保护功能的服务器。例如,本地许可服务器具有包括N个许可的许可池,即允许同时使用程序的不多于N个的拷贝。每次激活软件的拷贝时,该软件“请求”许可服务器允许运行。每次用户运行该软件应用,许可池减1,每次用户使用完该应用,许可池加1。根据机构购买的许可条款,如果多于N个用户同时使用该应用,该服务器可以拒绝授予额外的许可,向该机构收取额外使用的费用等等。
软件保护的另一公知的解决方案是产品激活。产品激活,也称为软件激活,是一种独特的商业模型,其对软件应用如何被发行和使用提供更多控制。本质上,其提供软件保护,通过限制软件安装的次数来保护知识产权。典型地,软件激活的目标是允许软件应用在单个机器上安装。在安装之后的预定的时间段(例如,第一个30天)内,用户必须使系统得到激活,然后才能使用它。激活涉及其上安装有软件应用的机器和许可服务器之间的通信,通常通过互联网,并包括提供有关其上安装该应用软件的硬件信息。假如该软件已经被合法购买,则远端服务器提供释放代码并记录在用户的系统中。每次该软件应用被调用,都对照机器的硬件组成(例如显示适配器的类型,SCSI适配器、IDE适配器、处理器类型等)检查该代码,只有在该代码符合预期代码时才允许执行。
因为产品激活解决方案依赖于用户的硬件,用户硬件的任何变化都会对肯定地识别用户机器的能力造成障碍。用另一机器替换现在的机器需要用户再次激活软件。而且,在多于一台机器上执行经许可的软件应用会带来另外的障碍。
很多软件激活问题可以通过令牌解决方案解决,因为令牌是可移动的硬件设备,其甚至通过使用逆向工程来设计以防止令牌被复制。然而,从制造商的观点来看,通过令牌保护软件应用会带来额外的费用,因为令牌是硬件元件,令牌有摊销,当令牌为用户所有时,改变令牌的内容不方便等等。
尽管对于在机构内部的使用而言,许可服务器解决方案比令牌解决方案更适合,许可服务器解决方案也有缺点,例如超载,这可能导致机构内部软件应用活动的中止等等。
因此,本发明的目的是提供用于保护软件应用免遭盗版的系统,其克服了现有技术的问题。
本发明的进一步的目的是针对软件盗版提供没有硬件装置就能实现的解决方案。
本发明的另一目的是针对保护软件应用提供既适合组织又适合单个用户的解决方案。
本发明的其它目的和优势将随着描述的进行变得明显。
发明内容
一方面,本发明涉及用于保护软件应用防止未授权使用的方法,该方法包括如下步骤:由用户的机器执行软件应用的第一部分;在用户的机器经由网络可以访问的远程服务器上执行该软件应用的第二部分,从而使第二部分远离用户的机器;并且第一部分和第二部分之间通过网络进行通信;由此防止窃用该软件应用。
另一优选的方面,本发明涉及软件应用,包括:待在用户的机器上执行的第一部分,待在用户的机器经由网络(WAN,LAN等)可以访问的远程服务器上执行的第二部分,从而使第二部分远离用户的机器,以及用于在第一部分和第二部分之间通信的通信模块,从而防止窃用该软件应用。
通常,软件应用的第二部分执行软件应用或多个软件应用的许可行为(例如验证软件应用按照其许可条款执行)。
根据本发明的另一优选实施例,软件应用的第一部分、第二部分或者甚至所有部分都可以被保护盾保护。
软件应用的第二部分可包括可执行程序。可选地或附加地,软件应用的第二部分可包括数据对象。另外,该数据对象包括密钥(密码密钥、识别密钥等)。
优选地,该第一部分和第二部分之间的通信是被保护的。根据本发明的优选实施例,该通信是选择性的。
附图说明
结合下图可以更好地理解本发明:
图1示意性地示出了根据现有技术的一典型的受保护的软件应用;
图2示意性地示出了根据本发明第一优选实施例的对图1中所示的软件应用的部分的部署;
图3示意性地示出了根据本发明另一优选实施例的对图1中所示的软件应用的部分的部署;
图4示意性地示出了根据本发明又一优选实施例的对软件应用的部分的部署;
图5示意性地示出了根据本发明再一优选实施例的对软件应用的部分的部署;以及
图6是根据本发明的一个优选实施例的用于保护软件应用的方法的流程图。
具体实施方式
术语保护盾或安全盾这里是指为保护软件应用避免被未授权的对象使用而增加到软件应用中的软件和/或硬件部分。保护盾可以在一应用的开发过程中增加到该应用,或增加到该应用的发行版本中。
术语“软件”在本领域中指的是计算机指令和/或数据。术语“软件应用”在本领域中指的是面向执行某些功能的程序和/或数据。例如,字处理器、电子制表软件以及数据库管理系统均归入软件应用的种类。术语“软件应用的部分”在这里指少于软件应用的组件的全体,无论这些组件是可执行代码还是数据。例如,一个或多个函数、DLL、可执行(例如EXE)文件、一个或多个脚本、一个或多个数据文件、一个或多个数据库记录、一个或多个字节以及上述内容的任意组合,其每一个所包括的内容均少于软件应用的全部,每一个都可称为这些组件共同所属的软件应用的“部分”。
图1示意性地示出了根据现有技术的一典型的受保护的软件应用。用户的机器20执行软件应用40。该软件应用40包括下列模块:部分1、部分2和部分3,GUI(图形用户接口)以及保护盾。所有这些部分都在用户的机器20上执行。
软件应用易受盗版攻击的主要原因之一在于软件应用的所有部分对用户是可用的。软件部分对用户的可用性允许用户修改文件,不管它们是可执行文件还是数据文件。黑客所使用的一种方法是在应用正被执行时,跟踪该应用的代码和数据。黑客可使用一种调试器,该调试器允许他逐步地执行应用,跟踪该应用每一步所执行的操作,检查变量和内存当前的内容等等。因而,软件应用文件对用户的可用性,或者甚至存储在RAM中的在被执行的软件应用的部分的可用性使该软件应用易受黑客攻击。由此,通过适当的努力、时间和资源,软件应用的保护盾能够被移除,导致不受保护的软件应用,该软件应用能够分发给其他未被授权的用户。
根据本发明的优选实施例,这个问题可以通过将软件应用的所有部分都保留在远程服务器上,并通过该远程服务器或另一个远程服务器执行这些部分,而不是在用户的机器上执行来解决。
图2示意性地示出了根据本发明的第一优选实施例的对图1中所示出的软件应用的部分的部署。与现有技术中在用户机器20上执行应用40的所有部分不同,部分1、部分2和部分3在远程服务器10上执行,用户机器20通过互联网30经由通信信道80可访问该远程服务器10。用户和应用之间的连接通过GUI模块40实现,该模块由用户机器20执行。
由于应用40部署在用户计算机20和远程服务器10两个平台上,因此保护盾的角色与现有技术中的不同。如果该应用的所有者不信任服务器10的操作者,或者为了获得更好的保护级别,则在远程服务器10上运行的程序部分也可以被保护。在用户机器20上的保护盾可以较不严格,因为远程服务器10能够控制应用被利用的方式,例如,多少用户执行它、用户的身份等等。另外,用户机器20和远程服务器之间交换的数据也可以被保护,尤其如果该数据具有机密性。例如,这可以通过加密方法实现,诸如加密所交换的数据、对交换的数据进行数字签名等等。
通过阻止用户访问软件应用40,用户不能够改变软件应用,导致与现有技术相比更好的保护级别。
在本发明的一个实施例中,鉴于应用不能在用户机器20上运行,与用户的接口可以通过浏览器或其专用程序实现。这在图2中通过用户的机器20执行的GUI模块进行了图示。
图3示意性地示出了根据本发明的另一优选实施例的对图1中所示出的软件应用的部分的部署。在该实施例中,该应用的部分1和部分2由远程服务器10执行,而该应用的部分3由用户机器20执行。因此,不是程序的所有部分都必须在远程服务器10上执行。在有些情况下,仅仅保护应用的某些部分,例如,一些核心程序或者许可模块并且仍可获得好的保护就足够了。这些部分可以由远程服务器10执行。
根据本发明的另一优选实施例,运行在远程服务器10上的软件应用40的部分涉及软件应用40的许可。
图4示意性地示出了根据本发明的又一个优选实施例的软件应用的部分的部署。图3和图4的不同在于,在图3中,软件应用40的某些部分由远程服务器10执行,该远程服务器10可经由广域网络30(例如互联网)为用户机器20所用,在图4中,软件应用40的某些部分由本地服务器70执行,且可经由局域网络60为用户机器20所用。
图3中示出的部署至少在下列方面与现有技术是不同的:
根据本发明,远程服务器通过广域网可访问,而根据现有技术,远程服务器通过局域网可访问。该区别是实质性的,原因是由于本地服务器是局域网的一部分,因此其用户比广域网用户更容易对其进行访问。例如,由于局域网的设施(包括其服务器)通常对于该局域网的用户是物理可用的,因此运行在本地服务器的许可模块至少能够由局域网操作者调试。
图4中示出的部署至少在下列方面与现有技术是不同的:
根据本发明,不管是通过局域网或通过广域网可访问,许可服务器不构成受保护软件应用的主要部分。例如,根据本发明,一些可能构成或可能不构成保护盾一部分的核心程序可以在远程服务器上执行。然而,现有技术只处理许可,不处理保护。
应理解由于在本发明中软件应用的部分可以在多个计算机系统上执行,因此期望允许在不同计算机上的应用的不同部分相互通信。期望通信信道是受保护的,例如,提供加密的通信或至少保证交换信息的内容对于未授权的对象将是不可理解的。
图5示意性地示出了根据本发明再一优选实施例的软件应用的部分的部署。一组用户机器20通过本地网络60连接,本地网络60连接到广域网30上。
根据该实施例,保护行为在远程服务器10(保护-A部分)、本地服务器70(保护-C部分)和用户的机器20(保护-B部分)中分配。
根据本发明的另一优选实施例,许可服务器,或者是Web许可服务器,或者是本地许可服务器,或两者,操作来验证该应用是否正在根据该机构购买的许可条款运行。该验证可周期性或以随机间隔执行。在一个优选实施例中,代替或除了依据应用的激活来检查使用该应用的用户的授权之外,服务器以给定的间隔,例如每5分钟,检查多少授权的用户正在同时使用该应用,并更新许可池中可用/已用许可的数量。如果用户的数量超过根据许可协议所允许的数量,许可服务器可以向该机构收取额外使用的费用,对某些用户限制该应用的某些功能(例如挂起保存选项)、丢弃某些用户等。
与现有技术中仅依据对软件应用的调用来执行该应用的使用不同,根据本发明的这个实施例,在应用执行期间,验证对软件应用的使用是否遵照其许可条款也被执行。
图6是根据本发明的优选实施例的用于保护软件应用的方法的流程图。在调用软件应用之后,询问使用该应用的用户授权。如图6中所示,如果用户对该应用的使用没被授权,则该应用可能被异常中断。或者,用户可以被允许使用该应用的受限特性或者可以被允许有限地使用该应用。如果用户对该应用的使用是被授权的,那么在应用执行期间,以5分钟间隔执行附加检查。如上文描述的,附加检查验证该用户是否在许可条款下被授权使用软件应用。如果多于许可协议所允许的用户同时使用该应用,则许可服务器可以向机构收取附加费用、对某些用户限制应用的某些功能(例如挂起保存选项)、丢弃某些用户等等。
应理解,本地许可服务器比web许可服务器更适于在软件应用执行期间提供附加验证,即验证该软件应用的使用是否符合其许可条款。在web许可服务器上执行这样的行为可能由于潜在的大量用户而导致web服务器超载。
根据本发明的另一优选实施例,本地和web许可服务器两个都在软件应用执行期间实施提供附加验证,验证该软件应用的使用是否符合其许可条款。在这个实施例中,本地许可服务器可操作来测量该使用并将其向web许可服务器报告,web许可服务器可操作来验证所测量的使用是否符合许可条款。
由于与服务器的连接可能是间歇的,因此,根据本发明的一个实施例,在与web许可服务器的连接断开后,用户侧的软件应用只能保持运行有限的时间段(例如,一个小时、一天等等),并且如果在这个时间段期间没有与服务器重新建立连接,软件将停止运行、限制某些功能等等。
根据本发明的一个实施例,如果服务器中的一个挂起(例如因为系统故障),那么其它的服务器(如果可用)执行许可行为(检查使用该应用的用户授权,检验同时使用该应用的用户的数量不超过许可条款等等)。
在应用执行期间根据其许可条款监测该应用的使用的副产品是收集该应用使用的信息。例如,不用安装专用系统来监测字处理器字典特性的使用,许可服务器就能够收集这个信息。所收集的信息给机构提供了决定是否购买某个特性或应用,购买多少许可等等的手段。此外,应用厂商也能够以同样的方式使用这样的信息。
本发明的许可服务器可以结合多种支付模式使用。例如,根据本发明的一个实施例,支付可以基于一个用户或多个用户激活应用的次数。根据本发明的另一实施例,支付可以基于应用运行的时间段。另外或者做为选择,支付可以基于应用被调用的次数和应用被使用的时间段的任何适当的组合。根据本发明的另一实施例,支付可以基于同时运行的实例的最大数量。
在本领域,为了推进R&D进程,通常把软件应用的R&D行为和保护/许可的R&D行为分开。而且,有专门从事保护/许可问题的公司。保护盾被设计为易于添加到现有的软件应用。另外,保护盾提供有API(应用软件接口),软件厂商通过API能够与保护盾交互。保护盾是与应用的其他部分分离的工具这一事实使得应用软件开发者将其R&D集中在开发者专门研究的主题上。优选地,在本发明中,在WWW服务器上执行并因此保持远离最终用户/机构的软件应用的部分属于保护盾。
信封保护(envelope protection)提供增强总体安全级别的文件编码和高级反调试特性。例如,HASP信封实体是典型的保护信封。它在应用的可执行文件和库文件周围增加了保护盾。HASP信封提供阻止反向工程和其它反调试方法的手段。HASP信封使用随机装配的多保护层封装应用文件。该随机的多层封装信封确保了一个受保护的应用所实施的保护策略不同于另一个。HASP信封在受保护的软件和HASP密钥之间建立了链路,称为“安全令牌”——一种通过与主机的有线或无线连接向该主机提供保护和安全功能的主机外部硬件设备。每当受保护的软件不能访问需要的HASP密钥时,该受保护的软件和HASP密钥之间的链路被断开,在此情况下,程序停止运行。在保护过程期间,原始文件被破坏,新的文件被创建。创建的新文件为分发给用户的文件。
HASP允许系统和用户级调试措施的检测,其能够被激活以由HASP系统采取措施以阻止伺机破坏保护机制的潜在攻击。用户能够指定HASP密钥接入用于加扰的频率。该设置控制受保护应用进行的HASP密钥呼叫的简洁性。提供加密级别滑尺用于确定HASP密钥接入用于加扰的频率。增加保护模块的数量会增加受保护应用的启动时间和结果得到的文件的大小。在加密级别和受保护文件大小和启动速度之间也有一种平衡。加密级别越高导致启动越慢以及受保护应用大小越大。
根据本发明的另一实施例,许可服务器操作来使用“强制方案”,其中,按照购买的许可条款限制用户或机构对应用的使用。在这个实施例中,机构不能同时使用多于已购买的许可。根据本发明的另一实施例,许可服务器操作来使用“计量方案”,其中,对程序的使用进行计量,用户/机构被据此收费。在这个实施例中,机构被根据其用户执行软件应用的次数收费。根据本发明的又一实施例,许可服务器操作来既使用强制方案也使用计量方案。在这个实施例中,例如,如果许可条款允许同时最多N个用户,若同时多于N个用户使用该应用,则该机构被收取附加费用。
应理解根据本发明,因为与web许可服务器的连接是通过互联网,所以用户可以从机构的LAN之外,例如从家里激活该应用软件。
应理解,在本领域中,通过网络的“选择性”通信主题是众所周知的。例如,浏览web站点的用户被限制只能访问运行该web站点的web服务器上驻留的某些内容。因此,用户能够访问web站点上的数据的事实并不意味着他对数据的访问是无限制的。而且,用户与远程服务器通信的事实不一定意味着远程服务器对用户的主机具有无限制的访问。事实上,用户能够阻止web站点服务器访问存储在其计算机上的信息。因而,根据本发明的优选实施例,驻留在不同计算机设备上的软件应用的部分之间的通信是“选择性”的。这样,服务器被优选地配置和/或规划并操作来完全地或选择性地阻止远程工作站修改和/或访问其上存储的信息,同时,使远程工作站能够至少选择性地访问存储在服务器上的信息。
本领域技术人员应理解本发明能够通过其它形式和方式体现,而不失去本发明的范围。这里所描述的实施例应被认为是说明性的而非限制性的。
Claims (23)
1.一种保护软件应用防止未授权使用的方法,所述方法包括以下步骤:
-由用户的机器执行所述软件应用的第一部分;以及
-由经由网络连接到用户的机器的远程服务器执行所述软件应用的第二部分,所述远程服务器被配置为使得所述用户的机器经由所述网络可接入使用该第二部分,但不能对该第二部分进行修改;
其中,如果执行所述第一部分和第二部分中的至少一个需要其间的通信,则所述第一部分和所述第二部分经由所述网络进行通信;
由此,防止由所述用户的机器对所述软件应用的至少所述第二部分的窃用。
2.根据权利要求1所述的方法,其中所述软件应用的所述第二部分执行与所述软件应用有关的许可行为。
3.根据权利要求2所述的方法,其中所述许可行为从一组中选择,该组包括:验证所述软件应用是根据其许可条款执行,验证所述用户的机器和/或其用户被授权执行所述软件应用,定期地验证所述用户的机器和/或其用户被授权执行所述软件应用。
4.根据权利要求1所述的方法,其中所述网络是广域网。
5.根据权利要求1所述的方法,其中所述网络是局域网。
6.根据权利要求1所述的方法,其中所述软件应用的所述第一部分通过保护盾保护。
7.根据权利要求1所述的方法,其中所述软件应用的所述第二部分通过保护盾保护。
8.根据权利要求1所述的方法,其中所述软件应用的所述第二部分从一组中选择,该组包括:可执行程序、数据对象、可执行程序和数据对象。
9.根据权利要求8所述的方法,其中所述数据对象包括密钥。
10.根据权利要求9所述的方法,其中所述密钥从一组中选择,该组包括:密码密钥、识别密钥。
11.根据权利要求1所述的方法,其中所述通信是选择性的。
12.根据权利要求1所述的方法,其中所述通信是受保护的。
13.一种软件应用,包括:
-第一部分,将在用户的机器上执行;
-第二部分,将在所述用户的机器通过网络可以访问的远程服务器上执行,从而使所述第二部分远离用户的机器;
-通信模块,用于在所述第一部分和所述第二部分之间进行通信,由此防止窃用所述软件应用。
14.根据权利要求13所述的软件应用,其中所述网络是广域网。
15.根据权利要求13所述的软件应用,其中所述网络是局域网。
16.根据权利要求13所述的软件应用,其中所述第一部分通过保护盾保护。
17.根据权利要求13所述的软件应用,其中所述第二部分通过保护盾保护。
18.根据权利要求13所述的软件应用,其中所述通信模块通过保护盾保护。
19.根据权利要求13所述的软件应用,其中所述软件应用的所述第二部分从一组中选择,该组包括:可执行程序、数据对象、可执行程序和数据对象。
20.根据权利要求19所述的软件应用,其中所述数据对象包括密钥。
21.根据权利要求20所述的软件应用,其中所述密钥从一组中选择,该组包括:密码密钥、识别密钥。
22.根据权利要求13所述的软件应用,其中所述通信是选择性的。
23.根据权利要求13所述的软件应用,其中所述通信是受保护的。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63115004P | 2004-11-29 | 2004-11-29 | |
US60/631,150 | 2004-11-29 | ||
US11/186,854 | 2005-07-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101176115A true CN101176115A (zh) | 2008-05-07 |
Family
ID=39423664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200580047317XA Pending CN101176115A (zh) | 2004-11-29 | 2005-11-28 | 用于保护软件应用防止盗版的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101176115A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260627A (zh) * | 2015-09-18 | 2016-01-20 | 许继集团有限公司 | 一种嵌入式设备程序的防拷贝方法 |
-
2005
- 2005-11-28 CN CNA200580047317XA patent/CN101176115A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260627A (zh) * | 2015-09-18 | 2016-01-20 | 许继集团有限公司 | 一种嵌入式设备程序的防拷贝方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752139B2 (en) | Method and system for managing software licenses and reducing unauthorized use of software | |
Barrantes et al. | Randomized instruction set emulation to disrupt binary code injection attacks | |
US20090094601A1 (en) | Method and device for protecting software from unauthorized use | |
US7188241B2 (en) | Protecting software from unauthorized use by applying machine-dependent modifications to code modules | |
CN1581073B (zh) | 用于从可信环境到不可信环境的可信性投影的方法和系统 | |
US20060048223A1 (en) | Method and system for providing tamper-resistant software | |
Zdziarski | Hacking and securing iOS applications | |
WO1998009209B1 (en) | Systems and methods for secure transaction management and electronic rights protection | |
US20060242082A1 (en) | Method and system for protecting of software application from piracy | |
US20150262084A1 (en) | Methods for defending static and dynamic reverse engineering of software license control and devices thereof | |
Jeong et al. | An anti-piracy mechanism based on class separation and dynamic loading for android applications | |
US10789338B2 (en) | Software algorithm security | |
Kim et al. | A birthmark-based method for intellectual software asset management | |
CN101176115A (zh) | 用于保护软件应用防止盗版的方法和系统 | |
KR100939106B1 (ko) | 이동식 저장장치에 저장된 데이터의 임의복제 방지 방법 및이에 적합한 시스템 | |
Chau et al. | Why Johnny Can't Make Money With His Contents: Pitfalls of Designing and Implementing Content Delivery Apps | |
Wang et al. | Combating software piracy in public clouds | |
Chen | Software Product Protection | |
CN109522734B (zh) | 一种安全应用商店系统 | |
Kiyomoto et al. | LMM: A common component for software license management on cloud | |
Vasileiadis et al. | Revealing malicious remote engineering attempts on Android apps with magic numbers | |
Covey et al. | An Advanced Trusted Platform for mobile phone devices | |
Jeong et al. | Preventing execution of unauthorized applications using dynamic loading and integrity check on android smartphones | |
Jadhav | Protecting the integrity of Android applications by employing automated self-introspection methods | |
Chen et al. | Cloud licensing model for. NET software protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080507 |