CN104778382A - 对应用包重新签名的设备和方法和运行应用包的终端设备 - Google Patents
对应用包重新签名的设备和方法和运行应用包的终端设备 Download PDFInfo
- Publication number
- CN104778382A CN104778382A CN201510016313.0A CN201510016313A CN104778382A CN 104778382 A CN104778382 A CN 104778382A CN 201510016313 A CN201510016313 A CN 201510016313A CN 104778382 A CN104778382 A CN 104778382A
- Authority
- CN
- China
- Prior art keywords
- key
- application
- signature
- transition
- application bag
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
提供了用于对应用包重新签名的设备。该设备包括:通信单元,其被配置为接收包括签名密钥的应用包;以及控制单元,其被配置为利用与签名密钥相对应的转换密钥来对应用包重新签名。
Description
相关申请的交叉引用
本申请要求2014年1月13日向韩国知识产权局提交的第10-2014-0004021号韩国专利申请的权益,其全部公开通过引用并入本文。
技术领域
本公开涉及用于对应用包(application package)重新签名(re-sign)的设备和方法,以及用于运行应用包的终端设备。
背景技术
最近,各种应用,诸如游戏应用、财务相关的应用、地图相关的应用、以及其他类似的应用,根据用户需要被安装在正在被许多人使用的便携式终端中。安装在便携式终端中的应用可以通过下载在应用市场,例如,GooglePlay Store(谷歌娱乐商店)或App Store(应用商店),注册的应用包来安装。应用包可以被安装在便携式终端的特定文件夹中,并且响应于用户请求来执行。在所述市场注册的应用和/或应用包可以由开发者签名和注册。
应用包可以利用由应用开发者所拥有的私有密钥来签名。当应用包被签名时,与私有密钥相对应的签名(signature)和/或签名密钥被生成。在这种情况下,当应用市场系统转换应用包时,现有的签名密钥可能失效。因此,存在一些情况,即使应用包的开发者利用与通过转换形成的应用包的签名密钥一样的私有密钥来对应用包签名也很难察觉开发者信息,因为难以识别通过转换形成的应用包的签名密钥。在这种情况下,存在这样的限制:在诸如更新情况的许多情况下不容易共享数据。
以上信息被作为背景信息来提供,仅仅是为了帮助对本公开的理解。关于以上任何信息是否可以作为关于本公开的现有技术来应用,尚未作出确定,并且不作出声明。
发明内容
本公开的各方面旨在解决上述问题和/或缺点并且提供至少下述优点。因此,本公开的一方面提供了用于对应用包重新签名的设备和方法,以及用于运行应用包的设备,其提供了这样的技术,在该技术中可以创建与从已创建的应用的私有密钥形成的签名密钥相对应的转换密钥,并且利用该转换密钥来对应用包重新签名。
根据本公开的一方面,提供了用于对应用包重新签名的设备。该设备包括:通信单元,其被配置为接收包括签名密钥的应用包;以及控制单元,其被配置为利用与签名密钥相对应的转换密钥来对应用包重新签名。
根据本公开的另一方面,提供了用于对应用包重新签名的方法。该方法包括:由通信单元接收包括签名密钥的应用包;以及由控制单元利用与签名密钥相对应的转换密钥来对应用包重新签名。
根据本公开的另一实施例,提供了用于执行应用包的终端设备。该终端设备包括:终端通信单元,其被配置为接收利用转换密钥签名的应用包,所述转换密钥是基于签名密钥创建的;存储单元,其被配置为将应用包存储在存储单元的安全区域中;以及终端控制单元,其被配置为安装和执行存储在存储单元的安全区域中的应用包。
根据本公开的另一方面,提供了电子设备。该电子设备包括:存储器,其被配置为存储第一应用包;转换器,其被配置为将第一应用包转换为第二应用包;以及处理器,其被配置为:从第一应用包提取签名密钥;基于签名密钥生成私有密钥;以及利用生成的私有密钥对第二应用包签名。
通过以下结合附图、公开了本公开的各种实施例的详细描述,本公开的其它方面、优点和显著的特征对于本领域技术人员将变得明显。
附图说明
通过下面结合附图的描述,本公开的特定实施例的以上和其他方面、特征和优点将更加明显,其中:
图1是根据本公开的实施例的用于对应用包重新签名的设备的框图;
图2是根据本公开的实施例的对应用包重新签名的方法的流程图;
图3是根据本公开的实施例的用于对应用包重新签名的系统的框图;
图4表示根据本公开的实施例的密钥存储单元的密钥表的结构;
图5是根据本公开的实施例的终端设备的框图;以及
图6是根据本公开的实施例的对应用包重新签名的方法的流程图。
贯穿附图,应该理解的是,使用相同的参考标号来描绘相同或相似的元件、特征和结构。
具体实施方式
提供下列参考附图的描述以有助于对通过权利要求及其等效物定义的本公开的各种实施例的全面理解。本描述包括各种具体细节以有助于理解但是仅应当被认为是示例性的。因此,本领域普通技术人员将认识到,能够对这里描述的各种实施例进行各种改变和修改而不脱离本公开的范围与精神。此外,为了清楚和简明起见,可以略去对公知功能与结构的描述。
在下面说明书和权利要求书中使用的术语和措词不局限于它们的词典意义,而是仅仅由发明人用于使得能够对于本公开清楚和一致的理解。因此,对本领域技术人员来说应当明显的是,提供以下对本公开的各种实施例的描述仅用于图示的目的而非限制如所附权利要求及其等效物所定义的本公开的目的。
应当理解,单数形式的“一”、“一个”和“该”包括复数所指物,除非上下文清楚地指示不是如此。因此,例如,对“部件表面”的指代包括指代一个或多个这样的表面。
基于可以在Android(安卓)操作系统(OS)中安装的应用来描述本公开的各种实施例中使用的应用。应用包可以是用于在Android应用市场注册应用的安装包,并且具有扩展名“.apk”。
应用包可以通过编译应用的源代码来创建,并且包括用于将应用安装在便携式设备中的诸如.dex文件的可执行文件、资源、图像数据、以及从应用开发者的私有密钥形成的签名密钥。虽然本公开的各种实施例是基于AndroidOS描述的,但是本公开不限于此,并且可以应用于诸如Windows OS和MACOS的各种OS以及可以在这些OS上安装的应用。
图1是根据本公开的实施例的用于对应用包重新签名的设备的框图。
参照图1,根据本公开的实施例的重新签名设备10可以包括通信单元11、输入单元13、控制单元15和存储单元17。重新签名设备10可以是可以接收应用包以便转换应用的签名密钥的设备,诸如计算机、笔记本计算机和/或便携式设备。
通信单元11接收应用包。应用包可以是从由应用开发者开发的应用创建的。为此,通信单元11可以与提供应用包的外部电子设备(未示出)执行短距离射频(RF)通信,包括蓝牙、近场通信(NFC)和/或其它短距离RF通信。通信单元11可以使用通用串行总线(USB)连接器执行有线通信以接收应用包。另外,通信单元11可以通过诸如WiFi和/或蜂窝网络的无线网络、和/或使用局域网(LAN)的有线网络来访问网络硬盘和/或应用市场,以接收应用包。此外,通信单元11可以将已转换的应用包上传到网络硬盘和/或应用市场。
输入单元13根据外部输入生成用于操作重新签名设备10的操作信号,以便向控制单元15提供生成的信号。例如,输入单元13根据外部输入生成用于要转换的应用的选择信号,并生成用于转换签名密钥以生成转换密钥的信号。另外,输入单元13生成用于请求利用已创建的转换密钥来重新签名已转换的应用包的信号、以及请求将重新签名的应用包上传到网络硬盘和/或应用市场的信号,并且将所述信号发送到控制单元15。为此,输入单元13可以包括输入设备,诸如键盘、小键盘、触摸垫和/或触摸屏。
控制单元15接收应用包,以提取包括在应用包中的签名密钥。控制单元15创建与提取的签名密钥相对应的转换密钥,并且利用生成的转换密钥对已转换的应用包重新签名。此外,控制单元15将重新签名的应用包上传到网络硬盘和/或应用市场。为此,控制单元15可以包括签名密钥提取单元15a、转换密钥创建单元15b和应用包(APK)签名单元15c,其中,APK也可以被称为Android应用包。
签名密钥提取单元15a提取包括在应用包中的签名密钥。当应用开发者利用他或她的私有密钥对应用签名时,可以形成签名密钥。像配置应用包的可执行文件、资源或图像数据一样,签名密钥可以被形成并存储在单独文件夹中。
转换密钥创建单元15b生成与由签名密钥提取单元15a提取的签名密钥相对应的转换密钥,或者转换密钥创建单元15b提取被映射到签名密钥的已存储的转换密钥。更具体地,转换密钥创建单元15b搜索存储在存储单元17中的密钥表17a,并且检查和/或确定在密钥表17a中是否存在被映射到提取的签名密钥的已存储的转换密钥。
当在密钥表17a中存在被映射到提取的签名密钥的已存储的转换密钥时,转换密钥创建单元15b提取转换密钥以便将转换密钥提供给APK签名单元15c。另一方面,当在密钥表17a中没有被映射到提取的签名密钥的已存储的转换密钥时,转换密钥创建单元15b激活用于创建与签名密钥相对应的转换密钥的算法,以创建转换密钥。转换密钥创建单元15b将创建的转换密钥发送到存储单元17,以使得所创建的转换密钥被映射和存储到签名密钥,并且将所创建的转换密钥提供给APK签名单元15c。
APK签名单元15c使用从转换密钥创建单元15b接收到的转换密钥来对应用包重新签名。在这种情况下,转换密钥由转换密钥创建单元15b创建,或者通过转换密钥创建单元15b从存储单元17提取。当由APK签名单元15c完成应用包的重新签名时,应用包可以包括由转换密钥创建的新的签名密钥。
存储单元17包括用于操作重新签名设备10的程序和/或应用。此外,存储单元17将由控制单元15创建的转换密钥映射到包括在应用包中的签名密钥,并且将转换密钥和签名密钥存储在密钥表17a中。
图2是根据本公开的实施例的对应用包重新签名的方法的流程图。
参照图1和图2,在操作211中,控制单元15允许,或者换句话说,控制,通信单元11从用户设备(未示出)接收已经被开发和签名的应用包,所述用户设备可以被称为外部电子设备,所述应用在其中被开发和/或存储。控制单元15可以与外部电子设备执行短距离RF通信和/或有线通信,以便直接从外部电子设备接收应用包。此外,控制单元15可以接收由外部电子设备通过无线互联网和/或有线互联网上传到网络硬盘和/或应用市场的应用包。
在操作213中,控制单元15提取包括在接收到的应用包中的签名密钥。接收到的应用包可以包括用于安装应用的诸如.dex文件的可执行文件、资源、图像数据、以及从应用开发者的私有密钥形成的签名密钥。控制单元15可以从应用包检查用于存储签名密钥的区域,并且提取与所检查的区域匹配的签名密钥。
在操作215中,控制单元15检查和/或确定在存储单元17中是否存在映射到提取的签名密钥的转换密钥。当确定在存储单元17中存在映射到签名密钥的转换密钥时,控制单元15进行到操作221,并且当不存在转换密钥,则控制单元15进行到操作217。
在操作217中,当通过输入单元13接收到用于创建转换密钥的信号时,控制单元15激活用于创建转换密钥的算法以创建与所提取的签名密钥相对应的转换密钥。在操作219中,控制单元15通过将所创建的转换密钥映射到所提取的签名密钥来存储所创建的转换密钥,并且将所创建的转换密钥和所提取的签名密钥存储在存储单元17的密钥表17a中。
接着,当存在请求对应用包重新签名的信号和/或应用包的重新签名被默认设置时,在操作221中,控制单元15使用存储在存储单元17中并从其中提取的转换密钥、或者所创建的转换密钥,以利用转换密钥对应用包重新签名。在操作223中,控制单元15完成应用包的创建。在这种情况下,由于控制单元15可以将转换密钥识别为一种私有密钥,并因此对应用包重新签名,所以重新签名的应用包可以包括利用转换密钥新创建的签名密钥
图3是根据本公开的实施例的用于对应用包重新签名的系统的框图。
参照图3,根据本公开的实施例的重新签名系统50可以包括重新签名设备100和终端设备200。重新签名设备100可以是可以接收应用并转换应用的签名密钥的设备,诸如计算机、笔记本计算机、便携式设备、或者任何其他类似的和/或合适的电子设备,并且终端设备200可以是可以接收应用包并且安装和使用应用的设备,诸如便携式终端和/或智能电话。在这种情况下,终端设备200可以包括特定安全平台以便为用户提供安全目的服务,并且可以使用Android OS。重新签名设备100将第一应用包转换成第二应用包并且执行签名操作,以便能够在特定安全平台上使用应用,或者换句话说,以使得通过重新签名设备100,第二应用包可用在特定安全平台上。为此,重新签名设备100可以包括通信单元110、输入单元130、控制单元150和存储单元170。
通信单元110接收第一应用包。第一应用包可以从由应用开发者开发的应用创建。通信单元110可以执行由图1的通信单元11所执行的操作和/或相应操作,以获得第一应用包。例如,通信单元110可以与提供第一应用包的外部电子设备(未示出)执行短距离RF通信,包括蓝牙。通信单元110可以通过使用USB连接器执行有线通信以接收第一应用包。另外,通信单元110可以通过诸如WiFi和/或蜂窝网络的无线网络、和/或使用LAN的有线网络来访问网络硬盘和/或应用市场,以接收第一应用包。此外,通信单元110可以将通过转换第一应用包获得的第二应用包发送到终端设备200,并且可以将第二应用包上传到网络硬盘和/或应用市场。
输入单元130根据外部输入生成用于操作重新签名设备100的操作信号,以便向控制单元150提供生成的信号。具体地,输入单元130根据外部输入生成用于要转换的应用的选择信号,并生成用于转换签名密钥以生成转换密钥的信号。另外,输入单元130生成用于请求利用已创建的转换密钥重新签名已转换的应用包的信号、以及请求将重新签名的应用包上传到网络硬盘和/或应用市场的信号,并且将所述信号发送到控制单元150。为此,输入单元130可以包括输入设备(未示出),诸如键盘、小键盘、触摸垫或触摸屏。
控制单元150接收应用包,并且从包括有基于私有密钥形成的签名密钥的第一应用包提取签名密钥。控制单元150生成与提取的签名密钥相对应的转换密钥,并且将第一应用包转换为第二应用包。此外,控制单元150通过利用提取的转换密钥对通过转换获得的第二应用包签名,来完成第二应用包的转换。控制单元150可以将第二应用包发送到终端设备200,和/或将第二应用包上传到网络硬盘和/或应用市场。为此,控制单元150可以包括签名密钥提取单元150a、转换密钥创建单元150b、转换器单元150c和APK签名单元150d。
签名密钥提取单元150a提取包括在第一应用包中的签名密钥。当应用开发者利用他或她的私有密钥以电子方式对应用签名时,可以形成签名密钥。像配置第一应用包的可执行文件、资源或图像数据一样,签名密钥可以被形成并存储在单独文件夹中。
转换密钥创建单元150b生成与由签名密钥提取单元150a提取的签名密钥相对应的转换密钥,或者提取被映射到签名密钥的已存储的转换密钥。更具体地,转换密钥创建单元150b搜索存储在存储单元170中的密钥表170a,并且检查和/或确定在密钥表170a中是否存在被映射到提取的签名密钥的已存储的转换密钥。
当已存储的转换密钥被映射到密钥表170a中的提取的签名密钥时,转换密钥创建单元150b提取转换密钥以便将转换密钥提供给APK签名单元150d。另一方面,当在密钥表170a中没有被映射到提取的签名密钥的已存储的转换密钥时,转换密钥创建单元150b激活用于创建与签名密钥相对应的转换密钥的算法,以创建转换密钥。转换密钥创建单元150b将创建的转换密钥发送到存储单元170,以使得所创建的转换密钥被映射和存储到签名密钥,并且将所创建的转换密钥提供给APK签名单元150d。
转换器单元150c可以转换包括在第一应用包中的信息。例如,转换器单元150c检查包括在第一应用包中的诸如.dex文件的可执行文件,并且通过转换可执行文件来创建第二应用包,以便在安装在终端设备200中的安全平台上使用。例如,转换器单元150c可以在终端设备200的安全区域240a(参见图5)中安装和转换特定应用,以使得该应用可以被使用。为此目的,转换器单元150c可以转换第一应用包的可执行文件、资源和数据,以便适合于安全区域240a的平台,或者换句话说,可由安全区域240a的平台使用。
APK签名单元150d使用从转换密钥创建单元150b接收到的转换密钥来对第二应用包重新签名。在这种情况下,转换密钥由转换密钥创建单元150b创建,和/或通过转换密钥创建单元150b从存储单元170提取。当由APK签名单元150d完成第二应用包的重新签名时,第二应用包可以包括由转换密钥创建的新的签名密钥。
存储单元170存储用于操作重新签名设备100的程序和/或应用。此外,存储单元170将由控制单元150创建的转换密钥映射和存储到包括在第一应用包中的签名密钥。
图4表示根据本公开的实施例的密钥存储单元的密钥表的结构。
参照图4,当控制单元150转换第一应用包A_APK以创建第二应用包A1_APK和用于对第二应用包A1_APK签名的第一转换密钥时,第一签名密钥被映射到第一转换密钥并且被存储在存储单元170的密钥表170a中。然后,当控制单元150转换第一应用包A_APK以创建第三应用包A2_APK时,可以使用被映射到第一应用包A_APK的第一签名密钥的第一转换密钥来对第三应用包A2_APK重新签名。此外,控制单元150可以将第一转换密钥作为用于对第三应用包A2_APK重新签名的密钥存储在密钥表170a中。因此,本公开具有这样的效果:容易在包括基于第一应用包通过转换获得的第二应用包和第三应用包之间保持兼容性并且共享数据。
此外,当控制单元150转换第一应用包B_APK以创建第二应用包B1_APK和用于对第二应用包B1_APK签名的第二转换密钥时,第二签名密钥被映射到第二转换密钥并且被存储在存储单元170的密钥表170a中。然后,当控制单元150再次转换第二应用包B1_APK以创建第三应用包B2_APK时,控制单元150使用第二应用包B1_APK的第二转换密钥来创建新的2-1转换密钥,它也可以被称为第二-一(second-one)转换密钥。此外,控制单元150利用2-1转换密钥对第三应用包B2_APK重新签名。由于2-1转换密钥被映射并被存储到第二签名密钥和第二转换密钥,因此可以觉察和/或考虑到,第三应用包的母(mother)应用包,其也被称为父(parent)应用包和/或源/原始应用包,是第一应用包B_APK。因此,本公开具有这样的效果:即使通过转换第一应用包获得的第二应用包被再次转换,也可以有效地管理应用的更新,因为第二应用包基于第一应用包。
终端设备200可以执行从重新签名设备100接收到的应用包。参照图5描述终端设备200的配置。
图5是根据本公开的实施例的终端设备200的框图。
参照图5,终端设备200可以包括终端通信单元210、终端输入单元220、终端控制单元230和终端存储单元240,以便执行从重新签名设备100接收到的应用包。终端设备200可以使用各种OS,包括Android、Mac和WindowsOS。终端设备200可以提供在Android OS上运行的安全平台,例如,三星KNOX。三星KNOX是用于阻止外部访问安装在三星KNOX上的应用和数据的安全平台。
终端通信单元210接收第二应用包。为此,终端通信单元210可以与提供第二应用包的重新签名设备100执行短距离RF通信,包括蓝牙。终端通信单元210可以通过使用USB连接器(未示出)执行有线通信以接收第二应用包。另外,终端通信单元210可以通过诸如WiFi和/或蜂窝通信网络的无线网络来访问网络硬盘和/或应用市场,以接收第二应用包。
终端输入单元220根据外部输入生成用于操作终端设备200的操作信号,以便向终端控制单元230提供生成的信号。具体地,终端输入单元220根据外部输入生成使能到网络硬盘和/或应用市场的访问的信号。另外,终端输入单元200生成使能到安装在终端设备中的安全平台的访问的信号,并且向终端控制单元230提供用于请求安全平台下载第二应用包的信号。
终端控制单元230控制构成终端设备200的组件的操作,以用于安装和/或操作终端设备200中的第二应用包。为此,终端控制单元230可以包括APK检查单元230a和APK执行单元230b。
APK检查单元230a检查和/或确定通过终端通信单元210从网络硬盘和/或应用市场下载的第二应用包是否可以在安全区域240a中操作。根据检查第二应用包的结果,APK检查单元230a将第二应用包存储在安全区域240a的第二APK 241中。例如,APK检查单元230a检查和/或确定用于对第二应用包签名的密钥是否是基于第一应用包的签名密钥创建的转换密钥。因此,APK检查单元230a可以检查和/或确定第二应用包是否是通过转换第一应用包而获得的应用包,以便在安全区域240a中运行。
当从终端输入单元220接收到用于执行第二应用包的信号时,APK执行单元230a执行与存储在安全区域240a中的第二应用包相对应的应用。
终端存储单元240存储用于操作终端设备200的程序和/或应用。此外,终端存储单元240可以包括安全区域240a和正常区域240b。安全区域240a包括第二APK 241,并且将第二应用包存储在第二APK 241中。在这种情况下,第二应用包可以是已经被改变为能够在安装在终端设备200的安全区域240a中的安全平台上运行的应用包。例如,上述三星KNOX可以基于终端设备200的安全区域240a运行。
一般应用包,而不是被改变为安装在安全区域240a中的应用包,被安装在正常区域240b中。另外,在安全区域240a中运行的应用不在正常区域240b中运行和/或操作,而且在正常区域240b中运行的应用不在安全区域240a中运行和/或操作。
从重新签名设备100接收到的第二应用包可以被安装在安全区域240a的第二APK 241中。
图6是根据本公开的实施例的对应用包重新签名的方法的流程图。
参照图3至图6,在操作611中,控制单元150允许和/或控制通信单元110接收由外部电子设备(未示出)开发和签名的第一应用包。控制单元150可以与外部电子设备执行短距离RF通信和/或有线通信,以便直接从外部电子设备接收第一应用包。此外,控制单元150可以接收由外部电子设备通过无线互联网或有线互联网上传到网络硬盘或应用市场的应用包。
在操作613中,控制单元150提取包括在接收到的第一应用包中的签名密钥。第一应用包可以包括用于在重新签名设备100中安装应用的诸如.dex文件的可执行文件、资源、图像数据、以及从应用开发者的私有密钥形成的签名密钥。
在操作615中,控制单元150检查和/或确定在存储单元170中是否存储了被映射到提取的签名密钥的已存储的转换密钥。作为检查已存储的转换密钥存在/不存在的结果,当确定在存储单元170中存在被映射到签名密钥的已存储的转换密钥时,控制单元150进行到操作621,并且当不存在转换密钥时,控制单元150进行到操作617。
在操作617中,当通过输入单元130接收到用于创建转换密钥的信号时,控制单元150激活用于创建转换密钥的算法以创建与所提取的签名密钥相对应的转换密钥,并且控制单元150转换第一应用包。控制单元150检查包括在第一应用包中的可执行文件,并且转换可执行文件以便在被安装在终端设备200中的安全平台中使用。在操作619中,控制单元150将创建的转换密钥映射到提取的签名密钥,将创建的转换密钥和提取的签名密钥存储在存储单元170的密钥表170a中,并执行操作623。
在操作615之后,控制单元150在操作621中转换第一应用包。更详细地,控制单元150检查和/或确定包括在第一应用包中的可执行文件,并且转换可执行文件以便在被安装在终端设备200中的安全平台中使用。在操作623中,控制单元150确定第一应用包的转换是否完成,并且如果转换完成,则执行操作625。
在操作625中,当在操作623中确定第一应用包的转换完成时,控制单元150基于第一应用包来创建第二应用包,或者换句话说,转换第二应用包。在操作627,控制单元150使用从存储单元170提取的转换密钥和/或创建的转换密钥,来对第二应用包签名。在操作629中,控制单元150将已签名的第二应用包提供给终端设备200,以便将该应用包安装在终端设备200的安全区域240a中。
在本公开的各种实施例中,重新签名设备10、重新签名系统50和/或终端设备200可以被理解为包括处理器和存储器的电子设备。包括在该电子设备中的处理器可以对应于控制单元15、控制单元150和/或终端控制单元230。例如,该设备包括处理器、被配置为存储第一应用包的存储器、和被配置为将第一应用包转换成第二应用包的转换器。根据本公开的各种实施例,该处理器从第一应用包提取签名并基于该签名生成私有密钥,并且利用生成的私有密钥来对第二应用包签名。
如上所述,由于本公开创建与从已创建的应用的私有密钥所形成的签名密钥相对应的转换密钥并且利用该转换密钥对应用包重新签名,因此可以简单地在转换的前后保持应用开发者的身份并且升级应用。
另外,本公开具有这样的效果:容易在从应用包导出的、具有相同签名密钥的一个或多个应用之间共享数据。
虽然已经参照本公开的各种实施例示出和描述了本公开,但是本领域术人员应当理解,可以在形式和细节上对其做出各种改变而不脱离由所附权利要求及其等同物定义的本公开的精神和范围。
Claims (15)
1.一种对应用包重新签名的设备,该设备包括:
通信单元,其被配置为接收包括签名密钥的应用包;以及
控制单元,其被配置为从应用包提取签名密钥,创建与所提取的签名密钥相对应的转换密钥,并且利用转换密钥对应用包重新签名。
2.如权利要求1所述的设备,其中,所述控制单元还被配置为:
将转换密钥映射到签名密钥;以及
存储转换密钥和签名密钥。
3.如权利要求1所述的设备,还包括密钥存储单元,其被配置为存储映射到签名密钥的转换密钥。
4.如权利要求3所述的设备,其中,所述控制单元还被配置为:
确定转换密钥是否被映射到签名密钥;或者
确定映射到签名密钥的转换密钥是否被存储在密钥存储单元中。
5.如权利要求1所述的设备,其中,所述控制单元还被配置为转换应用包,经转换的应用包是在安装有所述经转换的应用包的终端设备上可执行的。
6.如权利要求5所述的设备,其中,所述控制单元还被配置为利用转换密钥对所述经转换的应用包重新签名。
7.如权利要求5所述的设备,其中,所述设备被配置为执行安全平台,所述经转换的应用包在该安全平台中执行。
8.如权利要求1所述的设备,还包括输入单元,其被配置为接收用于创建转换密钥的信号。
9.一种对应用包重新签名的方法,该方法包括:
由通信单元接收包括签名密钥的应用包;以及
由控制单元利用与签名密钥相对应的转换密钥对应用包重新签名。
10.如权利要求9所述的方法,其中,对应用包重新签名包括:
从应用包提取签名密钥;以及
确定映射到签名密钥的转换密钥是否被存储。
11.如权利要求10所述的方法,其中,对应用包重新签名还包括:
当确定没有存储映射到签名密钥的转换密钥时,创建映射到签名密钥的转换密钥;以及
利用转换密钥对应用包重新签名。
12.如权利要求10所述的方法,其中,对应用包重新签名还包括:
当确定存储了映射到签名密钥的转换密钥时,提取转换密钥;以及
利用提取的转换密钥对应用包重新签名。
13.如权利要求11所述的方法,还包括:
将转换密钥映射到签名密钥;以及
存储转换密钥和签名密钥。
14.如权利要求10所述的方法,还包括转换应用包。
15.如权利要求14所述的方法,其中,对应用包重新签名还包括利用转换密钥对经转换的应用包签名。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0004021 | 2014-01-13 | ||
KR1020140004021A KR20150084221A (ko) | 2014-01-13 | 2014-01-13 | 어플리케이션 패키지의 재서명 장치, 방법 및 상기 어플리케이션 패키지를 실행하는 단말장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104778382A true CN104778382A (zh) | 2015-07-15 |
Family
ID=52396447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510016313.0A Pending CN104778382A (zh) | 2014-01-13 | 2015-01-13 | 对应用包重新签名的设备和方法和运行应用包的终端设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9692600B2 (zh) |
EP (1) | EP2894586A1 (zh) |
KR (1) | KR20150084221A (zh) |
CN (1) | CN104778382A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073403A (zh) * | 2016-11-14 | 2018-05-25 | 三星Sds株式会社 | 转换应用的方法及计算装置 |
CN111046436A (zh) * | 2018-10-11 | 2020-04-21 | 中国人民解放军战略支援部队航天工程大学 | 基于系统级包管理的签名认证方法及服务器 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160205124A1 (en) * | 2015-01-14 | 2016-07-14 | Korea Internet & Security Agency | System and method for detecting mobile cyber incident |
CN106656513B (zh) * | 2017-02-24 | 2019-09-13 | 福建魔方电子科技有限公司 | 安卓平台上apk文件的二次打包签名验证方法 |
CN107301343B (zh) * | 2017-06-19 | 2021-03-26 | 大连中科创达软件有限公司 | 安全数据处理方法、装置及电子设备 |
CN110348178A (zh) * | 2019-06-27 | 2019-10-18 | 绿漫科技有限公司 | 一种对iOS系统应用重签名的方法 |
KR20230049392A (ko) * | 2021-10-06 | 2023-04-13 | 삼성전자주식회사 | 멀티 서명된 apk 파일을 처리하는 전자 장치 및 그 동작 방법 |
CN116032510A (zh) * | 2021-10-27 | 2023-04-28 | 北京字节跳动网络技术有限公司 | 数据安全保护系统 |
CN117077090B (zh) * | 2023-10-16 | 2024-01-23 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101594339A (zh) * | 2008-05-29 | 2009-12-02 | 华为技术有限公司 | 管理和查询映射信息的方法、设备及通信系统 |
CN101842773A (zh) * | 2007-11-27 | 2010-09-22 | 波音公司 | 替换部件签名列表文件 |
CN103069745A (zh) * | 2010-08-24 | 2013-04-24 | 皇家飞利浦电子股份有限公司 | 基于属性的数字签名 |
CN103354496A (zh) * | 2013-06-24 | 2013-10-16 | 华为技术有限公司 | 一种公钥密码的处理方法、装置及系统 |
CN103501352A (zh) * | 2013-10-22 | 2014-01-08 | 北京航空航天大学 | 一种允许群组用户身份撤销的云存储数据安全审计方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7249259B1 (en) | 1999-09-07 | 2007-07-24 | Certicom Corp. | Hybrid signature scheme |
US20020044662A1 (en) * | 2000-08-22 | 2002-04-18 | Jonathan Sowler | Service message management system and method |
US8200983B1 (en) * | 2006-09-09 | 2012-06-12 | 9Rays.Net, Inc. | System and method for tamper-proofing executable binary assemblies |
FR2922702B1 (fr) * | 2007-10-17 | 2010-02-26 | Airbus France | Securisation de fichiers informatiques telechargeables sur un aeronef basee sur l'identite d'entites, procede d'authenfication, systeme et aeronef associes |
US7877461B1 (en) * | 2008-06-30 | 2011-01-25 | Google Inc. | System and method for adding dynamic information to digitally signed mobile applications |
CN102473220B (zh) * | 2010-05-07 | 2015-06-17 | 松下电器产业株式会社 | 信息处理装置、信息处理方法以及程序分发系统 |
US8843750B1 (en) * | 2011-01-28 | 2014-09-23 | Symantec Corporation | Monitoring content transmitted through secured communication channels |
EP2686978B1 (en) | 2011-03-18 | 2017-03-15 | Certicom Corp. | Keyed pv signatures |
US8725645B1 (en) * | 2013-01-04 | 2014-05-13 | Cetrus LLC | Non-invasive metering system for software licenses |
US9021443B1 (en) * | 2013-04-12 | 2015-04-28 | Google Inc. | Test automation API for host devices |
-
2014
- 2014-01-13 KR KR1020140004021A patent/KR20150084221A/ko not_active Application Discontinuation
-
2015
- 2015-01-13 CN CN201510016313.0A patent/CN104778382A/zh active Pending
- 2015-01-13 US US14/595,573 patent/US9692600B2/en not_active Expired - Fee Related
- 2015-01-13 EP EP15150959.3A patent/EP2894586A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101842773A (zh) * | 2007-11-27 | 2010-09-22 | 波音公司 | 替换部件签名列表文件 |
CN101594339A (zh) * | 2008-05-29 | 2009-12-02 | 华为技术有限公司 | 管理和查询映射信息的方法、设备及通信系统 |
CN103069745A (zh) * | 2010-08-24 | 2013-04-24 | 皇家飞利浦电子股份有限公司 | 基于属性的数字签名 |
CN103354496A (zh) * | 2013-06-24 | 2013-10-16 | 华为技术有限公司 | 一种公钥密码的处理方法、装置及系统 |
CN103501352A (zh) * | 2013-10-22 | 2014-01-08 | 北京航空航天大学 | 一种允许群组用户身份撤销的云存储数据安全审计方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108073403A (zh) * | 2016-11-14 | 2018-05-25 | 三星Sds株式会社 | 转换应用的方法及计算装置 |
CN111046436A (zh) * | 2018-10-11 | 2020-04-21 | 中国人民解放军战略支援部队航天工程大学 | 基于系统级包管理的签名认证方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
US9692600B2 (en) | 2017-06-27 |
EP2894586A1 (en) | 2015-07-15 |
US20150200784A1 (en) | 2015-07-16 |
KR20150084221A (ko) | 2015-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104778382A (zh) | 对应用包重新签名的设备和方法和运行应用包的终端设备 | |
CN110858249B (zh) | 一种数据库文件加密方法、解密方法和相关装置 | |
CN108595970A (zh) | 处理组件的配置方法、装置、终端及存储介质 | |
CN102640160B (zh) | 用于控制资源访问的方法和装置 | |
CN105683990B (zh) | 用于保护动态库的方法和装置 | |
CN105320535B (zh) | 一种安装包的校验方法、客户端、服务器及系统 | |
CN104285210B (zh) | 在便携式通信设备上恢复操作系统的方法、装置和系统 | |
CN103873454A (zh) | 一种认证方法及设备 | |
EP4250258A3 (en) | Utilizing a transaction card to provide secondary authentication for accessing a secure application with a user device | |
CN109687974B (zh) | Apk验证方法、装置、移动终端及可读存储介质 | |
CN112256275B (zh) | 代码混淆方法、装置、电子设备及介质 | |
CN103793644B (zh) | 信息安全设备实现多应用的方法、信息安全设备和系统 | |
CN103914772A (zh) | 用于移动支付的无线认证方法、系统及装置 | |
CN102685122A (zh) | 基于云端服务器的软件保护的方法 | |
US20170177395A1 (en) | Embedded architecture based on process virtual machine | |
CN112514323B (zh) | 用于处理数字密钥的电子设备及其操作方法 | |
US20170041858A1 (en) | Asynchronous information transfer between devices on different networks via a plurality of provider devices | |
US20160352522A1 (en) | User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same | |
WO2014107060A1 (ko) | 모바일 데이터 보안 장치 및 방법 | |
KR20120010869A (ko) | 개인정보 보호 장치 및 방법, 개인정보 보호를 위한 유/무선 단말 | |
KR102133251B1 (ko) | 애플리케이션 프로그램 보호 방법 및 장치 | |
CN104782154A (zh) | 一种用于禁用在装置中的算法的方法和设备 | |
KR20130063399A (ko) | 모바일 클라우드 환경에 적용되는 모바일 단말과 클라우드 서버 및 이를 이용한 모바일 클라우드 컴퓨팅 방법 | |
CN106603237B (zh) | 一种安全支付方法及装置 | |
JP6500302B2 (ja) | 中央装置、周辺装置、通信システム、通信方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150715 |
|
RJ01 | Rejection of invention patent application after publication |