软件保护系统技术方案

技术编号:2891236 阅读:212 留言:0更新日期:2012-04-11 18:40
本发明专利技术提出了一种软件保护系统。在该系统中,只有经过授权的用户才可以对软件进行操作,其他用户则不能使用该软件,并且能够检测到对该软件的非法改动同时发出警报。该系统主要有以下三个部分组成:软件供应商部分,随时准备为软件管理中心部分和用户部分提供程序;软件管理中心部分;转换提供的程序并随时准备将此经过转换的程序提供给用户部分;用户部分,转换提供的程序,并将此经过转换的程序与上述由软件管理中心所提供的经过转换的程序相比较,只有二者相同时才去执行该程序。(*该技术在2015年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一个软件保护系统。依据本专利技术的系统可用于保护诸如应用软件、操作系统等等,并可保护这些软件不受软件病毒的感染。
技术介绍
未经授权非法拷贝应用程序、操作系统软件和实用程序是一个带有一定普遍性的问题。此前还没有发现一种好的方法来阻止这种非法拷贝行为,也没有一种令人满意的途径来保护软件免遭某些蓄意攻击和破坏软件的病毒的侵袭。因此,有必要寻找一种合适的保护软件的方法和途径。
技术实现思路
本专利技术的目的就是要实现一种软件保护系统。在该系统中,只有经过授权的用户才可以对软件进行操作,其他用户则不能使用该软件,并且能够检测到对该软件的非法改动同时发出警报。依据本专利技术,可提供一种由以下三部分组成的保护软件的系统软件供应商部分,随时准备为软件管理中心部分和用户部分提供程序;软件管理中心部分,与上述软件供应商部分相连,按预定的方式转换提供的程序并随时准备将此经过转换的程序提供给用户部分;用户部分,在使用程序期间,与上述软件供应商部分和软件管理中心部分相连,按预定的方式转换提供的程序,并将此经过转换的程序与上述由软件管理中心所提供的经过转换的程序相比较,只有二者相同时才去执行该程序。同时,依据本专利技术,还可提供一种由以下三部分组成的保护软件的系统软件供应商部分,使用第一密钥对程序进行加密得到一经过加密的程序,再使用第二密钥对第一密钥进行加密得到经过加密的第一密钥,然后将此经过加密的程序提供给软件管理中心部分,并随时准备将此经过加密的程序和经过加密的第一密钥提供给用户部分;软件管理中心部分,与上述软件供应商部分相连,对提供的经过加密的程序进行转换得到一经过转换和加密的程序,然后使用第三密钥对该经过转换的程序进行加密得到一经过加密和转换的程序,再使用第四密钥对第三密钥进行加密得到经过加密的第三密钥,并随时准备将此经过加密和转换的程序及经过加密的第三密钥提供给用户部分;用户部分,在使用程序期间,与上述软件供应商部分和软件管理中心部分相连,按预定的方式对经过加密的程序进行转换得到经过转换的程序,然后使用第五密钥对经过加密的第三密钥进行解密得到解了密的第三密钥,再使用第三密钥对经过加密和转换的程序进行解密得到解了密的经过转换的程序,将此解了密的经过转换的程序与上述经过转换的程序相比较,只有当二者相同时才使用第六密钥解密第一密钥,然后使用该第一密钥去解密并执行该程序。附图简介附图说明图1是根据本专利技术某一实施例的软件保护系统所适用的一个信息处理网络图。图2是根据本专利技术另一实施例的软件保护系统所适用的一个信息处理网络图。实施本专利技术的最佳方式依据本专利技术某一实施例的软件保护系统所适用的一个信息处理网络图如图1所示。该网络图中提供了一个软件车间1,即软件供应商部分,其中包括加密设备11和12。在软件车间1中,使用密钥K对程序P的全部或部分进行加密,得到经过加密的程序P1。其中,密钥K是特定于程序P的。经过加密的程序P1是不能执行的。经过加密的程序P1要向软件管理中心2进行注册。根据来自用户部分3的请求,该用户已购买了经过加密的程序P1,使用用户的公开密钥P(u)对密钥K进行加密,得到经过加密的密钥K1,然后将此密钥K1发送到用户部分3。软件管理中心部分2提供了转换设备21以及加密设备22和23。在软件管理中心部分2中,首先使用一种散列函数对由软件车间1注册的经过加密的程序P1进行压缩,得到经过压缩和加密的程序P2,接着使用特定于程序P1的密钥r对该经过压缩和加密的程序P2进行加密,得到经过加密和压缩的程序P3,然后使用软件管理中心部分2的保密密钥S(sc)对密钥r进行加密,得到经过加密的密钥r1。因为经过加密的密钥r1以及经过加密和压缩的程序P3可以在不指定用户的情况下事先得到,所以它们可以和由软件车间1出售的经过加密的程序P1存放在同一存储介质中。在用户部分3中,在购买程序时或购买程序之后,向软件车间1发出购买程序的通告和获取密钥的请求。由软件车间发来的经过加密的密钥K1作为安装软件的输入。在用户部分3中,通过使用加载软件和信息载体设备31来执行程序。设备31是连在程序执行设备32上的一个装置。程序执行设备32上可能连接的还有键盘显示设备、硬盘和磁盘一类的存储器等等以及输入/输出设备。在设备31中,有解密设备311、312、315和316,转换设备314,以及比较设备317。设备31里包含保密密钥、解密程序和用户的认证程序。设备31可以与用户将要用其执行程序的个人计算机上的打印口、RS2 32口等结合使用,以便进行诸如K1、P1、r1和P3一类数据的解密工作和程序的认证过程。设备31可以是,比方说,一片能与个人计算机相连的IC卡。加密设备11、12、22和23可以由数据加密标准(DES)、快速数据加密算法(FEAL)(注册商标)等构成,但不必仅仅局限于这些例子。这些加密设备可以是同一类型的,也可以是不同类型的。解密设备311、312、315和316中的每一个都与其相应的加密设备成对出现。这些解密设备可以由数据加密标准(DES)的解密算法、快速数据加密算法(FEAL)等组成,但不必仅仅局限于这些例子。保密密钥S(u)和P(sc)是按将其写入设备31的存储器中的方式事先提供给用户部分的。使用散列函数的转换设备可以包含在设备31中,或者也可以将转换装置作为一个算法存储在程序执行设备32的存储介质中。可以将由软件供应商部分提供的经过加密的程序P1的部分或全部和经过加密的特定的密钥K1、连同由软件管理中心部分提供的经过加密的密钥r和经过加密及压缩的程序P2存放在程序执行设备中的磁盘、随机访问存储器RAM、只读存储器ROM和光磁盘中,以便在程序执行设备中执行主处理过程。使用加密信息的密钥的方法可以最好采用公开密钥系统和密钥预分配系统(KPS)。在公开密钥系统中,预先生成好公开密钥、与该公开密钥相关的公开文件以及保密密钥,公开密钥是单个分配的,保密密钥是秘密管理的。公开密钥、与该公开密钥相关的公开文件以及保密密钥的生成和分配主要由软件管理中心部分的操作来完成。不过,也可以不受这种方式的限制而由用户部分、软件供应商部分或者二者合作来完成这一工作。生成每个公开密钥和保密密钥的具体内容的方法是对外公开的。在密钥预分配系统(KPS)中,将另一方的标识符应用到自己一方特有的保密算法生成一个另一方常见的密钥。生成诸如保密算法之类的操作主要是在软件管理中心部分中进行的。软件管理中心部分各自拥有自己的中心算法。通过应用软件和软件供应商部分的标识符,即可生成特定的保密算法。有关生成中心算法的方法、生成保密算法的方法、生成公共加密密钥的方法、以及机构和标识符的定义可在诸如日本待审专利公布第63-36634号和第63-107667号之类的文献中查到。软件管理中心部分的操作可以在用户部分、软件供应商部分或二者合作完成。使用上述密钥的上述方法可优先选用,但是不必仅仅局限于此。对于加密算法,可采用诸如数据加密标准方法(DES)、快速数据加密算法(FEAL)(注册商标)之类的算法。图1所示网络图中所处理的软件可以是应用程序、操作系统程序、实用程序等等。图1所示网络图中的软件供应商部分(一个供给用户软件的机构)采用零售店的形式,如软件车间、有关的厂商、零售店、摊点、供本文档来自技高网...

【技术保护点】
一个保护软件的系统,包括:软件供应商部分,随时准备为软件管理中心部分和用户部分提供程序;软件管理中心部分,与上述软件供应商部分相连,按预定的方式转换所提供的程序并随时准备将此经过转换的程序提供给用户部分;用户部分,与上述软件供应商部分和软件管理中心部分相连,按预定的方式转换所提供的程序,并将此经过转换的程序与上述由软件管理中心所提供的经过转换的程序相比较,只有二者相同时才去执行该程序。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:渡边晋一郎久林靖孝
申请(专利权)人:株式会社前进
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1