首页> 中国专利> 用于解决名称冲突的方法和系统

用于解决名称冲突的方法和系统

摘要

本发明涉及用于名称无冲突地集成来自于软件组件制造商(OEM)的软件组件的一种方法和一种系统,具有制造软件组件(SWK)并利用其相应的带密码的密钥进行加密的不同软件组件制造商(OEM)的软件开发装置,其中在集成加密的软件组件(ENC-SWK)时出现名称冲突的情况下,利用名称冲突解决规则来扩展其中出现了名称冲突的至少一个加密的软件组件(ENC-SWK);并且具有传输装置,用于将加密的软件组件(ENC-SWK)连同通过名称冲突解决规则扩展的加密的软件组件传输至目标系统装置,其在接收到传输的加密的软件组件(ENC-SWK)之后首先将其解密并且随后根据一同传输的名称冲突解决规则自动地解决出现的名称冲突。本发明实现了解决在可能来自于不同的软件组件制造商的软件组件加密时的名称冲突,而第三方不会看到软件组件的源代码。

著录项

  • 公开/公告号CN102598013A

    专利类型发明专利

  • 公开/公告日2012-07-18

    原文格式PDF

  • 申请/专利权人 西门子公司;

    申请/专利号CN201080050757.1

  • 申请日2010-10-06

  • 分类号G06F21/00;G06F9/445;

  • 代理机构北京康信知识产权代理有限责任公司;

  • 代理人余刚

  • 地址 德国慕尼黑

  • 入库时间 2023-12-18 06:12:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-16

    授权

    授权

  • 2012-09-19

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20101006

    实质审查的生效

  • 2012-07-18

    公开

    公开

说明书

技术领域

本发明涉及一种用于在加密的软件组件中解决名称冲突的方法和一 种用于名称无冲突地集成来自于不同的软件组件制造商OEM(Original Equipment Manufacturer原始设备制造商)的软件组件的系统。

背景技术

在应用加密的软件或者软件组件的情况下,可能出现名称冲突。由于 相应的软件组件仅仅加密地存在,因此在常用的系统中不容易解决这种名 称冲突。如果例如由不同的软件组件制造商OEM生成或者说生成了软件 组件或者软件包,并且随后对其加密,则在以后集成软件组件时不能排除 名称冲突。如果例如两个软件包在功能名称相同的情况下调用特定的功 能,然而该功能在两个软件组件中以不同的子程序或者说Subroutine命名, 则存在名称冲突。由于对于两个软件包或者说软件组件的用户而言,源代 码并不以未加密的形式存在,因此其不能解决名称冲突。

发明内容

因此本发明的目的在于,提出用于在加密的软件组件中解决名称冲突 的一种方法和一种系统。

该目的根据本发明通过一种具有根据权利要求1所述的特征的方法 来实现。

本发明提出了一种用于在加密的软件组件中解决名称冲突的方法,包 括以下步骤:

(a)在加密的软件组件(ENC-SWK)中识别名称冲突;

(b)利用用于解决名称冲突的名称冲突解决规则来扩展其中一 个识别了名称冲突的加密的软件组件(ENC-SWK);

(c)在将加密的软件组件传输至目标系统装置和在目标系统装 置上对其进行解密之后,根据一同传输的名称冲突解决规则解决名 称冲突。

在根据本发明的方法的一个实施方式中,当软件组件具有至少一个用 于功能调用、常量、变量、数据类型或其它数据对象的名称与不同的功能、 常量、变量、数据类型或其它对象的名称相同时,则识别在两个加密的软 件组件之间的名称冲突。

在根据本发明的方法的一个可能的实施方式中,根据相应的加密的软 件组件的未加密的头数据识别在加密的软件组件之间的名称冲突。

在根据本发明的方法的一个可替换的实施方式中,根据在加密的软件 组件中所应用的、用于软件组件调用、常量、变量、数据类型或对象的名 称的表格识别在加密的软件组件之间的名称冲突。

在根据本发明的方法的一个可能的实施方式中,在两个软件组件之一 中,在对该软件组件进行针对所有包含在软件组件中的、应用那个引起名 称冲突的名称的功能调用和访问解密之后,通过替代该名称来替换那个引 起该名称冲突的名称,以解决在两个加密的软件组件之间的名称冲突。

在根据本发明的方法的一个可能的实施方式中,替代名称包含在一同 传输的名称冲突解决规则中。

在一个可替换的实施方式中,替代名称在目标系统装置中生成。

在根据本发明的方法的一个可能的实施方式中,替代名称由生成的随 机数或者由计数值构成。

在根据本发明的方法的一个可能的实施方式中,用于另一个软件组件 的功能调用、常量、变量、数据类型或者其它对象的名称包括一系列符号、 字母和数字。

在根据本发明的方法的一个可能的实施方式中,被开发软件组件在应 用混合加密方法时利用公开的密钥加密。

在根据本发明的方法的一个可能的实施方式中,加密的软件组件在应 用混合加密方法时利用私人密钥解密,该私人密钥集成在目标系统装置 中。

在根据本发明的方法的一个实施方式中,公开密钥和私人密钥作为密 钥对通过目标系统装置的制造商生成。

在根据本发明的方法的一个可能的实施方式中,目标系统装置由程序 存储控制器构成。

在根据本发明的方法的一个可能的实施方式中,自动地执行名称冲突 识别、利用名称冲突解决规则来扩展加密的软件组件以及解决名称冲突。

本发明还提出了一种用于名称无冲突地集成来自于不同的软件组件 制造商的软件组件的系统,具有:

不同的软件组件制造商的软件开发装置,其制造软件组件并且 利用其相应的带密码的密钥进行加密,

其中在集成加密的软件组件时出现名称冲突的情况下,利用名 称冲突解决规则来扩展其中出现了名称冲突的至少一个加密的软件 组件,和

传输装置,用于将加密的软件组件连同通过名称冲突解决规则 扩展的加密的软件组件传输至目标系统装置,其在接收到传输的加 密的软件组件之后首先将其解密并且随后根据一同传输的名称冲突 解决规则自动地解决出现的名称冲突。

在根据本发明的系统的一个可能的实施方式中,传输装置具有数据 网。

在根据本发明的系统的一个可替换的实施方式中,传输装置由数据载 体或者存储器构成。

本发明还提出了一种目标系统装置,用于解决软件组件中的名称冲 突,具有:用于接收加密的软件组件的接口,其中,当利用名称冲突解决 规则来扩展至少一个接收的加密的软件组件时,目标系统装置在对加密的 软件组件解密之后,根据接收的名称冲突解决规则自动地解决出现的名称 冲突。

附图说明

下面参照附图说明根据本发明的方法和根据本发明的系统的实施方 式。

其示出:

图1是流程图,用于说明根据本发明的用于在加密的软件组件中解决 名称冲突的方法的一个可能的实施方式;

图2是框图,用于说明根据本发明的用于名称无冲突地集成软件组件 的系统的一个可能的实施方式。

具体实施方式

如在图1中可识别出地,根据本发明的用于在加密的软件组件中解决 名称冲突的方法基本上具有三个步骤S1,S2,S3。

在第一步骤S1中,首先识别或者说探测了在加密的软件组件中出现 名称冲突的情况,该软件组件来自于相同的或者不同的软件组件制造商 OEM。在此,特别当软件组件具有至少一个用于功能调用、常量、变量、 数据类型或其它对象的名称与或者不同的功能、常量、变量、数据类型的 其它对象的名称相同时,则识别了在加密的软件组件之间的名称冲突。如 果例如两个软件组件在针对不同的功能的功能调用中具有相同的名称,则 存在名称冲突,该名称冲突在步骤S1中被识别。在一个可能的实施变体 中可以根据相应的加密的软件组件的未加密的头数据来识别该名称冲突。 在一个可替换的实施方式中,根据在加密的软件组件中所应用的、用于软 件组件调用、常量、变量、数据类型或对象的名称的表格识别了在加密的 软件组件之间的名称冲突。

一旦在步骤S1中识别了名称冲突,则在步骤S2中进行对加密的软 件组件中任一个的扩展,其中利用用于解决名称冲突的名称冲突解决规则 来识别名称冲突。

最后,在步骤S3中将加密的软件组件传输至目标系统装置。在传输 之后才在目标系统装置上对软件组件行解密之后,根据一同传输的对于目 标系统装置在明文中可读取的名称冲突解决规则解决名称冲突。

因此,在第三方不会看到软件组件制造商OEM的源代码的情况下解 决名称冲突。

在两个软件组件之一中,在对软件组件进行针对所有包含在软件组件 中的、应用那个引起名称冲突的名称的功能调用和访问解密之后,通过替 代该名称来替换那个引起名称冲突的名称,以解决在两个所述加密的软件 组件之间的名称冲突。

在根据本发明的方法的一个可能的实施方式中,替代名称包含在一同 传输的名称冲突解决规则中。名称冲突解决规则因此例如称为:通过“替 代名称”替换软件组件X的“功能名称”。

