[go: up one dir, main page]

CN102087689B - Method and device for protecting software reused module - Google Patents

Method and device for protecting software reused module Download PDF

Info

Publication number
CN102087689B
CN102087689B CN2009102417352A CN200910241735A CN102087689B CN 102087689 B CN102087689 B CN 102087689B CN 2009102417352 A CN2009102417352 A CN 2009102417352A CN 200910241735 A CN200910241735 A CN 200910241735A CN 102087689 B CN102087689 B CN 102087689B
Authority
CN
China
Prior art keywords
module
reuse module
reuse
key
encryption
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.)
Expired - Fee Related
Application number
CN2009102417352A
Other languages
Chinese (zh)
Other versions
CN102087689A (en
Inventor
纪永凤
刘洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University Founder Group Co Ltd
Priority to CN2009102417352A priority Critical patent/CN102087689B/en
Publication of CN102087689A publication Critical patent/CN102087689A/en
Application granted granted Critical
Publication of CN102087689B publication Critical patent/CN102087689B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

为了解决现有技术在软件重用模块层次上还没有相应的保护方案的问题,本发明公开了一种软件重用模块的保护方法及装置,本发明公开的方法包括:根据第一密钥和具有使用重用模块权限的应用程序的标识,生成第一加密结果并生成重用模块注册码,当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和根据第一密钥得到的重用模块校验码,通过重用模块校验码得到第一密钥,根据第一密钥和获取的标识生成第二加密结果,根据注册码得到第一加密结果,比较第一加密结果和第二加密结果,确定该应用程序是否具有使用重用模块的权限,正是由于通过注册码和校验码实现了权限验证,进而实现在软件重用模块层次上对软件进行保护。

Figure 200910241735

In order to solve the problem that there is no corresponding protection scheme at the software reuse module level in the prior art, the present invention discloses a protection method and device for a software reuse module. The method disclosed in the present invention includes: according to the first key and the The identification of the application program that reuses the module authority, generates the first encryption result and generates the registration code of the reuse module, and when the application program that needs to use the reuse module runs, obtains the registration code of the reuse module, the identification of the application program and the obtained key according to the first key The reuse module verification code, obtain the first key through the reuse module verification code, generate the second encryption result according to the first key and the obtained identification, obtain the first encryption result according to the registration code, and compare the first encryption result and the second encryption result The result of the second encryption determines whether the application program has the authority to use the reuse module. It is precisely because the authority verification is realized through the registration code and the check code, and then the software is protected at the level of the software reuse module.

Figure 200910241735

Description

一种软件重用模块的保护方法及装置A method and device for protecting a software reuse module

技术领域 technical field

本发明属于数字加密技术领域,特别涉及一种软件重用模块的保护方法及装置。The invention belongs to the technical field of digital encryption, in particular to a protection method and device for a software reuse module.

背景技术 Background technique

软件复用是软件工程中软件开发的基本思想和方法,复用意味着使用已经存在的成果。在软件开发的过程中,我们发现开发中的大部分内容都是比较成熟的,只有少部分的工作才是创新性的。成熟的工作我们可以认为是高质量并且可以复用的,通过复用这些成熟的工作可以提高我们的生产率。Software reuse is the basic idea and method of software development in software engineering, and reuse means using existing results. In the process of software development, we found that most of the content in the development is relatively mature, and only a small part of the work is innovative. We can consider mature work to be high-quality and reusable, and our productivity can be improved by reusing these mature works.

将开发中比较成熟的、可以复用的工作进行合理的拆分,形成高内聚、低耦合的模块,以便在其他的软件开发中使用这些独立的、能够提供完整功能的模块,这些模块被称为重用模块。将提取出的软件模块不断的添加到重用模块库中,在需要某些重用模块时,直接从模块库中提取自己需要的重用模块进行类似“积木”的堆积,就可以方便形成常用的软件。Reasonably split the mature and reusable work in development to form high-cohesion and low-coupling modules, so that these independent modules that can provide complete functions can be used in other software development. These modules are It's called a reusable module. The extracted software modules are continuously added to the reusable module library. When some reusable modules are needed, the reusable modules you need can be directly extracted from the module library and accumulated like "building blocks", so that commonly used software can be easily formed.

随着计算机软件的迅猛发展,软件模块化将越来越多,许多重用模块将在软件产品中使用,如何保护这些重用模块不被滥用,在软件重用模块层次上对软件进行保护,目前还没有相应的解决方案。With the rapid development of computer software, there will be more and more software modularization, and many reusable modules will be used in software products. How to protect these reusable modules from being abused and protect software at the level of software reusable modules has not yet been corresponding solution.

发明内容 Contents of the invention

为了解决现有技术在软件重用模块层次上还没有相应的保护方案的问题,本发明实施例提供了一种软件重用模块的保护方法,包括:In order to solve the problem that there is no corresponding protection scheme at the software reuse module level in the prior art, an embodiment of the present invention provides a protection method for software reuse modules, including:

根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥得到密钥;According to the first key and the identification of the application program with the authority to use the reuse module, use the encryption algorithm to generate the first encryption result, and generate the registration code of the reuse module according to the first encryption result, and the first key is obtained according to the private key of the reuse module key;

当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;When the application program that needs to use the reuse module is running, obtain the registration code of the reuse module, the identification of the application program and the check code of the reuse module obtained according to the first key added in the reuse module;

通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;The first key is obtained by reusing the module verification code, and the second encryption result is generated by using an encryption algorithm according to the first key and the identifier obtained when the application program is running;

通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。The first encryption result is obtained through the registration code of the reuse module, and according to the same result of the first encryption and the second encryption result, it is determined that the application program that needs to use the reuse module has the permission to use the reuse module, otherwise, there is no permission to use the module.

同时本发明实施例还提供一种软件重用模块的保护装置,包括:At the same time, the embodiment of the present invention also provides a protection device for a software reuse module, including:

第一生成模块:用于根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥得到密钥;The first generation module: used to generate the first encryption result by using an encryption algorithm according to the first key and the identification of the application program with the authority to use the reuse module, and generate the registration code of the reuse module according to the first encryption result, the first key is based on Reuse the module private key to get the key;

获取模块:用于当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;Obtaining module: used to obtain the registration code of the reused module, the identification of the application and the checksum of the reused module obtained from the first key added in the reused module when the application program that needs to use the reused module is running;

第二生成模块:用于通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;The second generation module: used to obtain the first key by reusing the module verification code, and generate a second encryption result by using an encryption algorithm according to the first key and the identifier obtained when the application program is running;

权限确定模块:用于通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。Authority determination module: used to obtain the first encryption result through the registration code of the reuse module. According to the same result of the first encryption and the second encryption result, it is determined that the application program that needs to use the reuse module has the authority to use the reuse module, otherwise, there is no use authority.

由本发明提供的具体实施方案可以看出,正是由于通过重用模块注册码和重用模块校验码实现了权限验证,进而实现在软件重用模块层次上对软件进行保护。It can be seen from the specific implementation scheme provided by the present invention that the authorization verification is realized through the reuse module registration code and the reuse module verification code, and then the software is protected at the level of the software reuse module.

附图说明 Description of drawings

图1为本发明提供的第一实施例方法流程图;Fig. 1 is the method flowchart of the first embodiment provided by the present invention;

图2为本发明提供的第一实施例注册码和校验码生成方法流程图;Fig. 2 is the flow chart of the registration code and verification code generation method of the first embodiment provided by the present invention;

图3为本发明提供的第一实施例第二加密结果生成方法流程图;Fig. 3 is a flow chart of the second encryption result generation method of the first embodiment provided by the present invention;

图4为本发明提供的第一实施例第一加密结果生成方法流程图;Fig. 4 is a flow chart of the method for generating the first encryption result according to the first embodiment of the present invention;

图5为本发明提供的第二实施例装置结构图。Fig. 5 is a structural diagram of the device of the second embodiment provided by the present invention.

具体实施方式 Detailed ways

为了解决现有技术中在软件重用模块层次上还没有相应的保护方案的问题,本发明的实施例提供一种软件重用模块的保护方法,当某个应用程序需要使用某个重用模块时,则需要申请重用模块注册码,使用重用模块时,则需要提供该应用程序的标识,如:应用程序进程名称等。重用模块注册码的生成需要如下步骤,获取具有使用重用模块权限的应用程序的标识ID1,根据KEY1和ID1,利用加密算法生成第一加密结果crytoText,根据crytoText生成重用模块注册码licenseCode。其中密钥KEY1可以直接采用重用模块私有密钥moduleKey,也可以采用对重用模块私有密钥moduleKey进行不可逆加密得到的加密后结果moduleKeyHash。无论采用moduleKey还是采用moduleKeyHash作为KEY1,都是根据重用模块私有密钥moduleKey得到密钥KEY1。生成重用模块注册码licenseCode后,需要建立应用程序1和licenseCode两者之间的关联关系,以便当应用程序1运行时能够获取licenseCode。在重用模块的使用入口处添加重用模块校验码moduleCode和校验程序段,以便其被应用程序1调用时通过携带的moduleCode对调用其的应用程序使用权限进行校验,moduleCode可以直接采用moduleKey,还可以采用字符编码后的moduleKeyHash,当应用程序1运行时,获取licenseCode、应用程序1的标识ID1’和重用模块携带的moduleCode。应用程序1调用重用模块后,通过携带的moduleCode对调用其的应用程序使用权限进行校验,校验过程为,重用模块通过moduleCode得到密钥KEY1(moduleKey或moduleKeyHash),根据密钥KEY1和应用程序1运行时获取的ID1’利用加密算法生成第二加密结果hcNumber。In order to solve the problem in the prior art that there is no corresponding protection scheme at the level of software reuse modules, the embodiment of the present invention provides a protection method for software reuse modules. When an application program needs to use a certain reuse module, then You need to apply for a reuse module registration code. When using a reuse module, you need to provide the identification of the application, such as: application process name, etc. The generation of the reuse module registration code requires the following steps: obtain the identification ID1 of the application program with the permission to use the reuse module, generate the first encrypted result crytoText by using an encryption algorithm according to KEY1 and ID1, and generate the reuse module registration code licenseCode according to crytoText. The key KEY1 may directly use the reuse module private key moduleKey, or may use the encrypted result moduleKeyHash obtained by irreversibly encrypting the reuse module private key moduleKey. Regardless of whether moduleKey or moduleKeyHash is used as KEY1, the key KEY1 is obtained according to the private key moduleKey of the reused module. After the reuse module registration code licenseCode is generated, an association between application 1 and licenseCode needs to be established so that the licenseCode can be obtained when application 1 is running. Add the reuse module verification code moduleCode and verification program segment at the use entry of the reuse module, so that when it is called by application 1, it can verify the usage permission of the calling application through the carried moduleCode. moduleCode can directly use moduleKey, The character-encoded moduleKeyHash can also be used. When the application 1 is running, the licenseCode, the ID1' of the application 1 and the moduleCode carried by the reused module are obtained. After application 1 invokes the reuse module, it verifies the usage authority of the calling application through the carried moduleCode. The verification process is as follows: the reuse module obtains the key KEY1 (moduleKey or moduleKeyHash) through the moduleCode, and according to the key KEY1 and the application 1 The ID1' obtained during operation uses an encryption algorithm to generate a second encryption result hcNumber.

根据应用程序1运行时获取的licenseCode得到crytoText,根据crytoText和licNumber相同,确定应用程序1具有使用重用模块的权限,否则,没有使用权限。According to the licenseCode obtained when the application 1 is running, the crytoText is obtained. According to the same crytoText and licNumber, it is determined that the application 1 has the permission to use the reuse module, otherwise, there is no permission to use it.

本发明提供的第一实施例是一种软件重用模块的保护方法,XML编辑器是一个多媒体文本编辑器,作为应用程序使用。XML编辑器中的核心模块之一是修改痕迹模块,作为一个独立的模块,不仅在XML编辑器中使用,在其它的应用模块中也频繁的使用,修改痕迹模块在本发明实施例中作为重用模块,下面以在XML编辑器为具有使用重用模块权限的应用程序,修改痕迹重用模块被一应用程序使用后,对使用其的应用程序进行验证,判断该程序是否是具有使用权限的XML编辑器来详细说明,方法流程如图1所示,包括:The first embodiment provided by the present invention is a method for protecting a software reuse module, and the XML editor is a multimedia text editor used as an application program. One of the core modules in the XML editor is the modification trace module. As an independent module, it is not only used in the XML editor, but also frequently used in other application modules. The modification trace module is used as a reuse in the embodiment of the present invention. module, the following assumes that the XML editor is an application program that has the permission to use the reuse module, and after the modification trace reuse module is used by an application program, verify the application program that uses it to determine whether the program is an XML editor that has the permission to use the module To explain in detail, the method flow is shown in Figure 1, including:

步骤101:采用修改痕迹重用模块A的私有密钥moduleA,对XML编辑器的标识XMLEditor进行对称加密生成crytoText,将crytoText作为修改痕迹重用模块A注册码licenseCode,将moduleA作为修改痕迹重用模块A的校验码moduleCode。Step 101: Use the private key moduleA of the modification trace reuse module A to symmetrically encrypt the XMLEditor logo XMLEditor to generate crytoText, use crytoText as the registration code licenseCode of the modification trace reuse module A, and use moduleA as the certificate of the modification trace reuse module A Check code moduleCode.

步骤102:将moduleCode添加在修改痕迹重用模块A的使用入口处,以便其被调用时通过moduleCode对调用其的应用程序进行权限校验。Step 102: Add moduleCode at the use entry of the modification trace reuse module A, so that when it is called, the authority verification of the calling application is performed through the moduleCode.

步骤103:当应用程序1运行时,获取作为licenseCode的crytoText、应用程序1的标识ID1’和修改痕迹重用模块A中添加的作为moduleCode的moduleA。Step 103: When the application program 1 is running, obtain the crytoText as the licenseCode, the ID1' of the application program 1, and the moduleA as the moduleCode added in the modification trace reuse module A.

步骤104:采用修改痕迹重用模块A携带的moduleA对标识ID1’进行对称加密生成第二加密结果licNumber。Step 104: Use the moduleA carried by the modification trace reuse module A to perform symmetric encryption on the ID1' to generate the second encryption result licNumber.

步骤105:根据crytoText和licNumber相同,确定应用程序1具有使用重用模块的权限,否则,没有使用权限。Step 105: According to the same crytoText and licNumber, it is determined that the application program 1 has the right to use the reuse module, otherwise, it does not have the right to use.

其中步骤101中,生成licenseCode和moduleCode还可以如图2所示,具体而言,生成crytoText的过程还可以是对修改痕迹重用模块A的私有密钥moduleA进行不可逆加密(单向加密)得到moduleKeyHash,对XML编辑器的标识XMLEditor进行不可逆加密得到appIdHash,将moduleKeyHash作为密钥对appIdHash进行对称加密,生成crytoText。本实施例中采用哈西运算实现不可逆加密。无论是moduleKey还是moduleKeyHash在本实施例中的作用都是都是作为一个密钥,即都是根据重用模块私有密钥moduleKey得到的密钥KEY1。密钥KEY1的作用就是和标识XMLEditor一起可以生成crytoText。对XMLEditor和moduleA加密是单向的,确保crytoText不能被破解,增强了修改痕迹重用模块A的安全性。进一步,还可以通过如下方式获得licenseCode和moduleCode,使用随机数作为密钥对crytoText进行对称加密,加密的结果使用cryptoRandKey来表示。使用随机数对crytoText进行加密,保证修改痕迹重用模块A每次生成的注册码都不同。将生成的cryptoRandKey和上一步使用的随机数拼接形成licCode,将licCode和moduleKeyHash使用字符编码的方式生成可见字符,形成licenseCode和moduleCode。In step 101, generating licenseCode and moduleCode can also be shown in Figure 2. Specifically, the process of generating crytoText can also be irreversible encryption (one-way encryption) to the private key moduleA of the modification trace reuse module A to obtain moduleKeyHash, Irreversibly encrypt the XMLEditor ID of the XML editor to obtain appIdHash, and use moduleKeyHash as a key to symmetrically encrypt appIdHash to generate crytoText. In this embodiment, hash operation is used to realize irreversible encryption. Both the moduleKey and the moduleKeyHash function as a key in this embodiment, that is, the key KEY1 obtained from the reused module private key moduleKey. The function of the key KEY1 is to generate crytoText together with the mark XMLEditor. The encryption of XMLEditor and moduleA is one-way, which ensures that crytoText cannot be cracked, and enhances the security of reusing module A with modification traces. Furthermore, the licenseCode and moduleCode can also be obtained in the following way, using a random number as a key to perform symmetric encryption on crytoText, and the encrypted result is represented by cryptoRandKey. Use random numbers to encrypt crytoText to ensure that the registration code generated by the modification trace reuse module A is different each time. Concatenate the generated cryptoRandKey with the random number used in the previous step to form licCode, and use character encoding to generate visible characters from licCode and moduleKeyHash to form licenseCode and moduleCode.

其中步骤102,还可以是,将moduleKeyHash使用字符编码的方式生成的moduleCode添加在修改痕迹重用模块A的使用入口处,无论是将moduleA直接作为修改痕迹重用模块A的校验码moduleCode,还是将moduleKeyHash使用字符编码的方式生成moduleCode,都是根据密钥KEY1得到moduleCode。In step 102, it is also possible to add the moduleCode generated by moduleKeyHash using character encoding to the use entry of the modification trace reuse module A, whether moduleA is directly used as the verification code moduleCode of the modification trace reuse module A, or moduleKeyHash The moduleCode is generated by character encoding, and the moduleCode is obtained according to the key KEY1.

其中步骤103,获取修改痕迹重用模块A中添加的作为moduleCode的moduleA,还可以是,若前述步骤中是将moduleKeyHash使用字符编码的方式生成的moduleCode添加在修改痕迹重用模块A的使用入口处,则此时调用的修改痕迹重用模块A携带的是将moduleKeyHash使用字符编码的方式编码后生成的moduleCode,同样获取的licenseCode为使用随机数进行加密处理后得到的licenseCode。In step 103, obtain the moduleA added as the moduleCode in the modification trace reuse module A. It can also be, if the moduleCode generated by moduleKeyHash using character encoding is added to the usage entry of the modification trace reuse module A in the preceding steps, then The modification trace reuse module A called at this time carries the moduleCode generated by encoding the moduleKeyHash using character encoding, and the obtained licenseCode is the licenseCode obtained by encrypting the random number.

由于之前建立有应用程序1和licenseCode的关联关系,如将licenseCode添加到应用程序1相关的配置文件中,或将licenseCode添加到应用程序1相关的资源文件的字符串资源中,或将licenseCode写到应用程序1的入口处。因此获取licenseCode具体实施可以是,应用程序1运行时,进行后续权限验证的模块如加密狗可以通过读取携带有licenseCode的配置文件,得到licenseCode。或者,加密狗读取字符串资源中添加有licenseCode的资源文件,得到licenseCode。或者,将licenseCode写到应用程序1的入口处,应用程序1运行时,加密狗直接由应用程序1得到licenseCode。加密狗将得到的licenseCode注册在内存中提供给后续步骤使用。Since the relationship between application 1 and licenseCode was previously established, for example, add licenseCode to the configuration file related to application 1, or add licenseCode to the string resource of the resource file related to application 1, or write licenseCode to Entrance to Application 1. Therefore, the specific implementation of acquiring the licenseCode may be that when the application program 1 is running, a module that performs subsequent authority verification, such as a dongle, can obtain the licenseCode by reading the configuration file carrying the licenseCode. Alternatively, the dongle reads the resource file with the licenseCode added in the character string resource to obtain the licenseCode. Alternatively, write the licenseCode to the entry of application 1, and when application 1 is running, the dongle will directly obtain the licenseCode from application 1. The dongle registers the obtained licenseCode in the memory for use in subsequent steps.

其中步骤104,第二加密结果licNumber生成的过程还可以是,如图3所示,将修改痕迹重用模块A携带的moduleCode(moduleCode是moduleKeyHash使用字符编码的方式编码后生成的)解码,得到moduleKeyHash,对标识ID1’进行不可逆加密得到appIdHash’,采用moduleKeyHash对appIdHash’进行对称加密生成第二加密结果licNumber。无论采用哪种方式最终得到第二加密结果licNumber,都是通过moduleCode得到密钥KEY1,和标识ID1’一起得到第二加密结果licNumber。这里密钥KEY1无论是moduleKeyHash还是moduleA,作用都是和标识ID1’一起得到第二加密结果licNumber。Wherein step 104, the process that the second encryption result licNumber generates can also be, as shown in Figure 3, the moduleCode (moduleCode is that moduleKeyHash uses the mode of character encoding to generate after moduleKeyHash is encoded) carried by modification trace reuse module A, obtains moduleKeyHash, The identifier ID1' is irreversibly encrypted to obtain appIdHash', and the appIdHash' is symmetrically encrypted using moduleKeyHash to generate a second encryption result licNumber. No matter which method is used to finally obtain the second encryption result licNumber, the key KEY1 is obtained through the moduleCode, and the second encryption result licNumber is obtained together with the identifier ID1'. Here, whether the key KEY1 is moduleKeyHash or moduleA, its function is to obtain the second encryption result licNumber together with the ID ID1'.

若使用随机数进行加密处理后得到的licenseCode,在步骤105之前,还需根据licenseCode得到crytoText,如图4所示,具体为对licenseCode进行解码,由licenseCode转化为licCode,从licCode分离出随机码和cryptoRandKey,随机码作为密钥,对cryptoRandKey进行解密运算,生成crytoText。具体实施时可以将crytoText插入到应用程序的注册码序列中,等待和licNumber比较时使用。If the licenseCode obtained after encryption with random numbers is used, before step 105, the crytoText needs to be obtained according to the licenseCode, as shown in Figure 4. Specifically, the licenseCode is decoded, and the licenseCode is converted into licCode, and the random code and the licCode are separated from the licCode. cryptoRandKey, the random code is used as the key, and the cryptoRandKey is decrypted to generate crytoText. During specific implementation, crytoText can be inserted into the registration code sequence of the application, and used when waiting for comparison with licNumber.

对于步骤105,确定crytoText和licNumber相同,可以是通过将crytoText和licNumber进行直接比较确定两者相同,也可以是,在步骤105之前,使用随机数(与加密crytoText的随机数相同)作为密钥对licNumber进行对称加密,将加密的结果和随机数拼接,得到一个拼接结果,将拼接结果使用字符编码的方式生成可见字符,形成最后的注册比较码,将注册比较码和licenseCode进行比较,根据比较结果相同,确定crytoText和licNumber相同。For step 105, it is determined that crytoText and licNumber are the same, either by directly comparing crytoText and licNumber to determine that they are the same, or, before step 105, using a random number (identical to the random number used to encrypt crytoText) as a key pair The licNumber performs symmetric encryption, splicing the encrypted result and the random number to obtain a splicing result, and uses character encoding to generate visible characters to form the final registration comparison code, and compares the registration comparison code with the licenseCode, according to the comparison result Same, make sure crytoText and licNumber are the same.

本发明提供的第二实施例是一种软件重用模块的保护装置,其结构如图5所示,包括:The second embodiment provided by the present invention is a protection device for a software reuse module, the structure of which is shown in Figure 5, including:

第一生成模块201:用于根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥得到密钥;The first generation module 201: used to generate the first encryption result by using an encryption algorithm according to the first key and the identification of the application program with the authority to use the reuse module, and generate the registration code of the reuse module according to the first encryption result. The first key is Obtain the key according to the private key of the reuse module;

获取模块202:用于当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;Obtaining module 202: used to acquire the registration code of the reused module, the identification of the application and the checksum of the reused module obtained according to the first key added in the reused module when the application program that needs to use the reused module is running;

第二生成模块203:用于通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;The second generation module 203: used to obtain the first key by reusing the module verification code, and generate a second encryption result by using an encryption algorithm according to the first key and the identification obtained when the application program is running;

权限确定模块204:用于通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。Authority determination module 204: used to obtain the first encryption result through the reuse module registration code, and determine that the application program that needs to use the reuse module has the authority to use the reuse module according to the same first encryption result and the second encryption result, otherwise, there is no use authority .

进一步,第一生成模块201:还用于采用进行单向加密后的重用模块私有密钥作为第一密钥,对进行单向加密后的具有使用重用模块权限的应用程序的标识进行对称加密得到第一加密结果。Further, the first generating module 201: is also used to use the one-way encrypted private key of the reuse module as the first key, and perform symmetric encryption on the identifier of the application program having the right to use the reuse module after the one-way encryption to obtain The first encrypted result.

进一步,还包括:Further, it also includes:

校验码生成模块205:用于将作为第一密钥的进行单向加密后的重用模块私有密钥,使用字符编码的方式生成的可见字符作为重用模块校验码;Check code generation module 205: used to use the private key of the reuse module after one-way encryption as the first key, and use the visible characters generated by character encoding as the check code of the reuse module;

第二生成模块203:用于将重用模块校验码进行字符解码得到进行单向加密后的重用模块私有密钥,采用单向加密后的重用模块私有密钥,对进行单向加密后的应用程序运行时获取的标识进行对称加密得到第二加密结果。The second generating module 203: used to decode the characters of the reuse module check code to obtain the reuse module private key after one-way encryption, and use the one-way encryption reuse module private key to encrypt the application after one-way encryption The identity obtained when the program is running is symmetrically encrypted to obtain a second encryption result.

进一步,第一生成模块201:还用于使用随机数作为密钥对第一加密结果进行对称加密得到第三加密结果;Further, the first generation module 201: is also used to use the random number as a key to perform symmetric encryption on the first encryption result to obtain a third encryption result;

将第三加密结果和随机数进行拼接,将拼接结果使用字符编码的方式生成的可见字符作为重用模块注册码;Splicing the third encryption result and the random number, and using the visible characters generated by the splicing result using character encoding as the reuse module registration code;

权限确定模块204:还用于对重用模块注册码进行字符解码,从解码后的重用模块注册码分离出第三加密结果和随机数,将随机数作为密钥对第三加密结果进行解密,得到第一加密结果。Authority determination module 204: is also used to perform character decoding on the reuse module registration code, separate the third encryption result and random number from the decoded reuse module registration code, use the random number as a key to decrypt the third encryption result, and obtain The first encrypted result.

进一步,第一生成模块201:还用于将第一加密结果使用字符编码的方式生成的可见字符作为重用模块注册码;Further, the first generation module 201: is also used to use the visible characters generated by the first encryption result in a character encoding manner as the reuse module registration code;

权限确定模块204:还用于将重用模块注册码进行字符解码得到第一加密结果。The authority determination module 204 is further configured to perform character decoding on the registration code of the reuse module to obtain a first encryption result.

进一步,第一生成模块201:还用于采用重用模块私有密钥作为第一密钥,对具有使用重用模块权限的应用程序的标识进行对称加密得到第一加密结果,将第一加密结果作为重用模块注册码;Further, the first generation module 201: is also used to use the private key of the reuse module as the first key, perform symmetric encryption on the identification of the application program with the authority to use the reuse module to obtain the first encryption result, and use the first encryption result as the reuse Module registration code;

权限确定模块204:还用于将重用模块注册码作为第一加密结果。The authority determining module 204: is further configured to use the reuse module registration code as the first encryption result.

进一步,还包括:Further, it also includes:

校验码生成模块205:用于将重用模块私有密钥作为重用模块校验码;Verification code generation module 205: used to use the reuse module private key as the reuse module verification code;

第二生成模块203:用于将重用模块私有密钥作为第一密钥,采用重用模块私有密钥对应用程序运行时获取的标识进行对称加密得到第二加密结果。The second generating module 203 is used to use the private key of the reuse module as the first key, and use the private key of the reuse module to symmetrically encrypt the identifier obtained when the application program is running to obtain a second encryption result.

进一步,获取模块202:还用于需要使用重用模块的应用程序运行时,读取携带有重用模块注册码的配置文件,得到重用模块注册码;或Further, the acquisition module 202: is also used to read the configuration file carrying the registration code of the reuse module to obtain the registration code of the reuse module when the application program that needs to use the reuse module is running; or

需要使用重用模块的应用程序运行时,读取字符串资源中添加有重用模块注册码的资源文件,得到重用模块注册码;或When the application that needs to use the reuse module is running, read the resource file with the registration code of the reuse module added in the string resource to obtain the registration code of the reuse module; or

需要使用重用模块的应用程序运行时,读取在需要使用重用模块的应用程序中新增的重用模块注册码,得到重用模块注册码。When the application program that needs to use the reuse module is running, the registration code of the reuse module newly added in the application program that needs to use the reuse module is read to obtain the registration code of the reuse module.

进一步,权限确定模块204:还用于根据直接比较第一加密结果和第二加密结果确定两者相同。Further, the authority determination module 204: is further configured to determine that the two are the same based on a direct comparison between the first encryption result and the second encryption result.

进一步,权限确定模块204:还用于使用随机数作为密钥对第二加密结果进行对称加密得到第四加密结果;Further, the authority determining module 204: is further configured to use a random number as a key to perform symmetric encryption on the second encryption result to obtain a fourth encryption result;

将第四加密结果和随机数进行拼接,将拼接结果使用字符编码的方式生成的可见字符作为重用模块注册比较码;根据比较重用模块注册码和重用模块注册比较码,确定第一加密结果和第二加密结果相同。Splicing the fourth encryption result and the random number, and using the visible characters generated by the character encoding method of the splicing result as the reuse module registration comparison code; according to comparing the reuse module registration code and the reuse module registration comparison code, determine the first encryption result and the second encryption result The two encryption results are the same.

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention also intends to include these modifications and variations.

Claims (16)

1.一种软件重用模块的保护方法,其特征在于,包括:1. A protection method for a software reuse module, comprising: 根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥得到的密钥;According to the first key and the identification of the application program with permission to use the reuse module, use an encryption algorithm to generate a first encryption result, and generate a reuse module registration code according to the first encryption result, the first key is obtained according to the private key of the reuse module key; 当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;When the application program that needs to use the reuse module is running, obtain the registration code of the reuse module, the identification of the application program and the check code of the reuse module obtained according to the first key added in the reuse module; 通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;The first key is obtained by reusing the module verification code, and the second encryption result is generated by using an encryption algorithm according to the first key and the identifier obtained when the application program is running; 通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。The first encryption result is obtained through the registration code of the reuse module, and according to the same result of the first encryption and the second encryption result, it is determined that the application program that needs to use the reuse module has the permission to use the reuse module, otherwise, there is no permission to use the module. 2.如权利要求1所述的方法,其特征在于,根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果具体为:2. The method according to claim 1, characterized in that, according to the first key and the identification of the application program with permission to use the reuse module, using an encryption algorithm to generate the first encryption result is specifically: 采用进行单向加密后的重用模块私有密钥作为第一密钥,对进行单向加密后的具有使用重用模块权限的应用程序的标识进行对称加密得到第一加密结果。Using the one-way encrypted reuse module private key as the first key, perform symmetric encryption on the one-way encrypted application program identification with the right to use the reuse module to obtain a first encryption result. 3.如权利要求2所述的方法,其特征在于,根据第一密钥得到重用模块校验码具体为:3. The method according to claim 2, wherein obtaining the reuse module verification code according to the first key is specifically: 将作为第一密钥的进行单向加密后的重用模块私有密钥,使用字符编码的方式生成的可见字符作为重用模块校验码;The private key of the reusable module after one-way encryption as the first key, and the visible characters generated by character encoding as the reusable module verification code; 通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果具体为:The first key is obtained by reusing the module verification code, and the second encryption result is generated using an encryption algorithm based on the first key and the identifier obtained when the application is running: 将重用模块校验码进行字符解码得到进行单向加密后的重用模块私有密钥,采用单向加密后的重用模块私有密钥,对进行单向加密后的应用程序运行时获取的标识进行对称加密得到第二加密结果。The reuse module check code is decoded to obtain the one-way encrypted reuse module private key, and the one-way encrypted reuse module private key is used to symmetric the identity obtained when the one-way encrypted application is running. The encryption yields a second encrypted result. 4.如权利要求3所述的方法,其特征在于,根据第一加密结果生成重用模块注册码具体为:使用随机数作为密钥对第一加密结果进行对称加密得到第三加密结果;4. The method according to claim 3, wherein generating the reuse module registration code according to the first encryption result is specifically: using a random number as a key to symmetrically encrypt the first encryption result to obtain a third encryption result; 将第三加密结果和随机数进行拼接,将拼接结果使用字符编码的方式生成的可见字符作为重用模块注册码;Splicing the third encryption result and the random number, and using the visible characters generated by the splicing result using character encoding as the reuse module registration code; 通过重用模块注册码得到第一加密结果具体为:The first encryption result obtained by reusing the module registration code is as follows: 对重用模块注册码进行字符解码,从解码后的重用模块注册码分离出第三加密结果和随机数,将随机数作为密钥对第三加密结果进行解密,得到第一加密结果。Perform character decoding on the reuse module registration code, separate the third encryption result and random number from the decoded reuse module registration code, use the random number as a key to decrypt the third encryption result, and obtain the first encryption result. 5.如权利要求3所述的方法,其特征在于,根据第一加密结果生成重用模块注册码具体为:将第一加密结果使用字符编码的方式生成的可见字符作为重用模块注册码;5. The method according to claim 3, wherein generating the reuse module registration code according to the first encryption result is specifically: using the visible characters generated by the first encryption result using character encoding as the reuse module registration code; 通过重用模块注册码得到第一加密结果具体为:The first encryption result obtained by reusing the module registration code is as follows: 将重用模块注册码进行字符解码得到第一加密结果。Character decoding is performed on the reuse module registration code to obtain a first encrypted result. 6.如权利要求1所述的方法,其特征在于,根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码具体为:6. The method according to claim 1, characterized in that, according to the first key and the identification of the application program with permission to use the reuse module, an encryption algorithm is used to generate a first encryption result, and a reuse module registration is generated according to the first encryption result The code is specifically: 采用重用模块私有密钥作为第一密钥,对具有使用重用模块权限的应用程序的标识进行对称加密得到第一加密结果,将第一加密结果作为重用模块注册码;Using the private key of the reuse module as the first key, symmetrically encrypting the identification of the application program with the authority to use the reuse module to obtain a first encryption result, and using the first encryption result as the registration code of the reuse module; 通过重用模块注册码得到第一加密结果具体为:The first encryption result obtained by reusing the module registration code is as follows: 将重用模块注册码作为第一加密结果。The reuse module registration code is used as the first encryption result. 7.如权利要求6所述的方法,其特征在于,根据第一密钥得到重用模块校验码具体为:7. The method according to claim 6, wherein the verification code obtained according to the first key is specifically: 将重用模块私有密钥作为重用模块校验码;Use the reuse module private key as the reuse module verification code; 通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果具体为:The first key is obtained by reusing the module verification code, and the second encryption result is generated using an encryption algorithm based on the first key and the identifier obtained when the application is running: 将重用模块私有密钥作为第一密钥,采用重用模块私有密钥对应用程序运行时获取的标识进行对称加密得到第二加密结果。The private key of the reuse module is used as the first key, and the identifier obtained when the application program is running is symmetrically encrypted by using the private key of the reuse module to obtain a second encryption result. 8.如权利要求1所述的方法,其特征在于,当需要使用重用模块的应用程序运行时,获取重用模块注册码具体为:8. The method according to claim 1, characterized in that, when the application program that needs to use the reuse module is running, obtaining the registration code of the reuse module is specifically: 需要使用重用模块的应用程序运行时,读取携带有重用模块注册码的配置文件,得到重用模块注册码;或When the application program that needs to use the reuse module is running, read the configuration file carrying the registration code of the reuse module to obtain the registration code of the reuse module; or 需要使用重用模块的应用程序运行时,读取字符串资源中添加有重用模块注册码的资源文件,得到重用模块注册码;或When the application that needs to use the reuse module is running, read the resource file with the registration code of the reuse module added in the string resource to obtain the registration code of the reuse module; or 需要使用重用模块的应用程序运行时,读取在需要使用重用模块的应用程序中新增的重用模块注册码,得到重用模块注册码。When the application program that needs to use the reuse module is running, the registration code of the reuse module newly added in the application program that needs to use the reuse module is read to obtain the registration code of the reuse module. 9.如权利要求1所述的方法,其特征在于,根据第一加密结果和第二加密结果相同具体为:根据直接比较第一加密结果和第二加密结果确定两者相同。9. The method according to claim 1, wherein according to the fact that the first encryption result is identical to the second encryption result is: determining that the first encryption result and the second encryption result are identical based on a direct comparison. 10.如权利要求4所述的方法,其特征在于,根据第一加密结果和第二加密结果相同具体为:10. The method according to claim 4, wherein, according to the fact that the first encryption result is the same as the second encryption result, it is specifically: 使用随机数作为密钥对第二加密结果进行对称加密得到第四加密结果;Using a random number as a key to perform symmetric encryption on the second encryption result to obtain a fourth encryption result; 将第四加密结果和随机数进行拼接,将拼接结果使用字符编码的方式生成的可见字符作为重用模块注册比较码;根据比较重用模块注册码和重用模块注册比较码,确定第一加密结果和第二加密结果相同。Splicing the fourth encryption result and the random number, and using the visible characters generated by the character encoding method of the splicing result as the reuse module registration comparison code; according to comparing the reuse module registration code and the reuse module registration comparison code, determine the first encryption result and the second encryption result The two encryption results are the same. 11.一种软件重用模块的保护装置,其特征在于,包括:11. A protection device for a software reuse module, comprising: 第一生成模块:用于根据第一密钥和具有使用重用模块权限的应用程序的标识,利用加密算法生成第一加密结果,根据第一加密结果生成重用模块注册码,第一密钥为根据重用模块私有密钥得到密钥;The first generation module: used to generate the first encryption result by using an encryption algorithm according to the first key and the identification of the application program with the authority to use the reuse module, and generate the registration code of the reuse module according to the first encryption result, the first key is based on Reuse the module private key to get the key; 获取模块:用于当需要使用重用模块的应用程序运行时,获取重用模块注册码、该应用程序的标识和重用模块中添加的根据第一密钥得到的重用模块校验码;Obtaining module: used to obtain the registration code of the reused module, the identification of the application and the checksum of the reused module obtained from the first key added in the reused module when the application program that needs to use the reused module is running; 第二生成模块:用于通过重用模块校验码得到第一密钥,根据第一密钥和应用程序运行时获取的标识利用加密算法生成第二加密结果;The second generation module: used to obtain the first key by reusing the module verification code, and generate a second encryption result by using an encryption algorithm according to the first key and the identifier obtained when the application program is running; 权限确定模块:用于通过重用模块注册码得到第一加密结果,根据第一加密结果和第二加密结果相同,确定需要使用重用模块的应用程序具有使用重用模块的权限,否则,没有使用权限。Authority determination module: used to obtain the first encryption result through the registration code of the reuse module. According to the same result of the first encryption and the second encryption result, it is determined that the application program that needs to use the reuse module has the authority to use the reuse module, otherwise, there is no use authority. 12.如权利要求11所述的装置,其特征在于,第一生成模块:还用于采用进行单向加密后的重用模块私有密钥作为第一密钥,对进行单向加密后的具有使用重用模块权限的应用程序的标识进行对称加密得到第一加密结果。12. The device according to claim 11, wherein the first generation module is further configured to use the private key of the reuse module after one-way encryption as the first key, and use the one-way encrypted Symmetric encryption is performed on the identification of the application program that reuses the module authority to obtain a first encryption result. 13.如权利要求12所述的装置,其特征在于,还包括校验码生成模块:用于将作为第一密钥的进行单向加密后的重用模块私有密钥,使用字符编码的方式生成的可见字符作为重用模块校验码;13. The device according to claim 12, further comprising a verification code generation module: used to generate the private key of the reuse module after performing one-way encryption as the first key by means of character encoding The visible characters are used as the reuse module check code; 第二生成模块:还用于将重用模块校验码进行字符解码得到进行单向加密后的重用模块私有密钥,采用单向加密后的重用模块私有密钥,对进行单向加密后的应用程序运行时获取的标识进行对称加密得到第二加密结果。The second generation module: it is also used to decode the characters of the reuse module check code to obtain the private key of the reuse module after one-way encryption, and use the private key of the reuse module after one-way encryption to encrypt the application The identity obtained when the program is running is symmetrically encrypted to obtain a second encryption result. 14.如权利要求13所述的装置,其特征在于,第一生成模块:还用于使用随机数作为密钥对第一加密结果进行对称加密得到第三加密结果;14. The device according to claim 13, wherein the first generating module is further configured to use a random number as a key to symmetrically encrypt the first encryption result to obtain a third encryption result; 将第三加密结果和随机数进行拼接,将拼接结果使用字符编码的方式生成的可见字符作为重用模块注册码;Splicing the third encryption result and the random number, and using the visible characters generated by the splicing result using character encoding as the reuse module registration code; 权限确定模块:还用于对重用模块注册码进行字符解码,从解码后的重用模块注册码分离出第三加密结果和随机数,将随机数作为密钥对第三加密结果进行解密,得到第一加密结果。Authority Determination Module: It is also used to decode the characters of the reuse module registration code, separate the third encryption result and random number from the decoded reuse module registration code, use the random number as a key to decrypt the third encryption result, and obtain the third encryption result An encrypted result. 15.如权利要求11所述的装置,其特征在于,第一生成模块:还用于采用重用模块私有密钥作为第一密钥,对具有使用重用模块权限的应用程序的标识进行对称加密得到第一加密结果,将第一加密结果作为重用模块注册码;15. The device according to claim 11, wherein the first generation module is further configured to use the private key of the reuse module as the first key to symmetrically encrypt the identification of the application program with the permission to use the reuse module to obtain The first encryption result, using the first encryption result as the reuse module registration code; 权限确定模块:还用于将重用模块注册码作为第一加密结果。Authority determination module: it is also used to use the reuse module registration code as the first encryption result. 16.如权利要求15所述的装置,其特征在于,还包括校验码生成模块:用于将重用模块私有密钥作为重用模块校验码;16. The device according to claim 15, further comprising a verification code generation module: used to use the reuse module private key as the reuse module verification code; 第二生成模块:还用于将重用模块私有密钥作为第一密钥,采用重用模块私有密钥对应用程序运行时获取的标识进行对称加密得到第二加密结果。The second generation module: it is also used to use the private key of the reuse module as the first key, and use the private key of the reuse module to symmetrically encrypt the identifier obtained when the application program is running to obtain a second encryption result.
CN2009102417352A 2009-12-04 2009-12-04 Method and device for protecting software reused module Expired - Fee Related CN102087689B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102417352A CN102087689B (en) 2009-12-04 2009-12-04 Method and device for protecting software reused module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102417352A CN102087689B (en) 2009-12-04 2009-12-04 Method and device for protecting software reused module

Publications (2)

Publication Number Publication Date
CN102087689A CN102087689A (en) 2011-06-08
CN102087689B true CN102087689B (en) 2013-04-03

Family

ID=44099496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102417352A Expired - Fee Related CN102087689B (en) 2009-12-04 2009-12-04 Method and device for protecting software reused module

Country Status (1)

Country Link
CN (1) CN102087689B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102523240B (en) * 2012-01-06 2016-08-03 北京邮电大学 A kind of sensor resource integrated mechanism based on Internet of Things
CN103378971B (en) * 2012-04-27 2017-10-13 厦门雅迅网络股份有限公司 A kind of data encryption system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541350A (en) * 2000-09-21 2004-10-27 ��Ѷ�о����޹�˾ Software code signing system and method
CN1889425A (en) * 2005-09-12 2007-01-03 华为技术有限公司 Method and system for realizing H.323 network internodal safety calling
CN101145173A (en) * 2006-09-12 2008-03-19 国际商业机器公司 System and method for securely saving and restoring a context of a secure program loader

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030135823A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Loader and provider configuration for remotely provided services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541350A (en) * 2000-09-21 2004-10-27 ��Ѷ�о����޹�˾ Software code signing system and method
CN1889425A (en) * 2005-09-12 2007-01-03 华为技术有限公司 Method and system for realizing H.323 network internodal safety calling
CN101145173A (en) * 2006-09-12 2008-03-19 国际商业机器公司 System and method for securely saving and restoring a context of a secure program loader

Also Published As

Publication number Publication date
CN102087689A (en) 2011-06-08

Similar Documents

Publication Publication Date Title
CN108055125B (en) Method and device for encrypting and decrypting product information
CN110391914B (en) File acquisition method and equipment based on two-dimensional code and two-dimensional code generation method
TWI809292B (en) Data encryption and decryption method, device, storage medium and encrypted file
CN104657630A (en) Integrated circuit provisioning using physical unclonable function
US20100241865A1 (en) One-Time Password System Capable of Defending Against Phishing Attacks
CN111177693B (en) Method, device, equipment and medium for verifying terminal root certificate
CN109495268B (en) A two-dimensional code authentication method, device and computer-readable storage medium
US8347109B2 (en) Secure serial number generation
CN107085676A (en) A multi-dimensional software intellectual property protection method combining software and hardware
CN105577644A (en) Encryption and authentication method and system
CN107391971A (en) A kind of guard method of software license mandate
CN103093137A (en) File safe distribution method based on universal series bus (USB) flash disk
CN114430346A (en) Login method and device and electronic equipment
US8745375B2 (en) Handling of the usage of software in a disconnected computing environment
CN106375095A (en) Method of protecting integrity of APK
WO2018033017A1 (en) Terminal state conversion method and system for credit granting
CN103136466B (en) A kind of Web3D encryption method based on softdog
CN102087689B (en) Method and device for protecting software reused module
CN102289607A (en) Universal serial bus (USB) device verification system and method
CN107391970B (en) Function access control method and device in Flash application program
CN105873043B (en) Method and system for generating and applying network private key for mobile terminal
CN106650329A (en) Individual authorization method of data export equipment
CN104102859A (en) JavaScript-based middleware authorization method and device
CN113508380B (en) Methods used for end-entity authentication
CN112231651A (en) Method for preventing decompiling and tampering copyright authorization

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130403

Termination date: 20191204