Redmine là một ứng dụng web mã nguồn mở hỗ trợ quản lý dự án, công việc. Được viết bằng Ruby, trên nền tảng Ruby on Rails, nó là khả chuyển và có khả năng chạy ở mọi nền tảng, tương thích với hầu hết các loại cơ sở dữ liệu.
Real Private Redmine có các tính năng:
Mã hóa tùy ý một hay nhiều vấn đề trong dự án.
Mã hóa tùy ý một dự án.
Việc mã hóa là chỉ người dùng biết, và chỉ có người dùng sở hữu 'khóa' mới có thể thao tác trên các dự án, vấn đề được mã hóa.
Mô tả chi tiết
Hiện trạng :
Hiện tại, trên mạng có một số dịch vụ cho phép người dùng dùng dịch vụ redmine công cộng. Một người dùng sẽ sở hữu dự án của mình - công khai hoặc cá nhân. Nhưng dù có ở dạng nào đi nữa thì chỉ là phân chia quyền với các người dùng khác, nếu người dùng nào đó có đủ quyền thì vẫn có thể xem được thông tin nếu họ muốn. Hoặc trường hợp bị tấn công và mất CSDL thì tính bí mật của thông tin của toàn bộ hệ thống redmine đó sẽ bị phá vỡ.
Giải pháp :
Hiện thực plugin/hiệu chỉnh redmine để có khả năng mã hóa thông tin. Lúc này thông tin lưu ở server sẽ được mã hóa, có thể mã hóa dự án hoặc từng vấn đề một, tùy thuộc vào mong muốn của người dùng. Thông tin chỉ được mã hóa ở trình duyệt trước khi gửi lên server và giải mã trước khi hiển thị trên trình duyệt.
Hướng thực hiện:
Nghiên cứu tổ chức thông tin trong CSDL của redmine, coi phần nào là cần mã hóa, phần nào không. Các thông tin nào cần mã hóa nghiên cứu kĩ, cần thiết nhất là tiêu đề, nội dung …
Các thông tin cần có để Redmine vận hành được cần thì phải để lại. Việc nghiên cứu này là một phần của dự án.
Nghiên cứu cách thức mã hóa và giải mã ở trình duyệt sao cho người dùng cảm thấy tiện lợi nhất.
Viết mã chương trình.
Kỹ năng yêu cầu
Am hiểu về Ruby, Ruby on Rails, HTML(5), Javascript, CSS.
Am hiểu về CSDL (hiện tại là Mysql, mariadb).
Có khái niệm về mật mã, mã hóa và tính riêng tư cá nhân.
Có kinh nghiệm trong việc phát triển Redmine trước đây là một lợi thế.
Đánh giá mức độ
Tương đối khó
Mentor
* Mentor chính: Phan Phụng Tiến (cb at bkitsec dot com)