可替换地,替代名称也可以通过目标系统装置生成。替代名称例如可 以是生成的随机数或通过计数器形成的计数值。

用于功能调用、常量、变量、数据类型或其它对象或者说数据对象的 名称例如可以是一系列符号,该符号包括字母和数字。

在根据本发明的方法的一个可能的实施方式中,通过软件组件制造商 OEM开发的软件组件SWK在应用混合加密方法时利用公开密钥Kpub加 密。在从发射装置传输至接收装置之后,在接收侧在应用混合加密方法的 情况下利用私人密钥Kpriv对加密的软件组件ENC-SWK解密,该私人密钥 可以集成在目标系统装置中。在此,私人密钥Kpriv优选地防人为篡改地存 储在目标系统装置中。

在根据本发明的方法的一个可能的实施方式中,公开密钥Kpub和私 人密钥作为密钥对通过目标系统装置的制造商生成,其中目标系统装置可 以是程序存储控制器SPS。

图2示出了框图,用于说明根据本发明的用于名称无冲突地集成软件 组件SWK的系统1的一个可能的实施方式,该系统可以来自于不同的软 件组件制造商OEM。在图2中示出的实例中,两个不同的软件组件制造 商OEMA和OEMB例如借助于相应的开发工具生成两个不同的软件组件 SWKA和SWKB。软件开发装置2A,2B利用相应的软件组件制造商OEMA和OEMB的相应带有密码的密钥KOEM对软件组件SWK加密。软件组件 SWK例如可以是程序或子程序,但也可以是其他软件模块,例如文件。 软件组件SWK利用相应的开发工具首先被生成或者说编程,并且作为资 源或者说源代码存在。为了保护软件组件SWK不被不期望的未被授权的 第三方访问,该软件组件或者说源代码借助于带有密码的密钥KOEMA或者 KOEMB通过加密单元在软件开发装置2A,2B内被相应地加密,并且随后 以被加密的形式存在。在图2中示出的实施例中随后将两个加密的软件组 件ENC-SWKA和ENC-SWKB例如通过第三软件组件制造商C集成在软件 开发装置2C或软件集成装置中。在图2中示出的实例中,两个软件组件 制造商OEMA和OEMB例如是另一个软件组件制造商OEMC的供应商。在 第三软件组件制造商OEMC的装置2C中,当集成两个加密的软件组件 ENC-SWKA,ENC-SWKB时出现名称冲突时,其中出现了名称冲突的两个 加密的软件组件中的至少一个利用名称冲突解决规则来扩展。

在完成对两个加密的软件组件中的一个、例如加密的软件组件 ENC-SWKB的扩展之后,两个加密的软件组件通过传输装置3被传输至目 标系统装置4。在此,实现了将加密的软件组件连同通过名称冲突解决规 则来扩展的加密的软件组件一起传输。在图2中示出的实施例中,传输装 置3是数据线或数据网。在一个可替换的实施方式中,传输装置是数据载 体或者说存储器。在通过数据网进行传输时,传输可以有线地但也可以无 线地进行。

在目标系统装置4的一侧上,在接收到传输的加密的软件组件之后首 先对其进行解密并且随后根据一同传输的名称冲突解决规则,在接收侧自 动解决出现的名称冲突。随后执行软件组件。目标系统装置4例如可以是 可编程存储控制器SPS。

在根据本发明的方法和系统中,目标系统装置4接收到信息,该信息 是有关于需替换的功能调用,用于根据一同传输的名称冲突解决规则解决 名称冲突。根据本发明的系统使得用户可以灵活地重新命名加密地提供的 软件或者说软件组件的调用的功能。在此,尽管为了解决名称冲突可以存 在重新命名的可能性,但是也可以被保护相应的软件组件制造商OEM的 技术秘密(Know-how),使第三方无法对其访问,这是因为用户可以在 其目标系统上解密之后在目标系统装置4上执行加密的软件,然而不能以 未加密的形式知晓。

根据本发明的方法和系统对于各种类型制成的软件组件SWK或者说 软件模块是通用可替换的。根据本发明的方法也可以应用在不同软件组件 的多级的集成中。在一个可能的实施方式中,可用于解决名称冲突的替代 名称包含在一同传输的名称冲突解决规则中。在一个可替换的实施方式 中,替代名称在用户的目标系统装置4中生成。在此涉及生成的随机数、 生成的计数值或者生成的一系列字母。替代名称的字宽可以变化或预设。 在一个可能的实施方式中进行安全性检查,即替代名称是否就其而言解决 了名称冲突。在这种情况下,例如借助于随机发生器或计数器生成了另一 个替代名称。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号