Cách thức mã hóa thông tin , Lưu trữ thông tin người dùng username password trên trình duyệt • Trình quản lý mật khẩu Firefox lưu trữ an toàn tên người dùng và mật khẩu bạn sử dụng để truy cập các trang web và sau đó tự động điền chúng cho bạn vào lần tiếp theo bạn truy cập trang web. Các bạn có thể lưu lại, xem,xóa hoặc bảo vệ mật khẩu của mình
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TOÀN THÔNG TIN
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
BÁO CÁO
TÌM HIỂU CÁCH THỨC LƯU TRỮ VÀ MÃ HÓA THÔNG TIN LƯU TRỮ CỦA NGƯỜI DÙNG (PASSWORD)
TRÊN TRÌNH DUYỆT FIREFOX
Giảng viên :Trần Anh Tú Sinh viên thực hiện :
Thái Xuân Phương Trần Tuấn Anh Phạm Tuấn Vũ Lớp : L05
Hà Nội, 2019
Trang 2Mở Đầu
Ngày nay, chúng ta có rất nhiều các phần mềm trình duyệt khác nhau để sử dụng như: Chrome,IE,firefox,coccoc Nhưng chúng ta đang hiểu được bao nhiều về khả năng bảo mật thông tin của mỗi trình duyệt đó.Sau đây chúng mình sẽ trình bày về khả năng bảo mật của trình FireFox và tìm hiểu về cách thức FireFox bảo mật thông tin người dùng.
Trang 3I Cách thức lưu trữ mật khẩu
1: Cách lưu mật khẩu trên FireFox
• Trình quản lý mật khẩu Firefox lưu trữ an toàn tên người dùng và mật khẩu bạn sử dụng để truy cập các trang web và sau đó tự động điền chúng cho bạn vào lần tiếp theo bạn truy cập trang web Các bạn có thể lưu lại, xem,xóa hoặc bảo vệ mật khẩu của mình
• Khi bạn nhập tên người dùng và mật khẩu mà bạn chưa lưu cho một trang web, Firefox sẽ hỏi bạn có muốn lưu nó không
• Sẽ có các tùy chọn cho bạn như sau :
1 Để Firefox lưu mật khẩu của bạn hãy chọn Save.
Lần tới khi bạn truy cập trang web, Firefox sẽ tự động nhập tên người dùng và mật khẩu cho bạn
Trang 42 Để yêu cầu Firefox không bao giờ nhớ tên người dùng và mật khẩu cho trang web hiện tại, hãy nhấp
vào menu thả xuống và chọn Don’t Save Vào lần
đăng nhập sau, khi bạn đăng nhập vào trang web, bạn
sẽ không được nhắc lưu tên người dùng và mật khẩu
3 Nếu bạn đã lưu sai tên người dùng hoặc mật khẩu, chỉ cần nhập đúng tên vào trang web và Firefox sẽ nhắc bạn lưu nó Để lưu tên người dùng và mật khẩu mới, nhấp vào Update
4 Nếu sau này bạn đổi ý và muốn Firefox yêu cầu bạn lưu tên người dùng và mật khẩu cho trang web này, bạn sẽ cần truy cập Tùy chọn Firefox của mình và xóa mục nhập của trang khỏi danh sách ngoại lệ của bảng
điều khiển Privacy & Security
• Sau khi hoàn tất lưu tài khoản,thông tin tài khoản của bạn sẽ được lưu vào profile của firefox.Trong
đó, tất cả các thao tác của bạn trên trình duyệt đều
sẽ được lưu lại như :mật khẩu sẽ được lưu lại trong file key4.db và logins.json.
Trang 51 Login.json : tất cả thông tin về tài khoản người
dung (user và password) sẽ được mã hóa và lưu lại ở trong đây.
2 Key4.db :chứa khóa để giải mã tên người dùng
và mật khẩu được lưu trữ
Trang 6II Hệ mật mã được sử dụng
Hệ mật mã được sử dụng là mật mã hóa khóa công khai(Public-key Cryptography)
Mã hóa công khai (Public-key Cryptography) sử dụng hai khóa khác nhau để mã hóa và giải mã thông tin, khóa sử dụng để mã hóa là khóa công khai (public key), còn khóa
để giải mã là khóa bí mật (private key) Nếu ai đó lấy được khóa công khai cũng không thể giải mã được nội dung tin truyền đi nếu không có khóa bí mật
Cách thức hoạt động của PKC như sau:
Trong sơ đồ PKC, chìa khóa công khai được người gửi sử dụng để mã hóa thông tin, trong khi chìa khóa cá nhân được người nhận sử dụng để giải mã Hai chìa khóa là khác nhau, trong đó chìa khoá công khai có thể được chia sẻ an toàn
Trang 7mà không ảnh hưởng đến tính bảo mật của chìa khoá cá nhân Mỗi cặp chìa khóa bất đối xứng là duy nhất, đảm bảo rằng một thông điệp được mã hóa bằng chìa khoá công khai chỉ có thể được đọc bởi người sở hữu chìa khoá cá nhân tương ứng
Vì thuật toán mã hóa bất đối xứng tạo ra các cặp chìa khóa được liên kết về mặt toán học nên có độ dài chìa khóa dài hơn nhiều so với các cặp chìa khoá được tạo ra bởi mật mã hoá đối xứng Độ dài dài hơn này - thường từ 1.024 đến 2.048 bit - khiến việc tính toán chìa khóa cá nhân từ chìa khoá công khai là vô cùng khó khăn Một trong những thuật toán thông dụng nhất cho mã hóa bất đối xứng được sử dụng ngày nay có tên là RSA Trong sơ đồ RSA, các chìa khóa được tạo bằng cách sử dụng một mô-đun phép nhân hai số (thường là hai số nguyên tố lớn) Nói đơn giản hơn, mô-đun tạo ra hai chìa khóa (một khóa công khai có thể được chia sẻ và một khóa cá nhân cần được giữ bí mật) Thuật toán RSA được mô tả lần đầu tiên vào năm 1977 bởi Rivest, Shamir và Adleman (RSA là ghép các chữ cái đầu tiên của 3 người này) và hiện vẫn là thành phần chính của các hệ thống mật mã khóa công khai
Trang 8khi lưu trữ mật khẩu trên firefox mật khẩu sẽ được mã hóa bởi khóa công khai và lưu trữ trong cơ sở dữ liệu của firefox
khóa bí mật chính là mật khẩu trước khi mã hóa , chỉ bản thân mới biết được khóa bí mật của mìnhạn chế
Các hạn chế
Mặc dù có thể được sử dụng để tăng cường bảo mật máy tính và cung cấp xác minh cho tính toàn vẹn của thông điệp, PKC có một số hạn chế Do có sự tham gia của các phép toán học phức tạp trong mã hóa và giải mã, các thuật toán bất đối xứng có thể khá chậm khi buộc phải xử lý một lượng lớn dữ liệu Loại mật mã này cũng phụ thuộc rất nhiều vào giả định rằng chìa khóa cá nhân sẽ được giữ bí mật Nếu một chìa khóa cá nhân vô tình bị chia sẻ hoặc bị
lộ, tính bảo mật của tất cả các thông điệp đã được mã hóa bằng chìa khoá công khai tương ứng của nó sẽ bị xâm phạm Người dùng cũng có thể vô tình làm mất khóa cá nhân, trong trường hợp đó, họ không thể truy cập dữ liệu đã được mã hóa
Trang 9III Các bước biến đổi và lưu trữ thông tin
3.1 Vị trí lưu
Trong Firefox, các URL (Uniform Resource Locators), các
username và password được lưu trong một file signons.txt:
Các username và password được mã hóa trong hệ thống Windows được lưu trong:
%userprofile%\Application Data\Mozilla\Firefox Profiles\ xxxxxxxx.default\signons.txt
Khi %userprofile%, là biến môi trường trong Windows, thể hiện đường dẫn đến thư mục chủ của người dùng
Các username và password được mã hóa trong hệ thống Linux đang chạy Firefox được lưu ở vị trí sau:
~/.mozilla/firefox/ xxxxxxxx.default/signons.txt
Vị trí của xxxxxxxx được chọn ngẫu nhiên khi Firefox được
cài đặt
File signons.txt được tạo ra khi bất kỳ login cho một trang
web được lưu
Các login theo sau với các URL được chèn vào trong file
Nó hoàn toàn không liên quan đến bộ quản lý password nếu trang đó truy cập sử dụng HTTP hay HTTPs
Trang 10Các URL không được mã hóa bởi vì chúng được sử dụng như một tham chiếu (tra cứu) cho việc khớp các login
Đặc biệt hơn, khi một bộ quản lý password trình duyệt cần điền tự động login cho một trang cụ thể, có URL của trang
được tham chiếu vơi file signons.txt (nếu URL đó tồn tại)
thì username và password tương ứng được điền vào login của trang web
3.2 Kĩ thuật truy cập và lưu trữ
3.2.1 Kiến trúc lưu:
Dạng file văn bản (signons.txt)
3.2.2 Định dạng:
ASCII, bằng sử dụng việc mã hóa Base64 (ngoại trừ URL
và các trường)
URL (ví dụ www.gmail.com )
Trường tên (trong cleartext,ví dụ: username, email, userid,
…)
Mã hóa Base64 cho các thông tin ở trên
Trường tên (ví dụ: password, pass, )
Mã hóa Base64 cho các thông tin ở trên
Trang 11
3.2.3 Mã hóa:
DES ba cấp (chế độ CBC)
3.2.4 Truy cập:
Các dịch vụ an ninh mạng API (NSS)
3.2.5 Các yêu cầu cho truy cập:
Người dùng đã đăng nhập và mật khẩu chủ (nếu thiết lập)
3.2.6 Các file liên quan:
Các chứng chỉ (Public Key) được lưu trong certN.db, còn các cơ sở dữ liệu Private Key được lưu trong keyN.db và các Module bảo mật được lưu trong secmod.db
Firefox sử dụng Network Security Services API để thực
hiện mã hóa Nó liên quan đến Password Manager Firefox
để tạo ra Public Key Cryptography Standard (PKCS) #11 (định nghĩa API cho các modul bảo mật nhóm thứ ba gồm
cả phần mềm và phần cứng) Sử dụng PKCS#5 để mã hóa password Firefox cũng có một tùy chọn của việc sử dụng mođul bảo mật luân phiên cho bộ quản lý password, đó là
chuẩn xử lý thông tin quốc gia (FIPS) 140-1 Master
Password được sử dụng cùng chung với một phần trong
file keyN.dbthường được sử dụng để cung cấp một Master
Key Master Key sau đó được sử dụng để giải mã username,
password được lưu trong Password Manager.
Trang 12Mặc dù không dễ dàng giải quyết nhưng NSS API có một vài chức năng quan trọng đối với Firefox hay một chương trình liên quan để tăng khả năng truy nhập vào cơ sở dữ liệu
có password Các thiết lập password được nắm giữ bởi (PK11_SetPasswordFunc), giải mã dữ liệu cơ số 64 (NSSBase64_DecodeBuffer), giải mã (PK11SDR_Decrypt) cho phép một chương trình liên quan đến các username và password liên quan; đây quả thực là một vấn đề đơn giản
mã thực tế cần khởi chạy NSS, tuyên bố các biến, quản lý
bộ đệm,…
Mặc dù vậy sự bảo mật của toàn bộ hệ thống dựa vào sức mạnh mật mã của Master Password (được tạo ra bởi người dùng) và khả năng truy cập vào file key4.db (bao gồm những phần quan trọng) được lưu trong profile của người dùng
Modul bảo mật FIPS 140-1 có thể cho phép bằng việc định hướng theo sự xếp đặt sau:
Firefox 1.5 trên Windows:
Tools | Options | Advanced | Security Devices | NSS Internal FIPS PKCS #11
Firefox 2.0 trên Windows:
Tools | Options | Advanced | Encryption | Security Devices | NSS Internal FIPS PKCS #11
Trang 13Trên đây là báo cáo của nhóm chúng em về đề tài Rất mong thầy góp ý để chúng em hoàn thiện
và hiểu sâu về chuyên ngành hơn.
Chúng em xin chân thành cảm ơn!