I. Software Encryption Method
As mentioned above, software encryption technology is divided into hardware-based encryption and software-based encryption.
1. hardware-based Encryption
Hardware-based encryption is mainly used for encryption locks. Some important information, such as encryption keys, sensitive data, authorization files, and custom algorithms, can be stored in encryption locks.
The encryption locks are divided into two types: the parallel port and the USB port. The parallel port is an early form of use, because it is inconvenient to plug-in and plug-in conflicts with the printer, and is currently rarely used. At present, most developers use USB interface encryption locks.
There are two types of encryption locks: single-chip microcomputer and smart card chip. single-Chip Microcomputer Hardware is prone to cracking or replication, so the high-end encryption locks are increasingly using smart card chips as CPUs to prevent hardware from being cracked. However, the number of smart card encryption locks is also increasing. First, the chip analysis technology and instruments are becoming more and more advanced. Second, the smart card program should be handed over to the chip factory for manufacturing, in this phase, the program may be leaked; third, the encryption lock of the same brand, the CPU program is the same, but the difference is that the developer data and key. If these files are circulated, it is easy to copy.
Although the encryption lock has a certain security strength, it also has many disadvantages:
1) it is applicable to traditional one-time permanent authorization and cannot be conveniently used for trial and On-Demand Purchase.
2) Hardware brings about production, logistics, installation and maintenance costs
3) unable to achieve Internet-based electronic issuance, upgrade, tracking and management
4) Once cracked, it can be copied in large batches, which is difficult to remedy
2. software-based Encryption
The software-based encryption method is mainly electronic authorization technology, which is divided into two types: registration code and license file:
The registration code, also known as the serial number or authorization code, is obtained through some transformation of the software user's computer hardware and software information. The available hardware and software information includes: CPU serial number, BIOS serial number, Nic number, hard disk serial number, and computer name. The conversion algorithms used include custom algorithms or standard encryption algorithms. Before installing the software or using the software for the first time, you must enter the registration code for verification. After the verification is passed, the software can be used normally. The advantage of the registration code protection method is that it is easy to use, but its disadvantage is that it is not secure and cannot meet complicated authorization requirements.
The license file and the computer software and hardware information bound to the registration code are the same, but the registration code can only use one or two hardware and software information due to the length limit, and the license file can use multiple hardware and software information. In addition, the license file can contain more information, so it can implement complicated authorization requirements and even store some user information. A typical license file is implemented by using the private key of the asymmetric algorithm to sign the license file, and the Public Key is embedded in the software code. The encryption and decryption process is asymmetric and the private key is stored on the Authorization server. Therefore, it is difficult to crack the authorization file through analysis.
The advantage of the electronic authorization protection mode is that no additional hardware equipment is required, so you do not need to install drivers and client components to enable the electronic release of software. The disadvantage of the electronic authorization protection method is that users who cannot connect to the internet need to manually extract Computer Information and import the information manually after obtaining the registration code or license. This is not very convenient to use. In addition, few developers provide e-authorized products in China, which limits the popularization and promotion of e-authorized protection technologies.
Ii. Development Status of the Software Encryption Industry
1. encryption lock
Major foreign encryption lock providers include SafeNet in the United States and wibu in Germany.
The major domestic encryption lock providers are pondering the integrity of locke and Apsara. These two companies have a certain market in China because of their low prices, preemptible introduction of smart card encryption locks, and good localization.
2. Electronic authorization
Companies that provide electronic authorization products abroad include flexera software and SafeNet. Among them, flexera software focuses on the field of electronic authorization. The ease-of-use and functions of the products are better, but the prices of the products are also very high.
Companies that provide electronic authorization Products in China include Beijing bitanswer, Shenzhen euse, and safengine.
A very small number of companies develop their own e-Authorization solutions, but the solutions developed by developers usually have the following problems:
1) developed by non-professionals, with High Security Vulnerabilities
2) It is difficult to implement flexible authorization control, and the management and statistics functions are very simple or unavailable.
3) it is likely to be a short-term solution launched to solve immediate problems, and will generate far more sustained investment than expected due to security, stability, scalability, and other issues in the future.
4) unable to adapt to the new demand for software authorization models brought about by rapid market changes
Iii. Development Trend of the Software Encryption Industry
The development trend of the Software Encryption industry is closely related to the development trend of the software industry. With the popularity of cloud computing and SaaS, the provision of software products is changing towards network and platform. For a wide range of software developers, using SaaS products can not only save a lot of hardware and software purchase and maintenance costs, but also achieve On-Demand Purchase, while reducing the risk of use, it also forces platform providers to constantly improve products and improve services to retain customers.
The development towards network and platform is also the development trend of Software encryption technology. According to the current development trend, the encryption lock technology has developed very mature, the market is nearing saturation, and growth is slow. Due to the existence of hardware and usage habits, encryption locks cannot keep up with the pace of development in the Internet age and will be replaced by electronic authorization.
E-authorization technology is transforming from the early form of registration code to the form of functional license documents, and the verification method has also evolved from offline manual verification to automatic network verification. In particular, the proposal of authorization management ideas enables electronic authorization technology to develop from a single software authorization authentication to authorization authentication, authorization management, information statistics, and other functions, this greatly improves the software developer's authorization informatization level.
It can be predicted that future e-authorized products should have the following main features:
1. unified authorization management platform: an all-in-one Internet-based software protection and authorization management platform provided by professional third-party security software developers. It does not require installation or maintenance and is cost-effective and easy to use.
2. flexible authorization Methods: supports authorization of traditional client software and cloud computing software; can be authorized by time, number of times, function module; authorization can bind computer software and hardware information, encryption lock, or, you can use the username and password authentication method to authorize permissions.
3. simple and friendly user experience: Based on the Web, users can access it anytime and anywhere. Users can purchase, activate, and update software on their own, so that they can know the information about the software they bought at any time; software developers can understand the activation information and user information of software, and collaborate with members to complete software authorization design, implementation, management, and maintenance.
4. Cloud authorization mode: This is a cloud computing mode of software authorization. Traditional software is implemented only on the client, and authorization is also performed on the client. Although cloud computing is the trend of the times, it is a good way to transform traditional software to a certain degree due to the difficulty of transformation. The specific implementation idea is to transfer the software authorization from the client to the cloud authorization server, so that the software changes are small, but you can immediately enjoy the benefits of cloud computing: high Security, purchase on demand, and cloud storage.