Cloud Database EncryptionOne thing is to consider the necessity of data encryption. All databases have access restrictions. Some suitable implementations are sufficient to protect data confidentiality. Other factors that require encryption to protect data stored in the database include hiding data from privileged database users (such as database administrators); In order to comply with laws and regulations, the data owner cannot use an account to control data access (for example, using a shared account ). When you use apsaradb, especially the SaaS solution for the database, the normal functions of the database will be reduced, forcing the database or cloud application to access the key unless it can be operated on the ciphertext. Data Encryption brings complexity and performance costs. In addition to encryption, there are also some effective methods: • use Object Security. Use SQL to allow and revoke statements to restrict the account from accessing the data. Which of these accounts permit access must be strictly controlled to ensure that only authorized users can access the account. • Store secure hash values. Store the hash value of the data instead of directly storing the data, which allows the Enterprise program to prove that the owner has the correct value without actually storing it.Key ManagementKey management is a very difficult process in public cloud computing. The multi-tenant model in public cloud requires key management to be considered for the process of running on it. The simplest application case is that an application is running on the public cloud, and Data Encryption flows from within the enterprise to the public cloud. The key is only used within the enterprise. Some encryption engines can encrypt data flows and decrypt data streams. When other processes (such as batch processing) on the public cloud need to access the key to decrypt data, an application that uses the key will become complicated. Users in an enterprise need to own their own keys, rather than a separate shared key that can be used to access the entire enterprise. The simplest solution is to use an encryption engine to allocate (or manage) A key to each user or entity based on the entity identity information. In this way, any information that is specially encrypted for an entity will be maintained for that entity. If an entity in a group needs to share data, a group-level key can be allocated to applications that manage Group access and shared among entities in the group. Keys should be managed within the enterprise as discussed earlier. All data (especially PII or SPI data or data under laws and regulations) is proven when data is stored in a public cloud environment and disabled) deleted from the public cloud environment, including other media such as copying disks, will have problems. maintaining local key management can abolish (or delete or lose) keys from the key management system, this guarantee is provided to ensure that any data left on the public cloud cannot be decrypted. If cloud service providers and users do not have an effective key management process, data encryption is of little value. In service providers, factors that need to be concerned include: the server has encrypted data while the access key server lacks responsibility division; the database administrator can access the personal key; or the Database Service Architecture depends on a single key. Using a key to encrypt the key, generate an encryption key in the memory, and store only the encryption key of the Key Server is an effective architecture solution that can control and protect the key itself. Consider this when building any solution. Client key management protects keys on insecure devices (such as mobile terminals), or the devices are not controlled at the same level.Practical suggestionsIn the practice of enterprise applications, you can follow the following useful suggestions: • The best key management measures for applications when using any form of encryption or decryption products; • if possible, use existing technologies in trusted sources for best practices. • use the best key management practices to obtain technologies and products for encryption, decryption, signing, and verification from trusted sources; • In particular, it is recommended that organizations maintain their own keys or use trusted cryptographic services that already operate such services. • If an organization needs to use data running analysis or other processing services in the cloud, this organization should export data from cloud data sources based on a platform such as Hadoop. • The key can be maintained at the individual or collective level. • The management of collective access can use existing technologies, for example, a DRM system or other software running on a desktop or laptop that encrypts hard drives, files, and email messages. • To maintain best practices and pass audits, enterprises should manage their own keys or use Trusted Services from encryption software providers. • keys used in existing encryption technologies such as DRM and hard disk encryption products should The key storage technology should be used within the enterprise for centralized management; hardware security modulation should be used to store keys and process encryption operations such as encryption and decryption, signature and modification; • Enterprise Users should enable encryption and other processing in the enterprise through registration steps. If they can access the content awareness or format-preserving encryption system for encryption/decryption keys as needed; • All the components based on identity authentication integrate technology deployment into the company system. Authorization is performed in the process to determine the use of bundled encryption operations to manage keys in the encryption and decryption process. • if possible, use existing systems such as E-DRM or data leak prevention (DLP); • bind encryption operations and key management to the company's Identity Authentication System to provide organizations with the most flexible integration, and use technologies that have been learned, audited, or tested by the Organization.In addition, for cloud database encryption, you can refer to the following practices and suggestions:• Use standard algorithms. Do not use specialized non-standard technologies. Private encryption algorithms are not proven and are easily cracked. • Avoid using old insecure encryption standards such as data encryption standards (DES ); • Object Security. Even with encryption, you should always use Basic Object Security (SQL permits and revokes declarations) to prevent data access. • Do not encrypt primary keys or index columns. If the primary key is encrypted, all reference external keys must be encrypted. If the enterprise encrypts the index column, data query will be slow when the enterprise used the encrypted value. • Use the columnar Method for encryption (because the big data system uses this method ).