Measure the test taker's knowledge about the key encryption technologies of various encryption locks for data security.

Source: Internet
Author: User

Comments: Piracy is a worrying issue for most software developers. Will the software encrypted with encryption locks be cracked by hackers? Theoretically, there is no software that cannot be cracked. Even pure mathematical encryption may be cracked, but the time for cracking may be an astronomical number. Currently, there are two types of encryption locks on the market: with CPU and
Piracy is a worrying issue for most software developers. Will the software encrypted with encryption locks be cracked by hackers? Theoretically, there is no software that cannot be cracked. Even pure mathematical encryption may be cracked, but the time for cracking may be an astronomical number.
Currently, there are two types of encryption locks on the market: those with or without CPU encryption locks. The former has computing power and can implement dynamic ciphertext processing for encrypted data, process data, and communication interfaces. Therefore, the encryption locks with CPU have also evolved into a variety of encryption forms: ciphertext verification, custom algorithms, program porting, and so on. Without the CPU encryption lock, it is relatively simple, the encryption strength is low, and the cost is low!
Clone of encryption lock
Without the CPU encryption lock, it is actually an external storage unit. After using the correct method, you can exchange data with the internal storage to achieve encryption. This encryption lock is a low-end product from the hardware point of view, regardless of the high encryption strength and low encryption strength of the Software. Generally, the low-end products of encryption companies belong to this type. If the attacker finds a way to read the data in the encryption lock (provided that the hardware expert can find a way), the dongle will be cracked and a completely identical encryption lock will be created, this method is known as the "clone" of the encryption lock ". The emergence of the encryption lock technology has brought the development of the encryption lock technology into a new era. Most of the new types of Software Encryption locks are protected by passwords or hard ID numbers. As long as hackers cannot buy encryption locks with the same password, then, you cannot perform the "clone" of the encryption lock.
Simulation and Simulation of encryption locks
So, can the manufacturers of encryption locks be able to rest assured? No, the decrypted found a new breakthrough. Because the software must communicate with encryption locks through the communication port, hackers have developed a simulation program for encryption locks by exploiting this vulnerability, its working principle is to first plug in the original software lock of the protection software to run it again, and the background program will record all the written/read data. Next, remove the encryption lock, start the simulation program, and let the simulation program simulate the encryption lock to provide all the data. To this end, the "Blue-core Gold Shield encryption lock" uses source-level encryption. This method does not determine whether a value, string, or data is correct, but changes the input parameters from time to time, there are no two identical data at any time.
Custom algorithm encryption lock
The market also provides an encryption lock that allows developers to customize algorithms. Developers can write their own algorithms into encryption locks and call these algorithms in the software to implement unique computing. The actual principle of this encryption lock is to download a set of data (developer's algorithm compilation Code) to a specific external memory of the encryption lock. This method has its limitations, because external storage devices can always be read out, the security strength is still dependent on the hardware reading method. You can write Special encryption functions for users with special needs for the "Blue-core Gold Shield encryption lock" to securely integrate user requirements into the encryption lock. The user uses the encryption lock instead of determining whether the encryption lock is correct, instead, encryption locks are used to implement specific functions of user software.
In fact, the encryption lock is only one aspect. No matter how rich the functions provided by the encryption lock are, how good the encryption is, and more importantly, the user, because the software is to be used after all. We hope that all encryption lock users can better use their encryption locks to protect their software.
Encryption technology
→ Call the encryption lock in rarely used code. Then, programs that seem to have been deciphered often encounter exceptions.
→ Call the encryption lock based on the time. Data called in the morning is used in the afternoon (or the next day. It takes a day or a few days for the translator to analyze the data. This can drag the translator down.
→ The encryption lock validation function should not be defined as a separate function, but should be defined as several small functions for scattered use.
→ Check the checksum of the program code to prevent unauthorized modification.
→ Use a variety of random accesses to cover real encryption lock access. Process the reply to a random query, but do not actually use it.
→ Different data can be written to multiple addresses in the encryption lock in advance. During the verification lock, a random address can be verified. (If a random number can be generated, the value of the address in the lock can be determined based on the number .)
→ Checks encryption locks in different places in the program, that is, multi-point encryption. This method can be used in combination with method 1.
→ During the running of your program, you can perform random detection on the encryption lock from time to time.
→ After you obtain the returned data from the encryption lock, you do not determine immediately, but later determine whether the returned data is correct. When determining the encryption lock error, You do not prompt or exit immediately, in the future, the system prompts or exits, or the program runs normally, but errors such as deviations or overflow occur.
→ The return value of the encryption lock can be used as the index, constant, computing unit, and verification code of the array. the return value of the encryption lock can be used as a pointer to control program execution or as an index to jump to different tables; you can also use the encryption lock return value to encrypt or decrypt some code or data. The Return Value of the encryption lock is deleted immediately after it is used.
Encryption lock Principle
One encryption lock is to write the password algorithm customized by the user (according to the password coefficient conversion algorithm) into the encryption lock, and verify the identity of the caller in the form of a program.
Encryption Method
Embedded encryption requires a source program to access the encryption lock in the encrypted program. The encrypted drive disc provides programming interfaces and detailed examples of VC \ VB \ VFP \ Delph \ PB \ CB and other languages for your reference. If you have any special requirements, contact us.
Shell shell encryption is a direct encryption method for executable files (.exe \. com \. dll. This method does not require source programs, and the encryption process is simple and convenient.
File encryption
File encryption and decryption functions are provided in the encryption lock dynamic Connection Library. The implementation details of HASH and RSA cryptographic algorithms are hidden in the function, which is highly secure and easy to use. You only need to enter the file name and password.
Anti-deciphering-file Integrity Detection
Use the program integrity check code to prevent unauthorized file tampering.
Definition 1: Run check code-integrity check code when the program is running.
Definition 2: Release check code-integrity check code when a program is released.
Check principle: whether the program integrity check program is modified-calculate the program's "issue check code" before the program is released ", when the program is run after release, the "run detection code" of the program is automatically calculated ". If the "run check code" is equal to the "issue check code", the program integrity check is correct and the program is not modified. If the run check code is not equal to the issue check code, the program integrity check is incorrect and the program is modified.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.