2008-11-11 4 views
9

Tôi cần cơ sở dữ liệu của mình để bảo mật trong trường hợp ổ cứng bị đánh cắp.Mã hóa cơ sở dữ liệu

Tôi chưa thấy nhiều cơ sở dữ liệu (kể cả những dòng chính thống) yêu cầu hỗ trợ mã hóa.

  • Bạn có biết bất kỳ cơ sở dữ liệu nào hỗ trợ mã hóa không?
  • Nếu tôi đang sử dụng cơ sở dữ liệu không hỗ trợ mã hóa, bạn nên mã hóa dữ liệu một cách nguyên bản (ví dụ: sử dụng thư viện mã hóa java)? Điều này có khả năng gây ra sự cố cho cơ sở dữ liệu với các trường được nhập mạnh không?
  • Có các giải pháp nào khác để mã hóa cơ sở dữ liệu của tôi?
+2

Xem http://stackoverflow.com/questions/59204/data-encryption, http://stackoverflow.com/questions/149876/how-to-transfer-sql- dữ liệu được mã hóa-dữ liệu-giữa-sql-server-2005-cơ sở dữ liệu, http://stackoverflow.com/questions/207819/best-practice-for-database-encryption-in-sql-server-2005 –

Trả lời

6

Có thể bạn nên nghĩ đến mã hóa toàn bộ ổ đĩa cứng của mình. Điều này được thực hiện tự nhiên ở mức hệ thống tập tin.

Nó sử dụng thông tin xác thực cửa sổ để mã hóa nó. Vì vậy, ngay cả khi toàn bộ máy tính của bạn bị đánh cắp, dữ liệu của bạn vẫn được bảo vệ.

Trình đánh dấu sẽ phải định dạng lại ổ đĩa để sử dụng.

Tất nhiên, nếu máy tính của bạn sử dụng tự động đăng nhập, nó không phải là một lựa chọn cho bạn.

HTH, ngay cả khi nó không thực sự là giải pháp mã hóa cơ sở dữ liệu.

+0

Có, tất nhiên, các giải pháp mã hóa có sẵn cho các hệ điều hành khác so với Windows. –

+0

Và tất nhiên bạn luôn có thể phân vùng ra một đoạn cho DB (và bất kỳ dữ liệu nào khác cần được bảo mật) và chỉ thực hiện mã hóa ở đó. –

+0

Hãy nhớ theo dõi hiệu suất: trừ khi mã hóa được thực hiện bằng phần cứng, việc mã hóa HD có thể dễ dàng một nửa hiệu năng đọc-ghi của bạn. Nếu không mong đợi quá nhiều yêu cầu, việc Windows mã hóa toàn bộ HD có thể vẫn ổn. –

1

Fujitsu và Samsung bán ổ đĩa cứng kết hợp mã hóa ở cấp ổ đĩa cứng. Tôi không biết nếu đây là một lựa chọn cho vấn đề của bạn.

3

MS SQL Server 2008 chắc chắn hỗ trợ nó. Không chắc chắn về các phiên bản cũ hơn.

3

Cả Microsoft SQL Server và Oracle đều hỗ trợ mã hóa cơ sở dữ liệu. SQL Server 2008 thêm Transparent Data Encryption không tồn tại trong SQL Server 2005 chỉ hỗ trợ mã hóa cấp ô.

1

Sybase SQL Anywhere hỗ trợ cả mã hóa AES 128 bit và 256 bit.

2

Oracle có hỗ trợ cho một cái gì đó gọi là Mã hóa trong suốt và nó hoạt động với một chiếc ví.

Có lẽ do thực hiện của chúng tôi, chúng tôi đã không thành công với nó. Chúng tôi gặp phải sự cố khi một người dùng đã được chứng nhận ANY (ví dụ: người dùng có mục nhập ví) truy cập dữ liệu, nó đã được mở cho tất cả những người có quyền truy cập vào bảng. Nếu mối quan tâm của bạn chỉ dành cho việc mã hóa ở phần còn lại, điều này có thể làm việc cho bạn (bạn sẽ muốn xác minh trong tài liệu của Oracle rằng nó mã hóa ở phần còn lại) - nếu bạn cần mã hóa truyền vào/ra khỏi DB, tôi không chắc chắn điều này là những gì bạn đang sau.

Tất cả những gì đã nói - tôi nghĩ rằng với một giải pháp như mã hóa ổ đĩa cứng được đề xuất trong bài đăng khác có thể tăng thêm hẻm của bạn, cho câu hỏi của bạn.

Tuyên bố từ chối trách nhiệm: Tôi không phải là DBA theo giao dịch, vì vậy tôi chỉ có thể cung cấp điều này từ trải nghiệm chúng tôi có với công nghệ của Oracle. Tôi làm việc tại một công ty trong danh sách Fortune 500, và chúng tôi chắc chắn có đủ loại người thích xem nó.

+0

FYI, đó là hành vi dự định. TDE được thiết kế chỉ để mã hóa dữ liệu ở trạng thái nghỉ để kẻ tấn công lấy các tệp dữ liệu của bạn không thể xem dữ liệu. Nó được thiết kế để giải mã một cách minh bạch dữ liệu khi người dùng được ủy quyền (tức là người dùng có quyền truy cập SELECT) cố gắng đọc dữ liệu. –

1

Nếu bạn đang tìm kiếm cơ sở dữ liệu nhúng tốt có hỗ trợ mã hóa, tôi khuyên bạn nên SQLCipher *, là phiên bản SQLite cung cấp mã hóa cơ sở dữ liệu trong suốt theo giấy phép nguồn mở. Trường hợp sử dụng rõ ràng là trong các ứng dụng di động và độc lập.

* Tiết lộ đầy đủ: Tôi thuộc nhóm nhà phát triển.

1

Tôi nghĩ bạn sẽ thấy đây thực sự là giải pháp duy nhất sẽ giải quyết mọi vấn đề của bạn. Tôi sử dụng nó trên tất cả các cơ sở dữ liệu của tôi và làm việc như một sự quyến rũ.

http://www.netlib.com/

NetLib® là nhà cung cấp hàng đầu về bảo mật cơ sở dữ liệu cho lớn, vừa và nhỏ các doanh nghiệp, các tổ chức và cơ quan. Bảo vệ cơ sở dữ liệu có giá trị và dữ liệu nhạy cảm là quan trọng để duy trì sự ổn định kinh doanh cho khách hàng của chúng tôi, cũng như cho các lĩnh vực tuân thủ ngày càng tăng. NetLib® Encryptionizer® phần mềm mã hóa cơ sở dữ liệu được triển khai tại các ngân hàng, xử lý thẻ tín dụng, bán hàng trực tuyến, bệnh viện và cơ quan chính phủ trên toàn thế giới

0

Như được đề xuất bởi Billy Gray, SQLipher là thư viện tốt nhất để mã hóa cơ sở dữ liệu. Để sử dụng thư viện, chỉ cần gọi

SQLiteDatabase.loadLibs (context); SQLiteOpenHelper.getWritableDatabase (“yourSecretKey”):