Mã hoá mật thư - TNXM RSA

wasabi
20-03-10, 14:04
Một trong những điểm yếu nhất của diễn đàn là việc khi bị hack vào tài khoản hay ai lấy trộm được mật khẩu là có thể đọc được mật thư một cách thoải mái. Diễn đàn của người anh em x-cafe của chúng ta đã bị hack một cách tức tưởi như thế. Một khi database bị hack là tất cả các mật thư của tất cả các thành viên dù muốn hay không đều bị đọc một cách trái pháp luật một cách dễ dàng.

Diễn đàn TNXM hiện nay chỉ có em nắm cơ sở dữ liệu và rất may mắn là em không có ý tưởng muốn đọc trộm mật thư của ai. Tuy thế, khả năng bị hack là một chuyện hoàn toàn có thể. Em dự định sẽ đưa chức năng mã hoá mật thư vào thử nghiệm ở TNXM trong nay mai, khi đó tất cả các thành viên không còn lo về việc mật thư của mình bị lộ nữa.

Việc này dựa trên một nghiên cứu về mã hoá điện tử mà bác nào làm ở banking hay ở các công ty lớn đều biết là phương pháp mã hoá RSA (có các ứng dụng đang sử dụng là PGP hay GPG).

Không có cái gì là có thể giải mã được thư của các bác trừ chính các bác. Em sẽ thêm trường trong profile mỗi thành viên để các bác khai khoá công khai (public key) của mình. Có mã hoá mật thư của mình không là tuỳ thuộc vào quyết định của mỗi thành viên và ai không opt-in mọi việc sẽ diễn ra như cũ. Em sẽ hướng dẫn cách tạo khoá để ai muốn mã hoá mật thư của mình đều làm được.

Xin hãy để ra hai phút để làm việc này. Có thể nó sẽ giúp các bác tránh được tất cả những rắc rối về sau này.


OK. Back to business.

Các bác bây giờ có thể yêu cầu người gửi mã hoá mật thư gửi cho mình.

Hãy download chương trình này (http://www.ohdave.com/rsa/RSAKeyGenerator.zip). Chạy và ấn Generate.

Nó sẽ tạo cho bác ba cái chuỗi ký tự, ví dụ như thế này (xin đừng dùng chuỗi ở trong ví dụ).


key = new RSAKeyPair(
"1f4a4cee0a2be624760f193c2789b5fd",
"dc9fe097c1e7f1d497358f3de5d2995",
"7b5f0d34d408aca5677d9ef9febbc161"
);

Theo thứ tự lần lượt là e (encryption exponent), d (decryption exponent) và m (modulus). Xin hãy ghi lại thật cẩn thận các số này. Mất các số này các bác coi như xong, không bao giờ đọc được các mật thư đã bị mã hoá của mình nữa. TNXM không bao giờ lưu số giải mã (decryption exponent) trên server (that's the whore point of it) vì thế các bác tốt nhất nên in nó ra để đâu đấy.

Điều tuyệt vời của phương pháp mã hoá này là các bác chỉ cần cho người khác biết số e và m (hai số này lưu trong profile của các bác để ai cũng truy cập được). Các bác giữ cho mình số d và m để giải mã. Điều này như thể là việc bác có 1000 cái hộp kín phân phát cho mỗi người muốn gửi thư cho mình (e&m), nhưng chỉ có một mình mình có cái chìa (d&m) để giải mã.

--

Nếu muốn opt-in vào chương trình mật mã, các bác update profile của mình với hai số e và m (không có ngoặc kép) ở trang Tuỳ chọn -> Thay đổi tuỳ chọn như thế này:

http://i43.tinypic.com/351xzsg.png

Từ đó trở đi các mật thư gửi cho các bác đều sẽ được mã hoá. Để giải mã các bác di chuột vào nút giải mã ở mật thư của mình. Nó sẽ hỏi số m và d. Nhập hai số này vào, tạo một passkey dễ nhớ (để mã hoá và giải mã cái decryption key trên máy cá nhân của bác). :-)

http://i43.tinypic.com/9vjfd0.png

Sau khi giải mã:

http://i42.tinypic.com/2a50o01.png





However, cái này hiện tại có một số nhược điểm do cách em implement:
- Không CC/BCC được cho nhiều người (fixable nhưng có lẽ sẽ ko làm vì rắc rối.)
- Người gửi sẽ không đọc được mật thư đã gửi (fixable, có lẽ sẽ làm trong thời gian tới).
- Không dùng được bbCode (fixable)
noitartsiger
20-03-10, 15:10
Cái này hay, mã hoá luôn diễn đàn luôn bi ơi, bọn nó có hack được thì chỉ còn đọc cache google thôi.
Giàng
20-03-10, 15:19
Ủng hộ em Bi. Anh tán 10 cô thì có 9 cô từ chối, giờ thằng hacker nào nó công bố mật thư ra thì anh xấu hổ chết mất thôi.
wasabi
20-03-10, 21:34
Ủng hộ em Bi. Anh tán 10 cô thì có 9 cô từ chối, giờ thằng hacker nào nó công bố mật thư ra thì anh xấu hổ chết mất thôi.

Not that big of a deal nhỉ. Nhưng em nghĩ là em mà dump cái db ra thì chắc nhiều bác ngất mẹ mất ;-)
xoai
20-03-10, 22:26
Cẩn thận chưa kịp mã hoá các kiểu, TNXM thì không bị hack mà cu Bi lại bị gái nó dùng mấy trò social engineering chơi cho đến lúc dâng hiến hết cả ý chứ.
wasabi
20-03-10, 23:26
Đã cập nhật hướng dẫn encrypt mật thư ở trên post đầu tiên.
wasabi
20-03-10, 23:46
Cẩn thận chưa kịp mã hoá các kiểu, TNXM thì không bị hack mà cu Bi lại bị gái nó dùng mấy trò social engineering chơi cho đến lúc dâng hiến hết cả ý chứ.

Đấy chính là ý tưởng của việc này. Vì wasabi rất dễ bị gái lừa bằng social engineering cho nên thành viên mới nên mã hoá mật thư. Như thế ngay cả khi wasabi trở mặt hay bị trở mặt thì cái mà wasabi hay cái người mà lừa wasabi có cũng chỉ là một đống binary blob mà không ai có thể decrypt được.

PS: Nếu các bác opt-in, Mật thư sẽ trở lại đúng nghĩa của mật thư: Không ai ngoài các bác, kể cả admin, kể cả ISP có thể đọc được thư gửi đến cho các bác. Rest assured, nếu các bác có định làm chi2, chi3, chi4 thì nên dùng PM của TNXM. Trên lý thuyết nó là một lớp secure hơn gmail.

This is tighter than Ann Coulter's vagina (http://vodpod.com/watch/1463654-ann-coulters-vagina-makes-a-cool-appearance-on-family-guy).
DeLusty
21-03-10, 13:49
Mẹ, mình là biết thừa Bí ngố chỉ được cái phò phạch ngông nghênh, chứ nhạy cảm của mình cho thấy thằng này rất dễ bị lừa tình, miễn là gái đừng quá cá sấu, cỡ linh trưởng thì cũng vẫn ok với nó.

Vì vậy, mật thư các bạn nên cẩn thận, cùng lắm chỉ nên viết thư tình yêu - tình dục, không nên trao đổi thông tin cá nhân, có ngày ku Bí giao cả hồn xác, chìa khoá cho gái thì các bạn tèo giống người anh em Xca của chúng ta, nhen.