📄 encrypt.so
字号:
m4_comment([$Id: encrypt.so,v 11.13 2007/03/27 14:20:56 sue Exp $])m4_ref_title(Environment, Encryption, @encryption, env/security, env/remote)m4_p([dnlm4_db optionally supports encryption using the Rijndael/AES (also knownas the Advanced Encryption Standard and Federal Information ProcessingStandard (FIPS) 197) algorithm for encryption or decryption. Thealgorithm is configured to use a 128-bit key. m4_db uses a 16-byteinitialization vector generated using the Mersenne Twister. Allencrypted information is additionally checksummed using the SHA1 SecureHash Algorithm, using a 160-bit message digest.])m4_p([dnlThe encryption support provided with m4_db is intended to protectapplications from an attacker obtaining physical access to the media onwhich a m4_db database is stored, or an attacker compromising a systemon which m4_db is running but who is unable to read system or processmemory on that system.m4_bold([dnlThe encryption support provided with m4_db will not protect applicationsfrom attackers able to read system memory on the system where m4_db isrunning.])])m4_p([dnlEncryption is not the default for created databases, even in databaseenvironments configured for encryption. In addition to configuring forencryption by calling the m4_ref(dbenv_set_encrypt) orm4_refT(dbh_set_encrypt)s, applications must specify them4_ref(DB_ENCRYPT) flag before creating the database in order for thedatabase to be encrypted. Further, databases cannot be converted to anencrypted format after they have been created without dumping andre-creating them. Finally, encrypted databases cannot be readon systems with a different endianness than the system that createdthe encrypted database.])m4_p([dnlEach encrypted database environment (including all its encrypteddatabases) is encrypted using a single password and a single algorithm.Applications wanting to provide a finer granularity of database accessmust either use multiple database environments or implement additionalaccess controls outside of m4_db.])m4_p([dnlThe only encrypted parts of a database environment are its databasesand its log files. Specifically, the m4_link(M4RELDIR/ref/env/region,[shared memory regions]) supporting the database environment are notencrypted. For this reason, it may be possible for an attacker to readsome or all of an encrypted database by reading the on-disk files thatback these shared memory regions. To prevent such attacks, applicationsmay want to use in-memory filesystem support (on systems that supportit), or the m4_ref(DB_PRIVATE) or m4_ref(DB_SYSTEM_MEM) flags to them4_refT(dbenv_open), to place the shared memory regions in memory thatis never written to a disk. As some systems page system memory to abacking disk, it is important to consider the specific operating systemrunning on the machine as well. Finally, when backing databaseenvironment shared regions with the filesystem, m4_db can be configuredto overwrite the shared regions before removing them by specifying them4_ref(DB_OVERWRITE) flag. This option is only effective in thepresence of fixed-block filesystems, journaling or logging filesystemswill require operating system support and probably modification of them4_db sources.])m4_p([dnlWhile all user data is encrypted, parts of the databases and log filesin an encrypted environment are maintained in an unencrypted state.Specifically, log record headers are not encrypted, only the actual logrecords. Additionally, database internal page header fields are notencrypted. These page header fields includes information such as thepage's m4_ref(DbLsn), number, and position in the database's sortorder.])m4_p([dnlLog records distributed by a replication master to replicated clients aretransmitted to the clients in unencrypted form. If encryption isdesired in a replicated application, the use of a secure transportis strongly suggested.])m4_p([dnlWe gratefully acknowledge:])m4_bulletbeginm4_bullet([dnlVincent Rijmen, Antoon Bosselaers and Paulo Barreto for writing theRijndael/AES code used in m4_db.])m4_bullet([dnlSteve Reid and James H. Brown for writing the SHA1 checksum code usedin m4_db.])m4_bullet([dnlMakoto Matsumoto and Takuji Nishimura for writing the Mersenne Twistercode used in m4_db.])m4_bullet([dnlAdam Stubblefield for integrating the Rijndael/AES, SHA1 checksum andMersenne Twister code into m4_db.])m4_bulletendm4_page_footer
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -