获取软件应用程序的方法

文档序号:6349849阅读:289来源:国知局
专利名称:获取软件应用程序的方法
技术领域
本发明涉及从软件分发单元中获取受保护的软件以及在用户计算机单元上对它们的保护。
背景技术
当前存在对防止非法拷贝和/或使用软件应用程序的显著的需求。至今,已知三种用于防止非法拷贝和/或使用软件应用程序的保护技术。第一种技术,不需要特定硬件,其在于向软件提供密码或者密钥(secret key)来防止不具有该密码的个人使用该软件。密码例如是在软件上预先记录的序列号。然后该软件仅仅在通过用户输入的密码对应于预先记录的密码的情况下才被授权运行。软件和密码优选地被分开传送给用户。该技术的缺点在于密码可能被客户有意或无意地泄露。因此这种技术的保护级别不是非常高。第二种技术,通常被称作“硬件焊接(hardware soldering) ”,在于提取意图用于接收软件的计算机的一个或若干物理参数并且利用(多个)物理参数来定制软件,使得软件被授权为仅仅在具有所提取的(多个)物理参数的计算机上才运行。该物理参数可以是例如MAC地址。因此,该应用程序仅仅在具有该MAC地址的计算机上才被授权运行。该技术的缺点在于客户只可能在单个计算机上使用该软件并且甚至不可能改变计算机。最后,第三种技术在于将电子安全模块与软件相关联。该电子安全模块在购买时配备有该软件。电子安全模块利用多项安全信息(例如软件应用程序的使用权)指定包括非易失性存储器(ROM)的集成电路。例如在硬件锁定或者“道尔芯片(dongle)”的形式中发现这种电子安全模块。在软件的启动和/或不同执行阶段,该软件验证电子安全模块中使用权的存在,并且仅仅在电子安全模块中存在与所述软件相关联的使用权的情况下,才继续其执行。利用该技术,软件应用程序被授权为仅仅在包括该软件的使用权的电子安全模块连接到该计算机的情况下,才在该计算机上运行。这种电子安全模块难于拷贝或复制, 软件的非法使用变得不太可能。该技术的缺点在于电子安全模块被附接到特定软件应用程序,η个软件应用程序的保护需要提供η个电子安全模块。

发明内容
本发明目标在于克服上面描述的缺点中的一些或者全部。具体地,本发明的一个目的是提出使得能够利用单个电子安全模块来保护多个软件应用程序的解决方案,在每次新的软件获取时以及在软件应用程序的每次使用时采用所述电子安全模块。根据本发明,使用属于想要获取软件应用程序的用户的电子安全模块。该模块包含特定于该用户并且未被链接到特定软件应用程序的信息。根据本发明,用户的电子安全模块向分发单元传输一项用户信息,然后,在将软件应用程序传输给用户之前,所述分发单元使用所述用户信息来保护软件应用程序。因此,用户接收到基于由电子安全模块递送的一项用户信息而受保护的软件应用程序。然后仅仅该用户借助于他的电子安全模块在某一位置移除对所接收的软件应用程序的保护。更具体地,本发明涉及一种用于获取在软件应用程序分发单元中存储的软件应用程序的方法,所述应用程序包括至少一个指令并且意图提供给被称作用户计算机单元的用户的计算机单元,所述方法的特征在于它包括以下步骤-生成步骤,在连接到所述用户计算机单元的电子安全模块中,生成与用于标识要提供的软件应用程序的一项标识信息相关联的、特定于所述用户的一项用户信息,所述用户信息由存储在所述电子安全模块中的密匙(secret)生成,-传送步骤,经由电子安全模块传送所述用户信息和所述标识信息到软件应用程序分发单元,-处理步骤,在软件应用程序分发单元中,借助于使用所述用户信息的保护函数来处理来自于由所述标识信息标识的软件应用程序中的至少一个指令,以此方式保护所述软件应用程序,以及-传输步骤,经由软件应用程序分发单元,将受保护的应用程序以及可能的所述标识信息传输给所述用户计算机单元。根据本发明的特点,从所述密匙和要获取的应用程序的标识信息中生成用户信息。使用在安全模块中包含的密匙,通过在所述标识信息上应用导出函数而生成所述用户信息。结果,由电子安全模块生成的用户信息随每个新软件应用程序的获取而改变。根据本发明的特点,利用相同的电子安全模块来重复本方法用于获取多个软件应用程序。因此,使用单个电子安全模块来获取不同的软件应用程序。本发明还涉及一种用于处理在所述电子安全模块连接的用户计算机单元中、针对从根据上面描述的方法获取的受保护的软件应用程序移除保护的方法。该用户计算机单元可以是或者可以不是在获取期间使用的用户计算机单元。如果该用户计算机单元与在获取期间使用的用户计算机单元不同,则在移除保护之前,将受保护的应用程序转移到该新的用户计算机单元。所述用于处理的方法包括以下步骤-在所述电子安全模块中,重新生成与受保护的软件应用程序相关联的用户信息, 以及-借助于使用所述用户信息的函数来处理受保护的软件应用程序,所述函数被称作保护移除函数并且能够对借助于软件应用程序分发单元的保护函数保护的应用程序移除保护。根据特定实施例,在电子安全模块中存在保护移除函数。由此在电子安全模块中借助于所述保护移除函数执行对受保护的软件应用程序的处理,然后,将移除了保护的应用程序传输给用户计算机单元。作为一变型,在用户计算机单元中存在保护移除函数。使用由所述用户电子模块生成的用户信息,在用户计算机单元中借助于所述保护移除函数执行对受保护的软件应用程序的处理。


