Trang chủ Đào tạo Sản phẩm Dịch vụ Kiến thức Videos Đối tác Giới thiệu Liên hệ Giảng viên FAQ

 

Giải thuật mã hóa mật khẩu Oracle VietPace_Phantich_giaithuat_mahoa_matkhau_Oracle

Giới thiệu

 

Ngày 08/07/1993, Bob Baldwin; tác giả thiết kế giải thuật mã hóa mật khẩu Oracle ,--1--, đã đăng bài viết với tiêu đề “Giải thuật mã hóa mật khẩu Oracle” trên trang comp.security.misc. Bài viết của Bob Baldwin đã phơi bày các yêu cầu mà giải thuật mã hóa cần thỏa mãn và các bước hiện thực giải thuật.

Giải thuật mã hóa phân tích trong chủ đề này ứng dụng cho phiên bản Oracle6 đến Oracle10g, phiên bản Oracle11g đã ứng dụng giải thuật mã hóa mới.

 

 

Yêu cầu về giải thuật mã hóa

  1. Phải có thể thi hành được trên mọi thiết bị đầu cuối
  2. Tên truy nhập và mật khẩu phải hỗ trợ được những ký tự ngoài bảng mã ASCII ,--2--
  3. Trường hợp các tài khoản có cùng mật khẩu thì mật khẩu mã hóa phải khác nhau
  4. Mật khẩu phải có độ dài đủ lớn

 

Giải thuật mã hóa mật khẩu Oracle

 

Từ các đặc tả yêu cầu giải thuật nhận được, Bob Baldwin đã thiết kế giải thuật mã hóa gồm các bước như sau:

  1. Ghép tên truy nhập và mật khẩu thành một giá trị chuỗi phẳng
  2. Chuyển chuỗi ký tự phẳng thành chuỗi chữ hoa
  3. Chuyển chuỗi ký tự phẳng sang định dạng lưu trữ nhiều byte
  4. Mã hóa chuỗi ký tự kết quả bước (3) dùng thuật toán DES-CBC ,--3--, với khóa mã hóa cố định là 0x0123456789ABCDEF
  5. Mã hóa một lần nữa chuỗi ký tự kết quả bước (3) dùng thuật toán DES-CBC, nhưng khóa mã hóa lần này là khối dữ liệu cuối được trích từ kết quả bước (4). Khối dữ liệu cuối của bước (5) sau khi chuyển sang định dạng in được chính là mật khẩu mã hóa kết quả.

Ví dụ từ hai hình dưới đây minh họa tính đúng của giải thuật mã hóa trên:

 

1

Hình 1 -  Mật mã được tạo ra bởi chính Oracle Database có giá trị là EB077F3A1EA4B1BB

 

 

2

Hình 2 -  Mật khẩu kết quả có được từ giải thuật mã hóa mô tả trùng khớp với mật khẩu do chính Oracle Database tạo ra. (trích từ tài liệu khóa học “Ngày hội bảo mật Oracle – Day1”)

 

 

Yếu điểm giải thuật mã hóa mật khẩu Oracle

 

Giải thuật mã hóa mật khẩu Oracle tuy thỏa mãn các đặc tả ban đầu, nhưng đã bộc lộ nhiều yếu điểm cơ bản.

  1. Mật khẩu không phân  biệt chữ hoa thường.
  2. Giá trị Salt ,--4--, dùng cho giải thuật mã hóa chính là “Tên truy nhập”.
  3. Sử dụng khóa mã hóa không đổi là 0x0123456789ABCDEF cho giải thuật băm mã

 

Chú thích

 

--1-- Bob Baldwin, trưởng dự án “Trusted Oracle”, được xem là người thiết kế giải thuật mã hóa mật khẩu Oracle dùng cho các phiên bản Oracle6 đến Oracle10g. Bài viết đăng ngày 08/07/1993 của Ông nhằm mục đích giúp một người bạn hiểu được thuật toán mã hóa để anh có thể kiểm tra tính yếu của mật khẩu Oracle. Theo Bob Baldwin, nội dung bài viết thuộc phạm vi có thể được công bố và trước đó Ông đã trình bày nội dung này tại hội nghị BATSS (Bay Area Trusted Systems Symposium)

 

--2-- ASCII: Chuẩn mã trao đổi thông tin Hoa Kỳ

 

--3-- DES-CBC: Phương pháp mã hóa DES thực hiện ở chế độ Cipher-Block-Chaining

 

--4-- Salt: Chuỗi giá trị ngẫu nhiên đủ dài để tăng độ khó và thời gian phá mã mật khẩu

 

- Tài liệu tham khảo: An Assessment of the Oracle Password Hashing Algorithm

 

 

 

Để hiểu rõ hơn về chủ đề, các bạn có thể tham gia chuyên đề Xác thực của chương trình Ngày hội bảo mật Oracle, hoặc liên hệ theo thông tin dưới đây:


Trung tâm đào tạo VietPace

VietPace Training Center

123 Trưong Định, Quận 3, TP. HCM.

Phone: (+84) 8 39.325.977
Fax:
+(84) 8 9.321.042
Email: tamntt@vietpace.com --- cucntt@vietpace.com
Web:
www.vietpace.com, www.baomatoracle.com

 

 

 

 

(10/05/2009 - ITExpert)

Copyright 2009 www.vietpace.com, All rights reserved.