Bài giảng - giáo án: Bài giảng Java Chương 5 bảo mật trong java - Pdf 13

LẬP TRÌNH JAVA NÂNG CAO
Chương 05: Bảo mật trong Java
Bộ môn: Lập trình máy tính
Nội dung chương 05

Tổng quan về bảo mật trong Java

Cơ cấu bảo mật của Java

Cấu trúc mã hóa

Chữ ký điện tử và dấu chứng nhận

Case Study
Tổng quan về bảo mật trong Java

Java là ngôn ngữ lập trình đầu tiên gửi các
chương trình tương tác thông qua World
Wide Web

Các chương trình này được chạy trên hệ
thống của người dùng, thay vì chạy trên máy
chủ Web (Web server)

Thiếu tính bảo mật trong Applet có thể dẫn
tới việc sửa đổi hoặc đọc các dữ liệu nhạy
cảm trên máy người sử dụng Applet.
Công cụ JAR

Công dụng: Tạo file lưu trữ .jar, chứa nhiều file trong một file
lưu trữ (.jar), cho phép tải về trình duyệt một cách hiệu quả

chạy.

Lấy thông tin từ file của hệ thống

Xoá file của hệ thống

Java 2 có thể thực hiện tất cả các thao tác
trên, với các Applet được cung cấp từ nhà
cung cấp applet tin cậy, và có ký chữ ký điện
tử (digitally signed)
Mã hoá sử dụng khoá công khai
Chữ ký điện tử

Là một file, một đối tượng, hoặc một thông báo được
mã hoá đi cùng với chương trình

Giúp nhận dạng chính xác nguồn gốc của file

Một khóa riêng (private key) được sử dụng để mã
hóa, khoá công khai (public keys) được sử dụng để
giải mã.

Người ký dùng thuật toán Message Digest (như MD5) để
tính giá trị digest của đối tượng.

Digest sau đó được mã hoá dùng khóa riêng, để tạo ra chử
ký điện tử của đối tượng.

Khoá công khai được sử dụng để giải mã và kiểm tra.


Xác thực (Authenticate) dữ liệu nguồn
Keytool (tt)

Để kiểm tra hệ thống có một keystore hay
chưa, thực hiện câu lệnh sau:
keytool –list

Có thể sử dụng tuỳ chọn keystore để chỉ cho
JDK tìm keystore trong file ‘try’ của thư mục
‘try’:
keytool –list keystore c:\java\try

Tùy chọn ‘-genkey’ được sử dụng để tạo cặp
khoá public/private:
keytool –genkey –alias “I”
Keytool (tt)

Nhập mật khẩu (password) cho keystore:
Enter keystore password:

Nhập các thông tin bổ sung:
What is your first and last name? [unknown]
what is the name of your organization unit? [unknown]
What is the name of your organization? [Unknown]
What is the name of your city or Locality? [Unknown]
What is the name of your State or Province? [Unknown]
What is the two-letter country code for this unit?
[Unknown]
Keytool (tt)


Xuất chữ ký điện tử

CA (Certificate authority) cấp chứng nhận giá
trị các khoá công khai. Ví dụ chứng nhận
X.509 của tổ chức International Standards
Organization, được hỗ trợ bởi keytool.

Ví dụ tạo chứng nhận trên:
keytool –keystore store –alias mykey –certreq –
file mykey.txt

Tuỳ chọn ‘-export’ để xuất các chứng nhận:
keytool –export –keystore store –alias pk –file
mykey
Nhập chữ ký điện tử

Để nhập các chứng nhận khác vào keystore, sử
dụng câu lệnh sau:
keytool -import –keytool keystore –alias alias –
file filename

Ví dụ, câu lệnh sau chỉ tên bí danh là ‘alice’ để
nhập chứng nhận trong file ‘mykey’ vào
keystore ‘MyStore’:
keytool –import –keystore MyStore –alias alice –
file mykey
Các gói bảo mật của Java

java.security: Là gói API bảo mật chính, chứa các
lớp và giao diện hỗ trợ mã hoá, digest và chữ ký


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status