在参照附图的以下详细描述的过程中,将更好地理解本发明,并且其它目的、细节、特征和优点将更清楚地出现,在附图中-图1示出根据本发明的特定实施例的能够实现所述方法的系统的简化的框图;-图2示出根据本发明的特定实施例的传送软件应用程序的步骤的图;-图3示出根据本发明的特定实施例的执行根据图2的图传送的应用程序的步骤的图。
具体实施例方式本发明涉及一种获取受保护的软件应用程序的方法和一种移除该受保护的软件应用程序的保护的方法。更具体地,本发明涉及一种获取被存储在软件应用程序分发单元中的软件应用程序的方法,所述应用程序包括至少一个指令并且意图被提供给称作用户计算机单元的用户的计算机单元。该方法包括以下步骤-生成步骤,在连接到所述用户计算机单元的电子安全模块中,生成与用于标识要提供的软件应用程序的一项标识信息相关联的、特定于所述用户的一项用户信息,所述用户信息由存储在所述电子安全模块中的密匙生成,-传送步骤,经由电子安全模块传送所述用户信息和所述标识信息到软件应用程序分发单元,-处理步骤,在软件应用程序分发单元中通过使用所述用户信息的保护函数来处理来自于由所述标识信息标识的软件应用程序的至少一个指令,以这样的方式保护所述软件应用程序,以及-传输步骤,经由软件应用程序分发单元,将受保护的应用程序以及可能的所述标识信息传输给所述用户计算机单元。由此,经由用户的电子安全模块提供的一项用户信息来保护通过软件应用程序分发单元传送的软件应用程序。在每次用户想要下载软件应用程序时使用该相同的电子安全模块。在应用程序的每个新的获取时,电子安全模块递送一项用户信息并且软件应用程序分发单元使用该用户信息来保护应用程序。因此,单个电子安全模块用于获取不同的软件应用程序。可以在配备电子安全模块的任何用户计算机单元中实现目的在于移除对软件应用程序的保护的处理方法。图1示出根据本发明的特定实施例的能够实现获取受保护的软件应用程序的方法和用于移除保护的方法的系统。该系统包括经由通信网络40与软件应用程序分发单元 20通信的用户计算机单元10。软件应用程序分发单元20是服务器、数据库、计算机,等等。应用程序分发单元20存储多个软件应用程序。对于每个软件应用程序,单元20 存储该应用程序的计算机程序Pgm和一项标识信息ID。该单元还存储被称作保护的、将作用为保护要被提供给用户计算机单元10的应用程序的函数P。用户计算机单元10指定能够与单元交换信息或者数据并且可以连接道尔芯片或者智能卡类型的电子安全模块的任何装置类型。该用户计算机单元例如是属于用户的游戏控制台或者移动电话。电子安全模块30连接到用户计算机单元10。在本发明的范围内,电子安全模块30指定包括至少一项密匙信息(secret information)和使用所述密匙信息的至少一个导出函数(derivation function)的集成电路。电子安全模块30连接到用户计算机单元10 的输入/输出端口,例如USB端口,或者经由例如智能卡读卡器之类的特定接口装置连接到用户计算机单元10。其可以是不同的形式,特别是道尔芯片或者智能卡的形式。在一变型中,电子安全模块30在用户计算机单元10的内部并且具有例如TPM(可信的平台模块)模块的形式。在图1所示的系统的示例中,电子安全模块30包含密匙S、生成一项用户信息的导出函数d以及用于移除由保护函数P保护的软件应用程序的保护的另一保护移除函数dp。 下文中更详细地描述这些不同函数。传输网络40是诸如电话网络之类的能够在用户计算机单元10和软件应用程序分发单元30之间传输数据的网络。根据本发明的特定实施例,如图2所示的,执行经由用户计算机单元10从软件应用程序分发单元20中获取应用程序。根据第一步骤E1,用户计算机单元10将用于标识要获取的软件应用程序的标识信息ID传输给电子安全模块30,之前已经通过单元20将该标识信息ID提供给用户计算机单元10并且由用户在标识信息列表中进行选择。根据第二步骤E2,电子安全模块30使用其密匙S生成与标识信息ID相关联的一项用户信息S’。通过在标识信息ID上应用导出函数d来生成该用户信息S’,所述导出函数d使用密匙S。然后有S’= d(S,ID)。导出函数d例如是使用密匙S作为加密密钥以及标识信息ID作为数据的算法DES (数据加密标准)。根据另一非限制性示例,导出函数是在标识信息和密匙S之间实现异或操作的逻辑函数。作为一变型,电子安全模块30从密匙S中生成用户信息S’,然后将其与标识信息 ID相关联,信息S’和标识信息ID之间的链接被存储在模块30的存储器中。根据步骤E3,电子安全模块30经由用户计算机单元10将用户信息S’和标识信息 ID传送给软件应用程序分发单元20。有利地,在加密领域熟知的安全验证信道来执行该传送。安全验证信道使得能够在两个被验证的实体之间安全地传送数据使得第三方不可能获知或者修改由此被传送的信息。根据步骤E4,软件应用程序分发单元20然后借助于使用用户信息S’的保护函数 P,来保护由标识信息ID标识的程序pgm的至少一个指令。保护函数ρ例如是使用用户信息 S’作为加密密钥的AES (高级加密标准)类型的加密算法。将保护函数ρ应用于软件应用程序的一个或者若干指令或者在应用程序的全部指令上应用。这给出pgm’ = p(S’,pgm), 其中Pgm’指定软件应用程序pgm的受保护的版本。根据步骤E5,软件应用程序分发单元20向用户计算机单元10传输受保护的软件应用程序pgm’和相关联的标识信息ID。在一变型中,软件应用程序分发单元20仅仅传输受保护的应用程序Pgm’,已经在步骤E3将标识信息ID保存在用户计算机单元中。每次客户想要获取新的应用程序时,使用相同的电子安全模块30重复该处理。在每个新的应用程序获取时,电子安全模块30递送优选地是新的一项用户信息S’。然后可以使用用于获取的电子安全模块30,来移除对用户计算机单元10接收的所有受保护的应用程序的保护。
然后可以在用于获取的用户计算机单元10上、或者在进行转移后,在另一用户计算机单元10’上,移除对通过单元20提供的受保护的应用程序的保护。仅仅将在用于获取的电子安全模块30连接到用户想要在其上移除对应用程序的保护的用户计算机单元就足够了。可以在执行应用程序之前或者在执行应用程序期间进行保护移除操作。在图3中示出保护移除操作。电子安全模块30被连接到用户计算机单元10或者 10,。根据步骤E6,用户计算机单元10或者10’向电子安全模块30传送受保护的程序 pgm’和应用程序的标识信息ID。根据步骤E7,电子安全模块通过执行S’ = d (S,ID),从密匙S和标识信息ID中重新生成与标识信息ID相关联的用户信息S’,然后使用用户信息S’,借助于保护移除函数dp 从受保护的程序pgm’移除保护。由此获得移除了保护的程序pgm = dp (S’,pgm’),该程序经由电子安全模块30传送给用户计算机单元10或者10’(步骤E8)。在一变型中,在用户计算机单元中执行保护移除操作。在该变型中,在用户计算机单元10或10’中存在保护移除函数dp并且不将受保护的程序pgm’传送给电子安全模块 30。电子安全模块30从标识信息ID中生成用户信息S’,然后将其传送给用户计算机单元。 用户计算机单元使用由模块30提供的用户信息S’从应用程序pgm’中移除保护。利用该方法,利用来自用户的一项用户信息S’在软件应用程序分发单元中保护应用程序,并且一旦被传送给用户,则可以在获取软件应用程序期间使用的电子安全模块所连接的任何用户计算机单元上移除对受保护的软件应用程序的保护。因此,可以从第一计算机单元获取或者下载软件应用程序,然后在另一单元上移除对其的保护。此外,该方法仅仅需要单个电子安全模块来获取多个软件应用程序。虽然已经关于特定实施例描述了本发明,但显然,这绝不是对其进行限制,并且其包括所描述的手段的所有技术等效物以及它们的组合,如果这些落入了本发明的范围。
权利要求
1.一种用于获取在软件应用程序分发单元00)中存储的软件应用程序的方法,所述应用程序包括至少一个指令并且意图提供给被称作用户计算机单元(10)的用户的计算机单元,所述方法的特征在于包括以下步骤-生成步骤,在连接到所述用户计算机单元的电子安全模块(30)中,生成与用于标识要提供的软件应用程序的一项标识信息(ID)相关联的一项用户信息(S’),所述用户信息 (S’ )由存储在所述电子安全模块中的密匙(S)生成,-传送步骤,经由电子安全模块(30)传送所述用户信息(S’)和所述标识信息(ID)到软件应用程序分发单元00),-处理步骤,在软件应用程序分发单元00)中,借助于使用所述用户信息(S’)的保护函数(P)来处理来自于由所述标识信息(ID)标识的软件应用程序中的至少一个指令,以此方式保护所述软件应用程序,以及-传输步骤,经由软件应用程序分发单元(20),将受保护的应用程序传输给所述用户计算机单元。
2.根据权利要求1所述的方法,其特征在于,在所述电子安全模块(30)中至少从所述密匙(S)和所述标识信息(ID)生成所述用户信息(S’)。
3.根据权利要求2所述的方法,其特征在于,通过向所述标识信息(ID)应用使用所述密匙(S)的导出函数(d)来生成所述用户信息(S’)。
4.根据权利要求1所述的方法,其特征在于,利用同一电子安全模块重复所述方法来获取多个软件应用程序。
5.一种用于在电子安全模块(30)连接的用户计算机单元(10或10’)中、针对从根据权利要求1-4之一所述的方法获取的受保护的软件应用程序中移除保护的处理方法,其特征在于,包括以下步骤-在所述电子安全模块中,重新生成与受保护的软件应用程序相关联的用户信息 (S’),以及-借助于被称作保护移除函数(dp)的并且能够对借助于所述保护函数保护的应用程序移除保护的函数来处理受保护的软件应用程序。
6.根据权利要求5所述的方法,其特征在于,在电子安全模块(30)中存在保护移除函数(dp),并且在所述电子安全模块中借助于所述保护移除函数(dp)执行对受保护的应用程序的处理,移除了保护的应用程序被传输给用户计算机单元。
7.根据权利要求5所述的方法,其特征在于,在用户计算机单元(10或10’)中存在保护移除函数(dp),并且使用由所述用户电子模块生成的用户信息(S’),在所述用户计算机单元中借助于所述保护移除函数执行对受保护的应用程序的处理。
全文摘要
本发明涉及一种获取在软件应用程序分发单元(20)中存储的并且意图提供给用户计算机单元(10)的软件应用程序的方法。根据本发明,用户计算机单元(10)将标识要获取的软件应用程序的标识信息(ID)传输给与该用户计算机单元连接的电子安全模块(30)。该模块(30)使用密匙(S)和标识信息(ID)生成用户信息(S’),并且将其与标识信息(ID)一起传送给单元(20)。该单元利用用户信息(S’)保护由标识信息(ID)标识的软件应用程序(pgm)并且受保护的软件应用程序(pgm’)被传送给用户计算机单元(10)。由此,利用来自用户的电子安全模块(30)的信息(S’)来保护软件应用程序。然后在配备有电子安全模块(30)的电子安全单元(10或10’)上移除对受保护的软件应用程序的保护。
文档编号G06F21/10GK102473211SQ201080030041
公开日2012年5月23日 申请日期2010年7月1日 优先权日2009年7月3日
发明者C.文森特, M.埃鲁阿德, Y.梅兹 申请人:汤姆森特许公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1