Phát triển Java 2.0: Bảo đảm
an toàn d liệu của ứng dụng
Java trên đin toán đám mây
S dng mã hóa khóa bí mật để bo v d liệu đám mây
An toàn dữ liệu là một mối quan tâm thật sự đối vic tổ chức đang xem xét chọn
dùng đám mây, nhưng trong nhiu trường hợp nó chưa phải là vấn đề. Trong bài
đăng này về Phát trin Java 2.0, hãy học cách sử dụng mã hóa khóa bí mật và Tiêu
chuẩn mã hóa nâng cao (Advanced Encryption Standard) để bảo vệ dữ liệu nhạy
cm của ứng dụng cho đám mây. Bạn cũng snhận được một hướng dẫn ngắn về
chiến lược mã hóa, rất quan trọng để tối đa hóa hiệu quả của các tìm kiếm có điều
kiện trên các kho dliệu đám mây phân tán.
Ch trong một vài năm, các nền tng và các dch v điện toán đám y đã thay đổi
đáng kể bi cnh v phát trin ng dụng Java™. Chúng đã h thp các rào cn liên
quan đến bo trì và cu hình h thống và đồng thi đã làm gim chi phí tăng tốc
độ đưa phn mm ra th trường. V mt khái niệm, điện toán đám mây có ý nghĩa
là: các nhà qun lý kinh doanh thích li nhuận do đầu tư mang li n các nhà phát
trin thích thoát khi mã cơ s h tng. Tuy nhiên, nhiu cơ s vẫn đang phải vt
ln vi vic nên hay không chuyn sang nn tng đám mây.
An toàn dữ liệu là một trong những mối quan tâm chính đối với một tổ chức đang
xem xét việc di chuyển hệ thống phần mềm của mình lên một cơ sở hạ tầng đám
mây. Dliệu càng nhạy cảm thìng có nhiều do để quan tâm. Là các nhà phát
triển phần mềm, điều quan trọng là chúng ta hiu các rủi ro an toàn thực sự của
điện toán đám mây lẫn các cách tiếp cận thực tế để giải quyết ít nhất một số trong
các mi quan tâm này.
Trong bài đăng này về Phát triển Java 2.0,i sgiải thích điều gì làm cho việc
lưu trữ dữ liệu trong đám mây khác với việc lưu trữ nó trên một y tính trung
m. Sau đó tôi sẽ gii thiệu cho bạn cách sử dụng các tiêu chuẩn và các tiện ích
mã hóa khóa bí mật dựng sẵn của nền tảng Java để giữ an toàn hợp lý cho dliệu
của bạn, ngay cả khi nó được lưu trữ trên một kho dữ liệu đám mây phân tán. Cuối
cùng, tôi sẽ trình bày một cách tiếp cận chiến lược về mã hóa, bằng cách sử dụng
các điều kin truy vấn làm một vạch chuẩn để bạn biết có nên hay không nên mã
hóa dliu ca mình.
Bảo đảm an toàn d liu đám mây
Điện toán đám mây chính xác không giới thiệuc vấn đề bảo mật dữ liệu mới;
trong hầu hết các trường hợp, nó chỉ khuếch trương các vấn đề này thôi. Việc đưa
dliu lên đám mây có khả ng trưng nó ra cho một đối tượng người dùng lớn
hơn, đó thường là một điều tốt. Nhưng nếu dữ liu được trưng ra có ý nghĩa riêng
hoặc chỉ được truy cập khi có quyền, thì việc đưa dữ liệu lên đám mây có thể là
thm họa. Vấn đề cơ bản vi điện toán đám mây là nó tách dliệu được giao phó
khỏi một nhà phát trin hoặc khỏi việc kim soát trực tiếp của quản trị viên h
thống (sys-admin). Thay được lưu trữ và qun lý cục bộ, dữ liệu trong các đám
mây được lưu trữ trên các thiết bị phân tán, có thể được đặt ở bất kỳ đâu và bt c
ai đềuthể truy cập được.
Thm chí nếu trong thc tế công ty ca bn có th s dng kho d liu xa, không
tp trung, thì bn cũng muốn các ng dng ca mình trong đám mây cần bắt đầu có
mt chút v an toàn d liu. Khi bn bắt đầu suy nghĩ về an toàn d liu, có hai câu
hi quan trng ny sinh:
Dữ liệuan toàn trong quá trình hoạt động không?
Dữ liệuan toàn trong lúc không hoạt động không?
D liu trong quá trình hoạt động liên quan đến cách d liu truyền đi từ
mt v trí này ti v trí khác, đó là công ngh và cơ s h tng truyn thông
mà bn đang sử dng. D liu không hoạt động liên quan đến vic bn lưu
tr d liu như thế nào — và tt ra sao.d, nếu bn lưu tr các tên và
mt khu người dùng trong mt cơ s d liu không hóa chúng, thì d
liu không hoạt động ca bn s không an toàn.
Để bảo vệ dữ liệu trong quá trình chuyển tiếp qua web, hầu hết đều sử dụng
HTTPS. Đây là định dạng HTTP có mã hóa dliu chuyển đi từ các trình
duyệt đến các khách hàng. Một ưu điểm khác ca HTTPS nó có mt ở
khắp nơi: Hầu hết các nhà phát triển đã cu hình Apache, Tomcat, Jetty để
sử dụng HTTPS.
hóa cũng là cơ chế chung để bảo vệ dữ liệu ở phần còn li và điện toán
đám mây không thay đổi điều đó. Trong khi mã hóa có thlà bí mật, bạn ch
cần biết một số điều cơ bản về mã hóa để giữ an toàn hợp lý cho dữ liệu của
ứng dụng của mình. Và một khi dữ liệu của bạn đã an toàn, thì dù bn dùng
dliu cục bộ hay qua một nền tảng điện toán đám mây hoặc kho dữ liệu
đều không thành vấn đề.
Mã hóa khóa bí mt
hóa là quá trình chuyn đổi văn bản thuần, dễ đọc đơn giản với mọi ngưi
thành văn bản khó đọc. Bạn mã hóa bng một thuật toán mật mã, còn được gọi là
cipher. Văn bản đã mã hóa được giải mã trlại thành văn bản dễ đọc qua một
khóa, về cơ bản đó là một dạng mật khẩu. Mã hóa giữ an toàn thông tin bng cách
làm cho thông tin trnên khó đọc với bất cứ ai không có khóa.
Người ta tng sử dụng hai kiểu mã hóa dựa trên khóa trong điện toán: mã hóa
khóa công khai (dùng chung) và hóa khóa bí mt (dùng riêng). Mã hóa khóa
công khai là kỹ thuật phổ biến nhất để giữ an toàn dữ liệu trong quá trình chuyn
tiếp; trên thực tế, đó là kiến trúc bên dưới của tầng bảo mật giao dịch HTTPS.
Dạng mã hóa này đòi hỏi phải có hai khóa trong một b khóa công khai-bí mật.
Khóa công khai hóa dliệu còn khóa bí mật được sử dụng để giải mã dliệu
đó. Trong mã hóa khóa công khai, người ta có thể phân phối khóa công khai một