Dịch vụ đám mây Mega. Lưu trữ đám mây MEGA

Hãy nhớ những ngày mà 40 GB trên ổ cứng của bạn dường như là một thứ xa xỉ không thể chi trả? Giờ đây, hóa đơn lên đến hàng trăm gigabyte, và thường là hàng terabyte, và chúng ta đã quá quen với việc chiếm dung lượng trên đĩa PC một cách bừa bãi - với bất cứ thứ gì.

Trong khi đó, nền kinh tế và sự thoải mái vẫn chưa bị hủy bỏ, và sự tồn tại, thịnh vượng và triển vọng tươi sáng của lưu trữ đám mây chứng tỏ khả năng tồn tại của chúng. Trong vài năm qua, dịch vụ của các dịch vụ Internet như vậy đã phát triển theo những bước cực kỳ to lớn và như một ví dụ, chúng tôi có thể trích dẫn một số kho lưu trữ dữ liệu đám mây:

1. Yandex.Disk - cung cấp cho người mới bắt đầu 5 GB dung lượng trống để lưu trữ các tệp có định dạng và phần mở rộng khác nhau, cùng với nhiều phần thưởng khác nhau. Ví dụ: nếu bạn đã sử dụng thư Yandex được 5 năm, bạn sẽ được cấp thêm 2 GB dung lượng Ổ đĩa.
2. Google Drive - 15 GB dung lượng trống.
3. Microsoft SkyDrive - 7 GB miễn phí thay vì 25 GB được cung cấp trước đây.
4. - 2 GB cộng với việc mở rộng không gian đĩa để thu hút giới thiệu.
5. Apple iCloud - 5 gigabyte dung lượng trống.
6. - Tại đây, bạn có thể mượn miễn phí không quá 40 MB cho mỗi ghi chú và sử dụng lưu lượng truy cập để viết / chỉnh sửa ghi chú lên đến 60 MB mỗi tháng.
7. Amazon Google Drive - 5 GB.
8. Dịch vụ đám mây hộp - 5 GB.
9. Dịch vụ SugarSync - 5 GB.
10. Lưu trữ đám mây Mega.co.nz - 50 GB dung lượng đĩa trống.

Bộ nhớ đám mây Mega.co.nz

Tất cả các dịch vụ trên không chỉ có thể hoạt động trên PC tĩnh mà còn trên tất cả các ứng dụng di động, chắc chắn sẽ mở rộng phạm vi và tăng tính phổ biến của chúng. Nhưng người dẫn đầu trong số gigabyte miễn phí được cung cấp vẫn là Mega.co.nz - 50 GB không phải là một trò đùa, họ vẫn cần được lấp đầy bởi một thứ gì đó, vì vậy tôi đề nghị nói chi tiết hơn về dịch vụ đám mây này - Mega.co.nz . Nhân tiện, tôi tích cực sử dụng dịch vụ này, vì nó ổn định, ẩn danh và những người tạo ra nó là những người nổi tiếng.

Người đứng đầu công ty cung cấp dịch vụ lưu trữ này - Kim Dotcom, người sáng lập dịch vụ Megaupload, đã đóng cửa hai năm trước theo đề nghị của Bộ Tư pháp và FBI của Mỹ. Bạn có thể nhớ câu chuyện đó. Trên thực tế, thiết bị trao đổi cũ của họ là một thứ khá tiện dụng. Nhưng giờ đây đứa con tinh thần mới của Kim còn "ngầu" hơn. Hãy nói về nó chi tiết hơn.

Giờ đây, dịch vụ Mega không chỉ cung cấp khả năng lưu trữ dữ liệu thông thường trên đám mây bằng cách sử dụng trên PC, mà như đã hứa trước đây của các nhà phát triển, họ đã bao gồm khả năng làm việc từ các thiết bị di động - iPhone, iPad, các thiết bị trên Win 8 , gắn kết hệ thống tệp cho Windows, v.v. Nghĩa là, có thể gửi tệp trực tiếp lên đám mây. Ví dụ: ảnh của bạn từ điện thoại thông minh sẽ được lưu trữ trong tiện ích, nhưng đồng thời chúng sẽ được chuyển sang Mega.co.nz, vì vậy khả năng mất hoặc hỏng tệp không mong muốn sẽ hoàn toàn bị loại trừ. Tất cả dữ liệu của bạn được mã hóa khi chuyển tiếp và không ai ngoài bạn có thể giải nén để đọc.

Ưu điểm và khác biệt của Mega

1. Tính năng chính và sự khác biệt của dịch vụ đám mây Mega.co.nz so với các tài nguyên tương tự trong dung lượng đĩa trống ban đầu được đề xuất là 50 GB. Trong Mega.co.nz, bạn có thể tải lên các tệp có kích thước bất kỳ, với bất kỳ phần mở rộng nào, ở bất kỳ định dạng nào - không có giới hạn nào về điều này.

2. Chữ viết tắt MEGA là tên của Truy cập toàn cầu được mã hóa MEGA.

3. Các tính năng chính của Mega cũng giống như các tài nguyên khác - tải xuống, lưu trữ tệp trên ổ đĩa của bên thứ ba và khả năng trao đổi tệp với bạn bè và đồng nghiệp của bạn bằng cách chuyển liên kết hoặc truy cập được mã hóa. Các tệp được mã hóa trong trình duyệt bằng thuật toán AES, nghĩa là, bảo vệ chống lại truy cập trái phép được cung cấp cho bạn. Các liên kết để chuyển tệp cũng được mã hóa và ngay cả nhân viên dịch vụ cũng không có quyền truy cập vào dữ liệu của bạn. Ít nhất là họ yêu cầu nó.

4. Dịch vụ trao đổi và lưu trữ các tệp Mega là đa ngôn ngữ, vì vậy khi làm việc với nó, bạn sẽ không gặp bất kỳ khó khăn nào về ngôn ngữ - chỉ cần chọn ngôn ngữ mong muốn trong bảng điều khiển.

Nhưng để bắt đầu sử dụng lưu trữ đám mây, bạn cần trải qua một thủ tục đăng ký đơn giản.

Đăng ký và bắt đầu tại Mega.co.nz

Như bạn có thể thấy từ liên kết đăng ký, việc truy cập vào trang https://mega.co.nz/ diễn ra qua kết nối an toàn. Xa hơn trên trang chính, bạn cần chọn ngôn ngữ tiếng Nga để thuận tiện cho công việc - menu nằm ở trên cùng bên phải. Bây giờ bạn có thể đăng ký:

Khi đăng ký, bạn cần một địa chỉ email thực, phần dữ liệu còn lại có thể được lấy ra khỏi đầu bạn. Sau khi chúng tôi điền vào tất cả các trường và nhấp vào nút "Tạo tài khoản", chúng tôi sẽ nhận được một bức thư gửi đến mail của chúng tôi với liên kết xác nhận cho việc đăng ký của chúng tôi:

Chúng tôi sẽ nhấp vào liên kết này trong thư và trên trang dịch vụ, chúng tôi sẽ xác nhận tài khoản của mình - đối với điều này có một biểu mẫu ở góc trên bên phải, tức là chỉ cần nhập địa chỉ email và mật khẩu của bạn. Điều này được thực hiện một lần - sau đó dịch vụ sẽ sử dụng cookie của trình duyệt của chúng tôi. Khi xác nhận đăng ký, chúng tôi sẽ được yêu cầu tạo khóa cá nhân của riêng mình, khóa này sẽ xác định việc xác thực của chúng tôi. Bản chất tạo chìa khóa rất vui nhộn, và tôi thậm chí đã chơi quá nhiều, bỏ lỡ khoảnh khắc khi chìa khóa đã được tạo ra.

Trò chơi trông giống như đập các viên gạch bằng một quả bóng tạo nên dòng chữ MEGA. Ngay sau khi bạn đạt 100% trên thang đo ở đầu màn hình, một phím sẽ được tạo:

Và sau khi nhấp vào nút "Hoàn tất", hãy truy cập trang của bạn trong dịch vụ đám mây Mega.co.nz:

Cách sử dụng dịch vụ Mega.co.nz

Có một sự khác biệt khá nhỏ trong việc sử dụng dịch vụ khi làm việc và Google Chrome, mà tôi sẽ thảo luận bên dưới. Trong khi đó - về những điểm chung của việc quản lý và sử dụng. Ở phía bên phải của trang, bạn thấy cột quản lý và màn hình hiển thị cấu trúc lưu trữ. Bên trên - menu để tải xuống, xem và quản lý tệp. Nghĩa là, trong trình đơn thả xuống với các tệp đã được tải lên, bạn sẽ thấy cơ hội nhận liên kết đến tệp, khả năng sao chép, chỉnh sửa, v.v.

Người dùng trình duyệt Mozilla Firefox có thể cài đặt tiện ích bổ sung vào trình duyệt của họ Phần mở rộng MEGA... Các nhà phát triển của tiện ích bổ sung này hứa hẹn rằng sau khi cài đặt nó, bạn sẽ nhận thấy sự cải thiện đáng kể về tốc độ tải tệp xuống. Kết quả này được đảm bảo bằng cách tải lên hàng loạt số lượng tệp không giới hạn mà không giới hạn kích thước của chúng. Mỗi liên kết trong dịch vụ Mega.co.nz được phần mở rộng MEGA của bạn nắm bắt và vẫn còn cục bộ (JavaScript không được tải từ máy chủ). Dịch vụ cung cấp các bản cập nhật tự động đáng tin cậy nhờ vào chữ ký mật mã với khóa được mã hóa.

Không cần cài đặt tiện ích bổ sung này, để làm việc hiệu quả hơn với dịch vụ Mega, các nhà phát triển đề xuất sử dụng trình duyệt Google Chrome. Vì tôi đã sử dụng nhiều trình duyệt trong suốt cuộc đời máy tính của mình cùng một lúc, tôi đã cài đặt tiện ích mở rộng được đề xuất trong Firefox, nhưng thành thật mà nói, tôi không nhận thấy bất kỳ sự khác biệt nào trong hoạt động của dịch vụ đám mây. Ứng dụng có thể được cài đặt cả từ "Tiện ích bổ sung" của trình duyệt và từ dịch vụ MEGA ("Menu" - "Ứng dụng" - "Ứng dụng Firefox")

Tốt hơn là sử dụng trình duyệt Google Chrome nếu bạn định tải toàn bộ thư mục có tệp lên đám mây - trong Mozilla điều này không thể thực hiện được và Chrome có thể tải lên cả tệp và thư mục:

Đây là giao diện của bảng điều khiển lưu trữ trong trình duyệt Google Chrome và trong Mozilla Firefox đơn giản là không có nút "Tải lên thư mục" - chỉ có nút "Tải tệp lên". Sử dụng nút "Tải tệp lên", bạn có thể tải tệp lên đám mây từ máy tính cá nhân của mình. Sau khi bạn nhấp vào nút "Tải lên thư mục" trong Google Chrome, một cửa sổ Explorer sẽ mở ra, hãy chọn một thư mục trong đó để tải nó lên bộ lưu trữ tệp và thế là xong - quá trình tải xuống đã bắt đầu.

Bây giờ làm thế nào để khắc phục sự cố này trong Firefox. Giả sử bạn muốn tải xuống toàn bộ thư mục - không cài đặt trình duyệt mới cho việc này! Sau đó, bạn chỉ cần tạo một thư mục cùng tên trong Mega (mục "Thư mục mới" trong menu), và tải tất cả các tệp vào đó (nhấn Ctrl + A để chọn tất cả cùng một lúc) nằm trong cùng một thư mục trên máy tính của bạn.

Chúng tôi tiếp tục làm quen với dịch vụ. Trong mục "Tài khoản của tôi", bạn sẽ không chỉ thấy rằng bạn đang sử dụng tài khoản miễn phí mà còn thấy dung lượng đám mây của mình đã được sử dụng và bạn cũng có thể thay đổi cài đặt hồ sơ của mình hoặc thiết lập truyền dữ liệu:

Có rất nhiều điều bạn có thể làm trong cài đặt (Menu - Tài khoản của tôi). Ví dụ: thay đổi số lượng kết nối song song để tải xuống tệp, cũng như số lượng kết nối song song để tải tệp xuống. Bạn cũng có thể nhập giới hạn tốc độ tải xuống.

Nếu bạn nhấp vào nút menu "Menu" - "Tài khoản của tôi", bạn có thể tìm hiểu thêm về các quy tắc sử dụng dịch vụ đám mây Mega.co.nz. Tôi sẽ không cho bạn biết nhiều về tài khoản Pro, vì tôi chưa sử dụng nó - có đủ 50 GB miễn phí. Nhưng sau khi nhấp vào nút "Nâng cấp trạng thái" trong tài khoản miễn phí của mình, bạn có thể chọn bất kỳ gói trả phí nào từ các gói được cung cấp để có thể lưu trữ nhiều dữ liệu hơn trên đám mây - từ 500 GB đến 96 TB. Cá nhân tôi không tưởng tượng một khối lượng như vậy - 96 terabyte, nhưng, tuy nhiên, nếu bạn nghĩ tốt, bạn có thể tìm thấy một công dụng. Ví dụ: để sao lưu cơ sở dữ liệu trang web, v.v.

Hãy tiếp tục làm việc với các tệp - bạn có thể chỉ cần tạo một thư mục mới để tải một số tệp chuyên đề vào đó. Để thực hiện việc này, hãy nhấp vào nút "Thư mục mới" và đổi tên thư mục khi bạn cần. Trong thư mục mới này, bạn cũng có thể tạo các thư mục con khác, trong đó bạn đã tải tệp lên. Nếu bạn nhấp vào một thư mục (tệp) bằng nút chuột phải, thì trong trình đơn ngữ cảnh thả xuống, bạn có thể thấy các lệnh tương ứng cho các hành động của bạn với thư mục (tệp). Như bạn có thể thấy, có rất nhiều khả năng, bao gồm cả khả năng nhận được một liên kết để chuyển đến những người dùng khác. Liên kết sẽ được mã hóa.

Nếu bạn không giới hạn tốc độ tải xuống tệp trong cài đặt của đám mây, thì tốc độ tải xuống dữ liệu sẽ không giới hạn và chỉ phụ thuộc vào tốc độ kết nối Internet của PC. Hơn nữa, làm việc với các thư mục / tệp hoàn toàn giống như trên một máy tính thông thường - bạn có thể chỉnh sửa chúng, lấy liên kết đến chúng, di chuyển chúng, cho phép chia sẻ chúng, sao chép, v.v. Quá trình tải lên và tải xuống tệp được hiển thị ở dưới cùng bên phải của trang trên dịch vụ - nhấp vào biểu tượng

Cách chia sẻ thư mục

Bạn có thể đặt quyền truy cập được chia sẻ trên các thư mục mà bạn sẽ lưu trữ trong bộ lưu trữ đám mây Mega co nz. Để thực hiện việc này, chỉ cần nhấp chuột phải vào thư mục và trong trình đơn ngữ cảnh thả xuống, hãy nhấp vào "Chia sẻ". Sau đó, bạn sẽ thấy cửa sổ "Chia sẻ", trong đó bạn cần chỉ định địa chỉ email của người dùng mà bạn muốn cấp quyền chia sẻ. Đối với người dùng này, bạn có thể định cấu hình các quyền - ví dụ: đặt các quyền "Chỉ đọc", "Đọc và ghi", "Toàn quyền truy cập". Sau đó, quyền chia sẻ có thể cho phép người dùng có quyền mà bạn đặt để chỉnh sửa tệp hoặc chỉ xem chúng hoặc chỉ tải chúng xuống. Có thể có bất kỳ số lượng người dùng như vậy.

Sau khi chúng tôi chỉ định địa chỉ email để chia sẻ, một lá thư sẽ được gửi đến thư của anh ấy với một liên kết cần thiết để truy cập dịch vụ và có quyền truy cập vào thư mục được chỉ định. Các thư mục chia sẻ có hình thức hơi khác so với phần còn lại của các thư mục lưu trữ đám mây và trông giống như sau:

Cách lấy liên kết trong Mega.co.nz

Dịch vụ Mega.co.nz có khả năng cung cấp cho người dùng khác các liên kết để tải xuống các tệp mà bạn đăng trong dịch vụ đám mây Mega. Để có được một liên kết như vậy, bạn cần phải nhấp chuột phải vào tệp và trong menu ngữ cảnh bật lên, hãy nhấp vào mục menu "Lấy liên kết". Trong một cửa sổ mới mở ra, bạn sẽ thấy liên kết (được mã hóa hoặc không được mã hóa) để tải xuống tệp. Nhìn chung, tất cả các liên kết để tải xuống tệp trong dịch vụ đám mây Mega.co.nz đều được cấp hai loại và loại liên kết sẽ phụ thuộc vào mức độ bảo mật của các khóa bảo mật.

Nếu bản thân liên kết được tạo ở dạng không được mã hóa, thì tệp vẫn được truyền mã hóa và chỉ khi người dùng theo liên kết này, tệp mới được giải mã và có sẵn để tải xuống. Có nghĩa là, cho đến khi ai đó tải xuống tệp này, nó sẽ được lưu trữ dưới dạng mã hóa. Nếu bản thân liên kết được mã hóa, thì chỉ người dùng đã nhận được liên kết đến tệp cùng với mã bảo mật đặc biệt (khóa) mới có thể tải xuống tệp từ liên kết này. Nếu không có mã bảo mật này, người nhận sẽ không thể tải xuống tệp từ liên kết.

Trong hình ảnh bên dưới, bạn thấy - nếu mục "Với khóa tệp" được kích hoạt, thì mã đã mã hóa được nhúng vào chính liên kết và nó có sẵn để tải xuống cho tất cả người dùng. Và ngược lại - nếu bạn không chọn hộp này, thì người dùng địa chỉ sẽ có thể tải xuống tệp chỉ khi anh ta nhập khóa bạn đã cung cấp riêng.

Ngoài ra, người dùng có liên kết tới tệp có thể lưu nó trong đám mây của anh ta đặt tại Mega.co.nz. Để làm điều này, sau khi nhận được liên kết, bạn cần nhấp vào nút "Nhập". Với tùy chọn này, liên kết sẽ không được tải xuống máy tính của bạn mà chỉ đơn giản là được chuyển từ tài khoản này sang tài khoản khác. Rõ ràng là để thực hiện một thao tác như vậy, người nhận cũng phải có không gian đĩa của riêng mình trong đám mây Mega.co.nz, giống như trong. Bạn có thể thấy tất cả các khả năng này trong hình bên dưới:

Làm thế nào để tải xuống một liên kết với một khóa riêng lẻ (tùy chọn thứ hai)? Dưới đây trong hình ảnh bạn có thể thấy giải pháp của mình. Trong trường hợp khóa được truyền riêng, người nhận sẽ có thể tải xuống tệp nếu họ nhận được từ bạn cả liên kết và khóa để tải tệp xuống từ bộ nhớ đám mây. Bạn sẽ nhận được chìa khóa chính bằng cách sao chép khi chuyển tập tin (trong hình trên - mục "Chép chìa khóa"). Tất cả dữ liệu này (cả liên kết để chia sẻ và liên kết có khóa riêng) bạn gửi cho người dùng bằng email thông thường.

Sau khi nhấp vào liên kết "Giải mã", trong một cửa sổ mới, người dùng sẽ phải nhập khóa bảo mật nhận được từ bạn để tải xuống tệp hoặc để lưu tệp đó vào bộ nhớ đám mây của riêng mình. Sau khi nhập khóa, người dùng phải nhấp vào nút "Tải xuống" và chọn hộp "Tôi đồng ý với các điều khoản dịch vụ của MEGA", hoặc chỉ cần nhập tệp vào đám mây của mình.

Sau khi tệp được tải xuống đầy đủ, cửa sổ Tải xuống hoàn tất sẽ mở ra và người dùng sẽ được nhắc lưu tệp theo cách thủ công ở bất kỳ vị trí thuận tiện nào trên máy tính để hoàn tất quá trình tải xuống.

Và điều cuối cùng - tất cả các tệp sẽ được bạn đặt trên dịch vụ lưu trữ đám mây Mega.co.nz sẽ được mã hóa - tôi đã đề cập ở trên. Một mặt, điều này thật tuyệt, nhưng mặt khác, bạn sẽ không thể xem trực quan nội dung của chúng, phát hoặc nghe các tệp âm thanh và video khi chúng ở trên đám mây. Có nghĩa là, để sử dụng các tệp này, bạn sẽ cần phải di chuyển chúng vào máy tính hoặc thiết bị di động của mình. Để xóa hoàn toàn tất cả các tệp đã tải lên, bạn cần chuyển chúng vào thùng rác và sau đó dọn sạch nó.

Xin chào.

Một số người dùng đã buộc tôi viết bài này với sự than vãn của họ. Ngày càng có nhiều tài liệu thú vị bắt đầu xuất hiện trên trang web, có sẵn để tải xuống bằng cách sử dụng bộ lưu trữ đám mây Mega. Theo thời gian, nhiều người dùng không thể tải xuống khóa học. Câu hỏi đặt ra ngay lập tức: “Tại sao bạn cần một khóa học nếu bạn thậm chí không thể thực hiện một động tác đơn giản nhất, làm thế nào để tải tài liệu ?!”. Nếu trước đó những bình luận này gây ra một nụ cười và tiếng cười, thì bây giờ nó đã bắt đầu căng thẳng hơn một chút và những người viết những bình luận như vậy giống như một miếng bọt biển nguyên thủy, như trong bản xem trước của bài viết này. Trong tương lai (đã có trong tương lai gần), dự kiến ​​sẽ có rất nhiều tài liệu thú vị, sẽ có sẵn để tải xuống thông qua Mega. Nếu bạn gặp sự cố khi tải xuống- Hãy đọc bài viết này, vì vấn đề này sẽ không được nêu ra nữa và sẽ không ai chia tài liệu thành hàng trăm mảnh vì lợi ích của một số người dùng và tải lại chúng vào các kho lưu trữ khác. Những người dùng tiếp tục than vãn sẽ được gửi đi học các kỹ năng PC và tạm thời bị cách ly khỏi xã hội.

Vì vậy, chúng ta hãy xem tại sao chính xác là Mega? Mọi thứ rất đơn giản. Đối với chúng tôi, đây là một nơi lưu trữ thuận tiện, nơi không có giới hạn về khối lượng tài liệu tải lên, nơi có dung lượng đĩa lớn và nơi có những lời phàn nàn. Tài liệu cho người dùng được cung cấp miễn phí, vì vậy hãy tìm hiểu cách tải xuống hoặc không tải xuống chút nào. Giả sử bạn đã tìm thấy khóa học bạn muốn và nó được tải lên Mega. Trước hết, hãy đảm bảo rằng bản thân bộ nhớ đang mở cho bạn. Nếu Mega không khả dụng ở quốc gia của bạn (một số nhà cung cấp chặn lưu trữ), hãy sử dụng proxy hoặc vpn để vượt qua quy tắc chặn. Bây giờ việc đơn giản nhất còn lại - đó là tải tài liệu. Có 2 cách dễ nhất để tải xuống:

1 chiều. Phương pháp này phù hợp để tải xuống các tệp nhỏ. Sử dụng phương pháp 2 để tải xuống các tệp lớn. Cách đầu tiên- đây là sử dụng tải xuống thông qua trình duyệt thông thường. Như thực tế đã cho thấy, trình duyệt Google Chrome hoạt động tốt nhất với Mega. Do đó, chúng tôi khuyên bạn nên sử dụng nó. Cách tải xuống thông qua trình duyệt:Đầu tiên, tài liệu được tải vào bộ nhớ đệm, sau đó sau khi tải xong, bạn có thể lưu vào bất kỳ thư mục nào (nếu chưa cấu hình lựa chọn thư mục, tài liệu sẽ được lưu vào thư mục tải xuống).

Nhấn nút "Tải xuống trong trình duyệt" và đợi quá trình tải xuống hoàn tất. Không thể đóng tab!

Bạn cũng có thể sử dụng phần mềm từ Mega - MegaSync và đồng bộ hóa các tệp, nhưng chúng tôi đã không cố tải xuống phương pháp này, mặc dù một số người dùng khen ngợi phương pháp cụ thể này. Ngoài ra, theo một số người dùng, các tệp cần được nhập vào ổ đĩa đám mây của họ để tải lên thành công, nhưng nói chung điều này là không cần thiết. Sau khi tải xuống một tệp lớn thông qua trình duyệt, chúng tôi khuyên bạn nên xóa bộ nhớ cache của trình duyệt, chẳng hạn như sử dụng tiện ích CCleaner.

Phương pháp 2. Tải xuống bằng chương trình Mipony. Chương trình Mipony có thể được tải xuống từ trang web chính thức... Chúng tôi khuyên bạn nên sử dụng phương pháp này, vì chương trình rất tiện lợi và có nhiều ưu điểm, ví dụ như phần mềm hỗ trợ tải xuống tệp (như torrent) và không tạo tệp tạm thời, không giống như tải thông qua trình duyệt. Một số antivirus có thể chửi bới chương trình, nhưng không có gì sai với điều đó. Chương trình không ăn cắp bất cứ thứ gì và không độc hại. Những người hoang tưởng có thể sử dụng chương trình trong một máy ảo. Cài đặt chương trình (mọi thứ rất đơn giản) và chạy nó. Trước hết, hãy mở tab "Tùy chọn" và đảm bảo rằng không có giới hạn tốc độ.

Sau khi ra mắt dịch vụ MEGA có phần tai tiếng, các cuộc trò chuyện về tính bảo mật của nó đã tăng lên một chút và giảm dần. Ngày nay dịch vụ sống cuộc sống của chính nó và thậm chí không ai phá vỡ nó. Vì một số lý do, thuật ngữ "Mã hóa do người dùng kiểm soát" (UCE, hoặc Mật mã do người dùng kiểm soát), mà MEGA tự hào, đã bị thiếu trong tất cả các cuộc hội thoại. Bởi "mất tích", ý tôi là thực tế là chúng ta đã không đề cập đến tất cả các khả năng mà một công cụ mật mã chạy bằng JavaScript ở phía máy khách mang lại cho chúng ta.

Tất nhiên, bản thân dịch vụ MEGA có nghĩa là các khóa mã hóa không được lưu trữ trên máy chủ, mà là toàn bộ của chúng mật mã được thực hiện trong ngữ cảnh của trình duyệt. Đồng thời, sau khi ra mắt dịch vụ, đã có rất nhiều lời bàn tán về thực tế là nó sử dụng các thuật toán mật mã không ổn định và mọi thứ nói chung đều tồi tệ và tất cả chúng ta sẽ chết, và FSB sẽ đọc các tệp của chúng ta. Điều này đã thúc đẩy tôi suy nghĩ để mở rộng khái niệm "UCE" và thực sự kiểm soát mật mã, cụ thể là thay thế hoặc bổ sung một số cơ chế đảm bảo tính bảo mật của dịch vụ.

Trong bài viết này, tôi sẽ phân tích một số điều kỳ diệu xảy ra trong hai megabyte MEGA JavaScript và chỉ cho bạn cách bạn có thể ghi đè một số phương pháp để ngừng lo lắng và yêu thích mật mã. Do đó, chúng tôi sẽ nhận được một dịch vụ lưu trữ tệp đám mây với xác thực hai yếu tố và mã hóa phần cứng của thông tin quan trọng.

MEGA, UCE và tất cả-tất cả

Vì vậy, hãy bắt đầu bằng cách xem xét các công nghệ mà phần khách hàng của dịch vụ được xây dựng, cách người dùng mới được đăng ký, người dùng đã đăng ký được xác thực, thay đổi mật khẩu và tải lên / tải xuống tệp.

JavaScript

Như bạn có thể đã biết, toàn bộ phần máy khách của dịch vụ dựa trên JavaScript, mã của trang chính chứa tổng kiểm tra SHA-256 cho tất cả các tập lệnh và trang được tải bởi trình duyệt. Quá trình tải xuống diễn ra như sau: tổng kiểm tra được kiểm tra cho tất cả các tệp, sau đó chúng được kết hợp thành một BLOB, được cấp cho trình duyệt. Từ mã nguồn của tệp js, bạn có thể thấy rằng chúng được viết bởi những người khác nhau và đôi khi người ta tìm thấy những viên ngọc hài hước, chẳng hạn như hậu quả của việc sao chép-dán, các điều kiện vô nghĩa và chỉ là các biến kỳ lạ.

Trong quá trình nghiên cứu mã nguồn của trang web, tôi cũng nhận thấy rằng nó đang được cập nhật tích cực, các nhà phát triển sửa các lỗi nhỏ và tối ưu hóa mã đã viết sẵn, đó là một tin tốt. Bản thân mã được viết một cách rất đơn giản và không có quá nhiều gói dưới dạng nguyên mẫu: trang web quản lý với ba trăm biến toàn cục và hơn 8000 hàm. Rất dễ dàng để hiểu kiến ​​trúc của trang web và thay đổi mã của nó.

Từ các khuôn khổ của bên thứ ba, MEGA sử dụng jQuery (không nơi nào không có nó), Ext JS và SJCL. Cái sau chỉ thực hiện một lõi mật mã với mã hóa AES. SJCL cũng cung cấp một định dạng thú vị để lưu trữ khóa và các mảng byte khác: thay vì chỉ phát các byte trong một mảng thông thường, chúng được "nén" thành một định dạng gọi là a32. Bản chất của nó là nội dung của bất kỳ mảng byte nào được đóng gói thành các số 32 bit và được viết thành một mảng có độ dài nhỏ hơn. Có nghĩa là, cứ 4 byte của mảng được chuyển đổi thành một int banal. Mã trang web chứa các hàm thực hiện tất cả các loại biến đổi trên một tập hợp ngẫu nhiên (mảng a32, chuỗi, chuỗi base64).

Thông tin mấu chốt

Trước khi tiếp tục mô tả các quy trình đăng ký và xác thực, bạn nên xem xét thông tin được mã hóa, cụ thể là:
  • Khóa chính của tài khoản, được tạo ngẫu nhiên tại thời điểm người dùng đăng ký và có độ dài 128 bit. Về nguyên tắc, độ dài của tất cả các khóa được sử dụng để mã hóa đối xứng là 128 bit.
  • Khóa cá nhân RSA: Được tạo tại thời điểm đăng ký dựa trên chuyển động của chuột và đầu vào bàn phím. Trong bài viết này, tôi sẽ không tập trung vào mật mã không đối xứng, vì nó được sử dụng để chia sẻ các tệp đã tải xuống và nhiệm vụ của tôi là thay đổi quy trình xác thực và mã hóa dữ liệu người dùng.
  • Các khóa và tệp riêng lẻđược tải lên dịch vụ. Khóa được tạo ngẫu nhiên khi tệp được tải lên, bản thân khóa được sử dụng để mã hóa dữ liệu tệp và khóa được tạo từ khóa tệp riêng lẻ và tổng kiểm tra của nó được sử dụng để mã hóa các thuộc tính.

Gần với mã hơn

Bây giờ tôi đề xuất phân tích các quy trình đăng ký và xác thực, xem cách khóa chính được tạo ra và cách nó được mã hóa.
Ở đây, tôi đã cố gắng mô tả những quá trình này trên một tờ giấy và để cung cấp cho bạn sự hiểu biết về toàn bộ bản chất của sự điên rồ, tôi thậm chí đã chụp bức ảnh này:

Đăng Ký Người Dùng Mới

Bản thân quá trình đăng ký khá rắc rối, sau khi người dùng điền vào bảng câu hỏi, một loạt các hàm lớn được gọi, nhưng chúng tôi quan tâm đến hàm api_createuser:

// tạo một người dùng mới và hàm chính của anh ta api_createuser (ctx, invitecode, mờiname, uh) (var i; var ssc = Array (4); // session self challenge, sẽ được sử dụng để xác minh mật khẩu var req, res; if (! ctx.passwordkey) (ctx.passwordkey = Array (4); for (i = 4; i--;) ctx.passwordkey [i] = rand (0x100000000);) if (! u_k) api_create_u_k (); // tạo khóa chính ngẫu nhiên u_k cho (i = 4; i--;) ssc [i] = rand (0x100000000); // tạo chuỗi xác thực ngẫu nhiên if (d) console.log ("api_createuser - masterkey:" + u_k + "passwordkey:" + ctx.passwordkey); // mã hóa khóa chính bằng mật khẩu hiện tại và gửi nó đến máy chủ (trường k) // trường ts là sự ghép nối của ssc với giá trị được mã hóa của nó req = (a : "up", k: a32_to_base64 (encode_key (new sjcl.cipher.aes (ctx.passwordkey), u_k)), ts: base64urlencode (a32_to_str (ssc) + a32_to_str (encode_key (new sjcl.cipher.aes), ssc))); if (invitecode) (req.uh = uh; req .ic = invitecode; req.name = tên mời; ) if (d) console.log ("Khoá lưu trữ:" + req.k); api_req (, ctx); )
Trong chức năng này, chúng tôi quan tâm đến những điều sau:

  • u_k là chính khóa chính, một biến toàn cục. Một mảng 4 số 32 bit, được tạo bởi hàm api_create_uk
  • ssc chỉ là một mảng ngẫu nhiên được mã hóa trên khóa chính, được nối với giá trị công khai của nó và được gửi đến máy chủ. Sau đó, nó sẽ được sử dụng để xác minh tính đúng đắn của khóa chính trong quá trình xác thực.
  • sjcl - thư viện mật mã triển khai AES
  • rand () - triển khai cục bộ của trình tạo số giả ngẫu nhiên dựa trên RC4
  • encode_key () là hàm nền tảng của mật mã đối xứng của dịch vụ. Chấp nhận một đối tượng sjcl được khởi tạo bằng khóa và một mảng để mã hóa. Mã hàm dưới đây và hy vọng có thể tự giải thích.
// mã hóa / giải mã hàm mảng số nguyên 32-bit 4 hoặc 8 phần tử mã hóa khóa (cipher, a) (if (a.length == 4) return cipher.encrypt (a); var x =; for (var i = 0; i< a.length; i += 4) x = x.concat(cipher.encrypt(, a, a, a])); return x; }
Kết quả là sau khi đăng ký, những thông tin sau sẽ được gửi đến máy chủ:
  • Khóa chính được mã hóa trên khóa lấy từ mật khẩu tài khoản
  • Chuỗi như ssc || encode_AES-128 (u_k, ssc)

Đăng nhập người dùng

Bây giờ bạn có thể dễ dàng chuyển sang quy trình xác thực. Trong ngắn hạn, nó được thực hiện như thế này:
  1. Người dùng nhập thông tin đăng nhập / mật khẩu
  2. Nếu giai đoạn xác thực đầu tiên được thông qua, thì khóa chính được mã hóa và chuỗi xác thực (ssc) được tạo trong quá trình đăng ký sẽ được gửi từ máy chủ.
  3. Khóa chính được giải mã bằng mật khẩu do người dùng nhập
  4. Trình tự xác thực được giải mã trên khóa chính và được so sánh với giá trị công khai của nó - do đó tính đúng đắn của khóa chính và mật khẩu được kiểm tra.
Hàm gọi lại api_getsid2 chịu trách nhiệm cho tất cả những điều trên:

// giải mã khóa chính sau khi người dùng đăng nhập hàm api_getsid2 (res, ctx) (var t, k; var r = false; if (typeof res == "object") (// khởi tạo sjcl-aes bằng tài khoản hiện tại password var aes = new sjcl.cipher.aes (ctx.passwordkey); // nếu chúng tôi nhận được khóa chính trong phản hồi của máy chủ ... if (typeof res.k == "string") (k = base64_to_a32 (res. k); if (k.length == 4) (// ... sau đó giải mã nó k = decrypt_key (aes, k); // và khởi tạo lại sjcl-aes bằng khóa chính aes = new sjcl.cipher. aes (k); // nếu chúng tôi nhận được ssc từ quá trình đăng ký if (typeof res.tsid == "string") (t = base64urldecode (res.tsid); // mã hóa nửa đầu của chuỗi và so sánh với giá trị từ máy chủ // nếu chúng được khớp - có nghĩa là tất cả các tham dự và mật khẩu đều khớp và bạn có thể cho phép người dùng nhập if (a32_to_str (encode_key (aes, str_to_a32 (t.substr (0, 16))))) == t.substr (-16)) r =;) // bên dưới chúng tôi phân tích cú pháp khóa riêng tư của cặp RSA, chúng tôi chưa quan tâm đến điều này nếu (typeof res.csid == "s tring ") (var t = mpi2b (base64urldecode (res.csid)); var privk = a32_to_str (decrypt_key (aes, base64_to_a32 (res.privk))); var rsa_privk = Mảng (4); // phân rã khóa riêng cho (var i = 0; i< 4; i++) { var l = ((privk.charCodeAt(0) * 256 + privk.charCodeAt(1) + 7) >> 3) + 2; rsa_privk [i] = mpi2b (privk.substr (0, l)); if (typeof rsa_privk [i] == "number") break; privk = privk.substr (l); ) // kiểm tra định dạng if (i == 4 && privk.length< 16) { // TODO: check remaining padding for added early wrong password detection likelihood r = ; } } } } } ctx.result(ctx, r); }
Như một phần thưởng cho việc đăng ký / xác thực, bạn có thể xem quá trình thay đổi mật khẩu của mình.

// thay đổi mật khẩu của người dùng hàm changepw (currentpw, newpw, ctx) (var pw_aes = new sjcl.cipher.aes (ready_key_pw (newpw)); api_req ([(a: "up", currk: a32_to_base64 (encode_key (new sjcl) . cipher.aes (standard_key_pw (currentpw)), u_k)), k: a32_to_base64 (encode_key (pw_aes, u_k)), uh: stringhash (u_attr ["email"]. toLowerCase (), pw_aes))], ctx); )
Mã cho chức năng này tự nói lên chính nó: chúng tôi mã hóa khóa chính trên hai khóa thu được từ mật khẩu cũ và mới, sau đó gửi các giá trị này đến máy chủ. Nếu mật khẩu hiện tại xuất hiện, thì nó sẽ được thay thế bằng mật khẩu mới. Ở đây tôi muốn chú ý nhiều hơn đến hàm standard_key_pw, hàm này đã xuất hiện ngầm trong tất cả các hoạt động trước đó. Nhiệm vụ của nó là chuyển đổi mật khẩu chuỗi thành một mảng a32 và sau đó thực hiện thao tác dẫn xuất khóa như sau:

// chuyển đổi hàm mảng mật khẩu do người dùng cung cấp standard_key (a) (var i, j, r; var aes =; var pkey =; for (j = 0; j< a.length; j += 4) { key = ; for (i = 0; i < 4; i++) if (i + j < a.length) key[i] = a; aes.push(new sjcl.cipher.aes(key)); } for (r = 65536; r--;) for (j = 0; j < aes.length; j++) pkey = aes[j].encrypt(pkey); return pkey; }
Tính năng này đã nhận được rất nhiều lời chỉ trích vì nó dựa trên thuật toán homebrew. Trong quá trình viết bài này, những người tạo ra dịch vụ đã cố gắng thay đổi một chút mã của nó, nhưng tôi không nhận thấy bất kỳ thay đổi đáng kể nào ở đây. Bản chất của nó nằm ở chỗ mật khẩu được truyền đi được mã hóa 65536 lần trên một khóa không đổi để có được một khóa không thể phân biệt được với một khóa ngẫu nhiên. Tại sao những người tạo ra dịch vụ không sử dụng các thuật toán hiện có (ví dụ: PBKDF2) vẫn còn là một bí ẩn.

Tải lên và mã hóa tệp

Tóm lại, toàn bộ quá trình có thể được biểu diễn như sau:

Tôi cảnh báo bạn rằng việc nhìn sâu vào bức tranh này rất nguy hiểm cho não, vì vậy dưới đây tôi sẽ cho bạn biết tất cả những điều này xảy ra như thế nào.

Như tôi đã nói, khi tải mỗi tệp, một mảng khóa ngẫu nhiên gồm 6 số 32 bit được tạo. Bốn phần tử đầu tiên của mảng này được sử dụng để mã hóa nội dung của tệp và hai phần tử cuối cùng được sử dụng làm giá trị ban đầu của bộ đếm được sử dụng để tính tổng tổng của tệp. Mảng này được lưu trữ trong biến ul_key toàn cục. Nội dung của nó được ghi vào chuỗi ul_KeyNonce được JSON tuần tự hóa.

Quá trình mã hóa (giải mã) thực sự diễn ra bằng cách sử dụng Web Worker (nếu trình duyệt hỗ trợ công nghệ này) hoặc chỉ bên trong mã trang chính. Khi tệp đã sẵn sàng để gửi, một khóa tệp mới được tạo để mã hóa các thuộc tính của nó (hiện tại, các thuộc tính chỉ tham chiếu đến tên tệp) dựa trên khóa ul_key và tổng kiểm tra của tệp. Khóa này sau đó được mã hóa trên khóa chính và được gửi đến máy chủ cùng với các thuộc tính tệp. Các hàm initupload3 và api_completeupload2 chịu trách nhiệm cho tất cả các hành động này. Việc tạo filekey xảy ra trong hàm ul_chunkcomplete, dưới đây mình sẽ trình bày một phần về nó.

// bắt đầu tải lên tệp: tạo khóa riêng của nó và khởi tạo hàm cơ chế mã hóa initupload3 () (// ... cut =) // tạo khóa riêng ngẫu nhiên cho tệp // ul_key được sử dụng trong mã trang, / / ul_keyNonce được chuyển cho Web Worker và được sử dụng ở đó // để mã hóa tệp và tính toán tổng kiểm tra của nó ul_key = Array (6); for (i = 6; i--;) ul_key [i] = rand (0x100000000); ul_keyNonce = JSON.stringify (ul_key); ul_macs =; // ... thì hàng đợi tải xuống được xử lý, nó không quan tâm ... // khởi tạo sjcl-aes cho một tệp dựa trên ul_key ul_aes = new sjcl.cipher.aes (); // ... // bắt đầu quá trình tải tệp lên: // đọc tệp từ đĩa, mã hóa tệp và gửi đi onUploadStart (ul_queue_num); ul_dispatch_chain (); ) // tạo khóa để mã hóa thuộc tính tệp hàm ul_chunkcomplete (slot, pos, response) (// ... var t =; // ul_macs là một mảng có tổng kiểm tra tệp nhận được bên trong worker "và for (p trong ul_macs ) t .push (p); // điền và sắp xếp mảng tạm thời, nếu ai biết tại sao, vui lòng giải thích t.sort (function (a, b) (return parseInt (a) -parseInt (b))); for ( var i = 0; i< t.length; i++) t[i] = ul_macs]; // внутри condenseMacs производится зашифрование // и "уплотнение" контрольной суммы файла в массив из 4х элементов var mac = condenseMacs(t,ul_key); ul_settimeout(-1); // на основе контрольной суммы и ключа файла создается ключ для шифрования атрибутов // он же в зашифрованном виде позже будет отправлен на сервер var filekey = ; // ... } // завершение загрузки файла: зашифрование атрибутов и ключа файла и отправка их на сервер function api_completeupload2(ctx, ut) { var p; if (ctx.path && ctx.path != ctx.n && (p = ctx.path.indexOf("/")) >0) (var pc = ctx.path.substr (0, p); ctx.path = ctx.path.substr (p + 1); fm_requestfolderid (ut, pc, ctx);) else (// mã hóa tên tệp tới khóa dẫn xuất từ ​​ul_key và checksum // ctx.k == filekey a = (n: ctx.n); if (d) console.log (ctx.k); var ea = enc_attr (a, ctx.k); if (d) console.log (ea); // chuyển thuộc tính và khóa tệp được mã hóa trên khóa chính var req = (a: "p", t: ut, n: [(h: ctx.t, t: 0, a: ab_to_base64 (ea), // thuộc tính k: a32_to_base64 (encode_key (u_k_aes, ctx.k)), // == AES_encrypt (u_k, filekey) fa: ctx.fa)]); if (ut) ( // một mục tiêu đã được cung cấp: mã hóa cho tất cả các chia sẻ có liên quan var sn = fm_getsharenodes (ut); if (sn.length) (req.cr = crypto_makecr (, sn, false); req.cr = ctx.t;)) api_req (, ctx.ctx);))

Tải xuống và giải mã tệp

Rõ ràng, các quá trình này chỉ là mặt trái của việc mã hóa tệp. Điều duy nhất có thể được quan tâm là nhận giá trị của khóa ul_key từ giá trị khóa tệp được mã hóa đến từ máy chủ.

Tại thời điểm tệp được tải xuống, ngữ cảnh trình duyệt đã chứa một đối tượng lưu trữ các khóa tệp được giải mã. Do đó, lúc đầu nên xem xét quá trình xảy ra ngay sau khi xác thực người dùng, cụ thể là tải trình quản lý tệp. Sau khi người dùng được phép sử dụng dịch vụ, anh ta đương nhiên muốn có quyền truy cập vào các tệp của mình (giả sử rằng anh ta đã có chúng ở đó). Để làm điều này, trước tiên chúng ta cần giải mã các khóa tệp, sau đó là các thuộc tính của chúng. Hoạt động kinh doanh này được xử lý bởi một loạt các hàm khác, trong đó chúng tôi quan tâm đến loadfm_callback và process_f_f.

Tóm lại, quá trình lấy thuộc tính tệp có thể được mô tả bằng thuật toán sau:

  1. Chờ trình quản lý tệp tải (loadfm_callback), nơi lấy JSON với mô tả của tất cả các tệp đã tải lên
  2. Tạo một Farray mảng, để đặt một mảng với thông tin về tệp
  3. Chạy (đệ quy) hàm process_f_f cho mỗi tệp
  4. Đối với mỗi tệp có khóa, hãy giải mã khóa và thuộc tính này (hàm crypto_processkey) và lưu chúng trở lại một mảng với thông tin tệp
  5. Sau đó, lưu các giá trị đã giải mã vào biến FileStore (kết thúc đệ quy trong process_f_f)
Dưới đây tôi sẽ cung cấp các đoạn trích từ đoạn mã minh họa thuật toán này.

// gọi lại để tải hàm quản lý tệp loadfm_callback (json, res) (// ... // xử lý JSON với thông tin về tệp json = json; if (d) console.log (json); if (d) console. log (json); if (json.u) process_u (json.u, false); if (json.ok) process_ok (json.ok); if (json.s) (for (i in json.s) (if (u_sharekeys.h]) (sharingData.push ((id: json.s [i] .h + "_" + json.s [i] .u, userid: json.s [i] .u, folderid: json . s [i] .h, rights: json.s [i] .r, date: json.s [i] .ts)); sharednodes.h] = true;))) // ... không có gì đặc biệt. .. // nhập thông tin về tệp vào một mảng toàn cục khác farray = new Object; farray.f = json.f; // bắt đầu xử lý, lệnh gọi lại đã được khai báo ở trên // trong hàm này và chỉ cần sửa đổi bố cục process_f (fi , false, callback); fi ++;) // hàm đệ quy, trong đó xảy ra giải mã các khóa và thuộc tính tệp // được gọi từ hàm process_f process_f_f (fid) (// điều kiện kết thúc đệ quy - chúng tôi đã xử lý tất cả các tệp trong mảng fa rray if (! farray.f.i]) (if (farray.ap) FileStore.suspendEvents (); // ghi dữ liệu vào FileStore FileStore.loadData (farray.mdata, true); if (farray.ap) FileStore.resumeEvents (); if (d) console.log ("gọi reqmissingkeys:"); crypto_reqmissingkeys (); if (farray.callback) farray.callback.fn (farray.callback); trả về sai; ) var f = farray.f.i]; f.attrs = f.a; if (f.sk) u_sharekeys = crypto_process_sharekey (f.h, f.sk); // nếu tệp khớp với loại và có khóa, thì hãy xử lý tệp đó nếu ((ft! == 2) && (ft! == 3) && (ft! == 4) && (fk)) (crypto_processkey (u_handle , u_k_aes, f); // mô tả của hàm này bên dưới u_nodekeys = f.key; if ((typeof f.name! == "undefined") && (fp == InboxID)) InboxCount ++;) else ( if (fa) (if (! misskeys) (missingkeys = true; newmissingkeys = true;)) fk = ""; f.name = "";) if (ft == 2) RootID = fh; else if (f.t == 3) InboxID = f.h; else if (f.t == 4) TrashbinID = f.h; else if ((f.t< 2) || (f.t == 5)) { // тут идет обработка расшаренных файлов } else { // подготовка массива для записи в FileStore farray.mdata.push({ id: f.h.replace(/[^a-z^A-Z^0-9^_^-]/g, ""), name: f.name, size: f.s, type: filetype(f.name, f.t), icon: fileicon(f.name, icontype), parentid: f.p, folder: f.t, owner: f.u, date: f.ts, attrs: f.attrs, key: f.key, r: f.r, su: f.su, fa: f.fa, }); if (f.p == TrashbinID) trashbinfull = true; if (((f.t) && (farray.ap)) || (f.p == InboxID)) refreshtree = true; } farray.i++; // проверка таймаута (видимо, чтобы загрузка файл-менеджера не выглядела слишком долгой) timeoutcount++; if (!(timeoutcount & 63)) { // если у нас больше 63 файлов - дальше грузим их асинхронно setTimeout("process_f_f(" + fid + ")", 1); timeoutcount2++; } // иначе - запускаем обработку следующего файла else process_f_f(fid); } // обработка ключа файла и его атрибутов function crypto_processkey(me, master_aes, file) { var id, key, k, n; if (!file.k) { if (!keycache) return; file.k = keycache; } id = me; // do I own the file? (user key is guaranteed to be first in .k) // ключ записан в виде ":/"var p = file.k.indexOf (id +": "); // trước tiên hãy kiểm tra xem tệp có được chia sẻ không if (p) (// I don" t - tôi có mã chia sẻ phù hợp không? for (id trong u_sharekeys ) (p = file.k.indexOf (id + ":"); if (p> = 0 && (! p || file.k.charAt (p - 1) == "/")) break; p = -1;)) // và sau đó chúng ta có thể tiến hành giải mã if (p> = 0) (xóa keycache; // gạch chéo - rõ ràng là dấu của quả bóng var pp = file.k.indexOf ("/", p); nếu (pp< 0) pp = file.k.length; p += id.length + 1; key = file.k.substr(p, pp - p); // we have found a suitable key: decrypt! if (key.length < 46) { // short keys: AES k = base64_to_a32(key); // check for permitted key lengths (4 == folder, 8 == file) if (k.length == 4 || k.length == 8) { // ключ расшифровывается либо на мастер-ключе, либо на общем ключе шары k = decrypt_key(id == me ? master_aes: new sjcl.cipher.aes(u_sharekeys), k); } else { if (d) console.log("Received invalid key length (" + k.length + "): " + file.h); return; } } else { // long keys: RSA if (u_privk) { var t = mpi2b(base64urldecode(key)); if (t) k = str_to_a32(crypto_rsadecrypt(t, u_privk).substr(0, file.t ? 16: 32)); else { if (d) console.log("Corrupt key for node " + file.h); return; } } else { if (d) console.log("Received RSA key, but have no public key published: " + file.h); return; } } // декодируем атрибуты файла var ab = base64_to_ab(file.a); // и расшифровываем их с помощью только что полученного ключа var o = dec_attr(ab, k); if (typeof o == "object") { if (typeof o.n == "string") { if (file.h) { u_nodekeys = k; if (key.length >= 46) rsa2aes = a32_to_str (mã hóa khóa (u_k_aes, k)); ) // nếu chúng ta đã giải mã đúng khóa và các thuộc tính, hãy lưu chúng vào tệp đối tượng tệp file.key = k; file.name = o.n; ))) else (if (d) console.log ("Không nhận được khóa phù hợp:" + file.h); if (! missingkeys) (newmissingkeys = true; misskeys = true;) keycache = file.k;))
Sau đó, chúng ta có thể lấy giá trị của ul_key ban đầu từ ngữ cảnh trình duyệt như sau: dl_keyNonce = JSON.stringify ();
Việc chuyển đổi này diễn ra trong hàm startdownload. Nếu chúng tôi xem xét rằng giá trị tệp khóa dl_key == từ hàm ul_chunkcomplete và thực hiện một số thao tác cộng modulo đơn giản, chúng tôi sẽ nhận thấy rằng biến dl_keyNonce sẽ lưu trữ giá trị ul_key được tạo khi tệp được tải. Hình minh họa về điều này có thể được nhìn thấy ở góc dưới bên trái của bảng trắng trong ảnh ở đầu phần tải tệp lên.

Quá tải các hoạt động mật mã

Mặc dù thực tế là các nguyên tắc bảo vệ tệp và khóa ở trên rất an toàn, một số người có thể không thích rằng chúng tôi vẫn phụ thuộc vào việc triển khai các thuật toán mà dịch vụ cung cấp. Trong trường hợp này, chúng tôi có thể phát triển tiện ích mở rộng trình duyệt của riêng mình, tiện ích mở rộng này sẽ ghi đè một số chức năng của dịch vụ, triển khai mã hóa bổ sung trong chúng. Cụ thể, tôi quyết định triển khai bảo vệ thông tin khóa (khóa chính và khóa tệp) bằng cách sử dụng mã hóa phần cứng trên khóa không thể truy xuất bằng thuật toán GOST 28147-89. Phần thưởng cho điều này cũng sẽ là bao gồm xác thực hai yếu tố trên dịch vụ.
Vì vậy, hãy xem xét trường hợp sử dụng này:
  • Người dùng đăng ký dịch vụ
  • Sau đó, nó cài đặt tiện ích mở rộng
  • Với sự trợ giúp của nó, mã hóa phần cứng của khóa chính được thực hiện trên khóa không thể truy xuất được từ mã thông báo.
  • Khóa chính được mã hóa theo cách này được tải lên máy chủ
Sau đó, sẽ không thể nhận được giá trị của khóa chính nếu không có mã thông báo và mã PIN của nó. Điều này sẽ cung cấp cho:
  1. Xác thực hai yếu tố trên dịch vụ (không có khóa chính được giải mã chính xác, hàm api_getsid2 sẽ không thành công)
  2. Nếu không có mã thông báo, bạn cũng sẽ không thể thay đổi mật khẩu tài khoản hiện tại.
Bước tiếp theo là mã hóa khóa mã hóa tệp (hay còn gọi là ul_key) và khóa thuộc tính tệp (khóa tệp), được lưu trữ trên máy chủ, sử dụng mã thông báo. Do đó, chúng ta sẽ nhận được rằng mỗi tệp sẽ được mã hóa bằng một khóa sẽ không bao giờ đến được máy chủ, nơi mà khóa tệp mà chúng ta đã mã hóa từ hàm api_completeupload2 sẽ đi đến. Thuộc tính tệp sẽ được mã hóa trên giá trị khóa tệp đang mở. Để rõ ràng, tôi đã phác thảo sơ đồ sau minh họa quá trình tải xuống tệp:

Tôi muốn chỉ ra rằng tôi đã sử dụng một phương pháp rất phức tạp ở đây. Trong trường hợp này, điều quan trọng đối với chúng tôi là kẻ tấn công không thể giải mã tệp, ngay cả khi hắn chặn khóa tệp đến từ máy chủ và biết khóa chính của người dùng. Do đó, tại đây bạn có thể sử dụng các tính năng của kiến ​​trúc dịch vụ và sử dụng giá trị khóa ul_keyNonce (hay còn gọi là dl_keyNonce), thu được do mã hóa giá trị khóa ul_key (hoặc dl_key) trên mã thông báo, cho các tệp mã hóa (dec).

Kể từ khi viết những bài báo này, sản phẩm của chúng tôi đã thêm khả năng mã hóa phần cứng bằng thuật toán GOST 28147-89. Có thể tải xuống phiên bản beta của plugin có chức năng mã hóa phần cứng theo thuật toán GOST 28147-89. Phiên bản plugin này vẫn chưa vượt qua quá trình kiểm tra đầy đủ, vì vậy tôi cảnh báo bạn rằng có thể có lỗi trong đó, tôi yêu cầu bạn báo cáo trong thư cá nhân.
Trong giao diện plugin, mã hóa đối xứng được thực hiện bởi hàm mã hóa, có cú pháp sau:
mã hóa (deviceId, keyLabel, data, resultCallback, errorCallback) → (chuỗi)
Hàm nhận làm đầu vào:

  • Mã định danh thiết bị, số
  • Nhãn khóa để mã hóa, số (nếu không có khóa như vậy, nó sẽ được tạo)
  • Dữ liệu được mã hóa, chuỗi (chuỗi chứa một mảng byte như "aa: bb: cc: dd")
  • Các chức năng gọi lại cho hoạt động mã hóa thành công và không thành công
Giải mã được thực hiện theo cách tương tự bằng cách sử dụng chức năng giải mã
Cần đặc biệt chú ý đến nhãn khóa, vì nó xác định khóa nào sẽ được sử dụng để mã hóa dữ liệu (giải mã). Nhãn là một chuỗi tùy ý và chủ yếu được sử dụng để dễ dàng xác định khóa. Trong trường hợp này, tôi sử dụng hai cặp khóa: một để (dec) mã hóa khóa chính và cặp còn lại để mã hóa các khóa riêng lẻ của tệp. Khóa mà khóa chính được mã hóa có nhãn tương đương với mật khẩu của người dùng (bây giờ tôi có ý tưởng sử dụng hàm băm từ chuỗi mật khẩu e-mail ||, tôi sẽ sửa nó trong tương lai gần). Để mã hóa khóa của các tệp được tải lên, một khóa có nhãn bằng với biểu diễn chuỗi của khóa chính được sử dụng (ở đây bạn cũng nên sử dụng hàm băm từ khóa chính).

Trực tiếp phát triển

Tôi chỉ muốn đưa ra nhận xét về mã nguồn của tôi: trên thực tế, nó là phiên bản alpha, mặc dù nó thực hiện chức năng được mô tả ở trên. Tôi đã không kiểm tra mức độ tương thích của công việc làm lại của mình với các chức năng còn lại của dịch vụ, vì vậy tôi đã đăng tất cả các nguồn trên github và rất vui khi nhận được bất kỳ trợ giúp nào về việc cải thiện hệ thống này. Vì vậy, tôi sẽ không làm lộn xộn bài viết thêm với danh sách khổng lồ, mà chỉ mô tả sơ đồ chung về công việc của phần mở rộng.

Phần mở rộng đã hoàn thành có thể được tải xuống. Nó được phát triển bằng cách sử dụng dịch vụ Crossrider, cung cấp các tiện ích mở rộng cho ba trình duyệt (Chrome, Firefox và IE), nhưng tốt hơn là bạn nên kiểm tra hoạt động của nó trong Chrome hoặc Firefox, và trong lần đầu tiên, nó hoạt động ổn định hơn nhiều.

Mã tiện ích mở rộng rất đơn giản: nó kiểm tra xem chúng ta có đang ở trên trang dịch vụ hay không và nếu có, nó chỉ tải các tập lệnh bổ sung. Các tập lệnh này sửa đổi mã trang bằng cách thêm một vài hộp thoại và ghi đè các chức năng dịch vụ sau:

  • changepw: chịu trách nhiệm thay đổi mật khẩu
  • api_getsid2: một trong các lệnh gọi lại đăng nhập
  • api_completeupload2: callback để hoàn tất quá trình tải lên tệp
  • loadfm_callback: gọi lại để tải trình quản lý tệp
  • processpacket: một lệnh gọi lại khác giải mã các thuộc tính của tệp mới được tải
  • parsepage: chịu trách nhiệm vẽ thêm các hộp thoại
  • dologin: Mở rộng khả năng xác thực
  • initupload3: chịu trách nhiệm tạo khóa mã hóa tệp
  • startdownload: đảo ngược phân tích cú pháp khóa tệp và khởi tạo tải xuống
Một lần nữa, tôi muốn cảnh báo bạn rằng bạn không nên kéo tiện ích mở rộng vào tài khoản công việc (nếu có ai ở đây sử dụng dịch vụ này), mà hãy bắt đầu thử nghiệm. Để sử dụng tiện ích mở rộng sau khi cài đặt, bạn sẽ cần:
  1. Để bắt đầu, bạn nên tải Rutoken EDS (hoặc Rutoken Web) và cài đặt plugin trình duyệt
  2. Cài đặt tiện ích mở rộng
  3. Đăng nhập vào dịch vụ khi tiện ích mở rộng bị tắt
  4. Bật tiện ích mở rộng trình duyệt
  5. Đi đến trang tài khoản
  6. Nhấp vào nút "Mã thông báo ràng buộc"
  7. Nhập mật khẩu hiện tại và thực hiện thao tác này
Thay vì tiện ích mở rộng, bạn có thể sử dụng bookmarklet sau (được thử nghiệm trong Chrome, Safari, Firefox): javascript: (function () (if (document.getElementById ("cryptorutokenjs")) (alert ("Plugin đã được cài đặt"); return) function loadRemoteScript (url) (var script = document.createElement ("script"); script.type = "text / javascript"; script.src = url; document.head.appendChild (script)) function loadRemoteStyle (url) (var style = document. createElement ("link"); style.rel = "stylesheet"; style.type = "text / css"; style.href = url; document.head.appendChild (style)) loadRemoteStyle ("https : // mega-crypto .googlecode.com / git / mega.css "); loadRemoteScript (" https://mega-crypto.googlecode.com/git/util.js "); loadRemoteScript (" https: // mega -crypto.googlecode.com /git/rutoken-extra.js");loadRemoteScript("https://mega-crypto.googlecode.com/git/rutoken-crypto.js");loadRemoteScript("https://mega -crypto.googlecode.com /git/mega.js "))) ();

Trình diễn công việc

Đầu tiên, hãy kết nối sáng tạo của chúng tôi với trang web. Đối với điều này:

Sau đó, bạn có thể đăng xuất khỏi dịch vụ và thử đăng nhập lại bằng xác thực hai yếu tố:

Trong trường hợp này, xác thực xảy ra theo sơ đồ sau:

  1. Kiểm tra cặp mật khẩu đăng nhập trên máy chủ
  2. Nếu mật khẩu đăng nhập chính xác, thì khóa chính được mã hóa đến từ máy chủ
  3. Plugin yêu cầu mã PIN cho mã thông báo
  4. Nếu mã PIN được nhập chính xác, thì khóa chính trên khóa sẽ được giải mã từ mã thông báo

Thay cho một kết luận

Ở đây tôi chỉ muốn viết "được tiếp tục ...", vì tôi đã không trình bày chi tiết về việc tạo tiện ích mở rộng và sự thú vị của việc vặn các hàm mã hóa không đồng bộ vào một dịch vụ mà trong hầu hết các trường hợp đều sử dụng các lệnh gọi đồng bộ. Ở cuối bài viết này, tôi muốn xem lại ý tưởng triển khai mật mã phía máy khách.
Cách tiếp cận để triển khai các chức năng mật mã bổ sung ở phía máy khách có thể được áp dụng cho bất kỳ dịch vụ web nào không quan tâm đến những gì nó lưu trữ trên máy chủ của nó: có thể là lưu trữ tệp, thư hoặc một cuộc trò chuyện đơn giản. Ví dụ: bạn có thể triển khai thư bảo mật dựa trên bất kỳ dịch vụ thư nào bằng cách sử dụng mã hóa thư ở định dạng CMS và cơ chế trao đổi khóa bằng thuật toán VKO GOST R 34.10-2001.
Cảm ơn bạn đã chú ý, tôi hoan nghênh các câu hỏi và nhận xét của bạn. Javascript Thêm thẻ

Tôi chắc chắn rằng tất cả người dùng Internet đang hoạt động đều đã nghe về lịch sử đóng cửa tệp lưu trữ Megaupload phổ biến và những sai lầm của người tạo ra nó. Và chắc hẳn họ đã biết về dự án mới của Kim Dotcom mang tên Siêu cấp... Hãy để chúng tôi nhắc bạn rằng dịch vụ này là sự tái sinh của sáng tạo trước đây của Kim, nhưng trên một nền tảng hoàn toàn khác.

Khi tạo nó, tất cả các thiếu sót và lỗi của Megaupload đã được tính đến và chủ yếu tập trung vào tính ổn định của dịch vụ lưu trữ tệp. Và không chỉ đối với tải mạng, mà còn đối với các cuộc tấn công của chủ sở hữu bản quyền. Đối với điều này, sự chú ý lớn được chú ý đến tính bảo mật và an toàn của dữ liệu của bạn. Tất cả các tệp do bạn tải lên đều được mã hóa bằng một thuật toán đặc biệt, vì vậy ban quản trị dịch vụ không có ý kiến ​​về nội dung tài khoản của bạn và do đó, không thể chịu trách nhiệm về nó. Với cùng một mục đích, các máy chủ Mega được đặt ở các quốc gia khác nhau, vì vậy nếu có vấn đề với luật pháp ở một quốc gia, điều này sẽ không dẫn đến sự cố sập toàn bộ dịch vụ và dữ liệu của bạn sẽ vẫn còn nguyên vẹn.

Hôm nay chúng tôi muốn bạn làm quen với công việc của dịch vụ này và cung cấp cho bạn một chuyến tham quan ảnh chụp màn hình ngắn về các chức năng của nó.

Để bắt đầu, bạn cần đăng ký. Để thực hiện việc này, bạn cần cung cấp tên, địa chỉ gửi thư và mật khẩu của mình. Dịch vụ được Nga hóa hoàn hảo và được thiết kế tốt.

Sau khi đăng ký xong, bạn sẽ được gửi một liên kết đăng nhập đến địa chỉ email được chỉ định của bạn. Bằng cách nhấp vào liên kết, bạn sẽ phải đợi vài phút cho đến khi các khóa bí mật đặc biệt được tạo cho bạn, dữ liệu sẽ được mã hóa.

Chúng tôi tham gia vào bộ nhớ đám mây của mình. Mọi thứ đều rõ ràng và đơn giản ở đây: bên trái là cây thư mục, ở trung tâm là khu vực hiển thị tệp và trên cùng là thanh công cụ. Các tệp có thể được tải lên bằng cách nhấp vào nút Tải lên mới hoặc chỉ cần kéo và thả vào cửa sổ dịch vụ. Tải xuống cực kỳ nhanh chóng.

Các tệp có thể được sắp xếp thành các thư mục. Di chuyển tệp giữa các thư mục được thực hiện bằng cách kéo và thả hoặc sử dụng menu ngữ cảnh (xem bên dưới). Mức độ lồng vào nhau của các thư mục không bị giới hạn.

Trong cửa sổ bật lên xuất hiện, một liên kết được tạo để tải xuống tệp.
Hãy chú ý đến các tùy chọn ở đầu cửa sổ này. giá như Liên kết đến tệp, thì người nhận của bạn sẽ không thể tải xuống tệp nếu không nhập mật khẩu đặc biệt mà bạn có thể gửi riêng cho họ qua e-mail. Bằng cách này, bạn có thể xuất bản các liên kết tải xuống ở những nơi công cộng, chẳng hạn như blog hoặc diễn đàn, nhưng chỉ cho phép một số cá nhân tải xuống.
Nếu được đánh dấu bổ sung Khóa tệp, sau đó bất kỳ ai cũng có thể tải xuống tệp bằng liên kết đã tạo. Hộp kiểm TênKích thước tập tin thêm các đặc điểm tệp thích hợp.

Menu ngữ cảnh của thư mục hơi khác một chút. Có một mặt hàng ở đây Quyền truy cập được chia sẻ... Với nó, bạn có thể mời đồng nghiệp, bạn bè hoặc gia đình của mình chia sẻ. Lời mời được gửi qua e-mail và quyền truy cập có thể khác nhau. Chỉ đọc - chỉ xem, Đọc viết- xem và tải các tệp của bạn lên một thư mục, Toàn quyền truy cập- xem, tải xuống và xóa các tập tin.

Trong chuong Tài khoản bạn có thể xem toàn bộ dung lượng lưu trữ của mình, mua thêm dung lượng, thay đổi cài đặt truyền dữ liệu và một số tùy chọn khác.

Một số ấn tượng cá nhân

Dịch vụ chia sẻ tệp Siêu cấp tạo ra một ấn tượng lớn. Tốc độ tuyệt vời, giao diện rõ ràng và dễ chịu, 50 gigabyte dung lượng ổ đĩa, không hạn chế lưu lượng và kích thước tệp tải lên, cùng với dữ liệu của bạn hoàn toàn miễn phí và riêng tư. Nó chỉ là một số loại kỳ nghỉ!

Các khả năng của dịch vụ Mega có thể được sử dụng cho nhiều mục đích khác nhau. Trước hết, đây là sự phổ biến của nhiều loại thông tin khác nhau, điều này sẽ khiến những tên cướp biển của tất cả các lục địa vô cùng thích thú. Tuy nhiên, khả năng bị hạn chế truy cập bằng mật khẩu cũng có thể hữu ích cho việc bán hợp pháp các tác phẩm của họ, chẳng hạn như của các nhạc sĩ. Chia sẻ thư mục làm cho Mega trở thành một công cụ thú vị để tổ chức công việc từ xa. Và tất nhiên, một bản sao lưu thông tin quan trọng đối với bạn.

Điều duy nhất mà Mega còn thiếu ở giai đoạn này là máy tính để bàn và máy khách di động cho các hệ điều hành khác nhau. Xét đến độ tuổi non trẻ của dịch vụ, người ta có thể hy vọng rằng các nhà phát triển chỉ đơn giản là chưa có thời gian và một khách hàng như vậy sẽ sớm xuất hiện. Sau đó, tôi không thấy trở ngại nào để Mega trở thành tiêu chuẩn mới cho lưu trữ đám mây.

Đối với một người dùng Internet thông thường, hiện tại không khó để tìm và sử dụng một dịch vụ đám mây chia sẻ tệp miễn phí - có rất nhiều trong số đó. Như họ nói, cho mọi hương vị và màu sắc.

Dịch vụ chia sẻ tệp mới MEGA cũng sẽ không ngoại lệ. Bạn đã nghe nói về MEGA chưa? MEGA là một dịch vụ lưu trữ tệp trực tuyến mới được tạo ra bởi doanh nhân nổi tiếng Tim Dotcom. Dịch vụ trước đây của anh ấy - Megaupload.com - đóng cửa do áp lực nghiêm trọng từ các nhà vận động hành lang chống vi phạm bản quyền. Tuy nhiên, Tim đã được trả tự do, và anh ấy đã tiếp nhận cái cũ và tạo ra một dịch vụ mới để lưu trữ tệp cho người dùng. Thậm chí còn mát mẻ và thú vị hơn. Và mặc dù dự án vẫn còn chưa thành công, nhưng rõ ràng là nó có tương lai, kể từ khi chia sẻ tệp trước đây Megaupload.com có rất nhiều người hâm mộ.

Với kinh nghiệm cay đắng của mình, Tim Dotcom đã đi đến kết luận rằng tất cả các tệp được lưu trữ và tải lên dịch vụ cần phải được mã hóa. Điều này sẽ tăng tính bảo mật cho việc sử dụng lưu trữ đám mây của người dùng và tránh việc thông tin cá nhân bị “ăn chặn”. Ở đây trong video này, Kim chia sẻ quan điểm của mình về mã hóa thông tin và hơn thế nữa.

Hãy quay lại dịch vụ lưu trữ tệp MEGA.

Không khó để xác minh rằng dịch vụ được bảo vệ bằng kết nối được mã hóa. Nếu bạn nhìn vào thanh địa chỉ của trình duyệt (trong trường hợp này là trình duyệt Google Chrome), thì nó cho biết rằng kết nối đã được thiết lập bằng giao thức https: // an toàn. Chữ s có nghĩa là chắc chắn(an toàn).

Trước đây, một con chip như vậy chỉ được sử dụng bởi các hệ thống thanh toán và các trang web mà bạn cần nhập dữ liệu thanh toán. Bây giờ ngay cả các công cụ tìm kiếm như Google cũng sử dụng nó.

Hy vọng bạn thấy nó thú vị bây giờ. Vì vậy, hãy đăng ký tại MEGA và tìm hiểu những gì và làm thế nào nó hoạt động ở đó.

Tôi đã đăng ký trong những ngày đầu tiên sau khi mở dịch vụ. Sau đó, nó vẫn rất lỗi, nhưng bất chấp điều này, tôi đã tải xuống được một số tệp.

Điều đáng chú ý là dịch vụ hỗ trợ một số ngôn ngữ (bao gồm cả tiếng Nga). Đây là một điểm cộng nhất định của dự án.

Để đăng ký, bạn cần vào trang web của MEGA và tìm nút " đăng ký Tạo một tài khoản mới - chỉ định tên (bạn có thể đặt bất kỳ biệt hiệu nào), e-mail và mật khẩu của bạn.

Chúng tôi đánh dấu vào hộp kiểm "" và nhấn nút "Đăng ký". Một lá thư sẽ được gửi đến địa chỉ e-mail bưu điện ngay sau khi đăng ký. Trong nội dung của bức thư, bạn cần tìm một liên kết và làm theo nó. Đây sẽ là xác nhận đăng ký. Đó, trên thực tế, là tất cả. Đăng ký đã hoàn tất.

Chúng tôi đi vào tài khoản bằng cách chỉ định đống e-mail và mật khẩu. Bây giờ chúng ta hãy tạo một thư mục mới. Chúng tôi sẽ làm điều này để không bị nhầm lẫn, vì trong tương lai có thể có rất nhiều tệp. Tìm biểu tượng đám mây màu đỏ trong trình quản lý tệp và nhấp chuột phải. Một menu thả xuống sẽ xuất hiện. Nó đây.

Hãy đặt tên cho thư mục mới “ Sách". Chúng tôi sẽ đặt những cuốn sách điện tử mà chúng tôi thích ở đó :).

Chúng tôi nhấn nút tạo. Quan sát rằng một thư mục "Sách" mới đã xuất hiện trong trình quản lý tệp.

Ngoài thực tế là chúng ta có thể tạo một thư mục, chúng ta có thể xóa một thư mục hiện có. Điều này cũng dễ thực hiện. Chúng tôi cần chỉ định thư mục mà chúng tôi không cần nữa, và bằng cách nhấp chuột phải vào nó, hãy chọn mục " Xóa bỏ Mọi thứ đều trực quan.

Nhìn chung, giao diện rất giống với hệ điều hành. Tại đây bạn cũng có thể tạo một thư mục, đổi tên, di chuyển hoặc sao chép nó. Điều tương tự cũng có thể được thực hiện với các tệp thông thường. Hãy thử nó cho mình và bạn sẽ nhanh chóng tìm ra nó.

Ngoài ra còn có một thư mục đặc biệt - " Cái rổ". Vâng, vâng, đây là cùng một giỏ trong đó các tệp và thư mục đã xóa tích lũy. Cũng giống như trong hệ điều hành. Và điều này thật tuyệt, vì bạn có thể xóa nhầm một tập tin và tiếc nuối một cách cay đắng. Các tệp sẽ được xóa ngay lập tức trước tiên vào "Thùng rác" và chúng có thể được khôi phục nếu muốn. Điều này được thực hiện bằng một lệnh di chuyển hoặc sao chép đơn giản.

Rõ ràng, giỏ chỉ được làm sạch một cách cưỡng bức thông qua vật phẩm " Dọn sạch thùng rác". Nghĩa là, các tệp đã xóa được lưu trữ cho đến khi bạn xóa chúng hoàn toàn và không thể thu hồi.

Được rồi, bị phân tâm. Hãy thử tải tệp lên thư mục "Sách" mà chúng tôi đã tạo. Đối với một mẫu. Nhấp vào thư mục "Sách" trong " Quản lý tập tin". Tiếp theo, nhấp vào nút "Tải lên tệp" nằm ở menu trên cùng.

Một cửa sổ lựa chọn tập tin xuất hiện, chọn, nhấp vào "Mở".

Ở cuối trang, bạn có thể thấy tiến trình tải tệp lên.

Nếu trạng thái cho biết “ chưa giải quyết ...", Có nghĩa là tệp đã được xếp hàng đợi và đang chờ tải xuống. Điều này xảy ra nếu một số tệp hoặc một thư mục có tệp được tải lên. Không đóng cửa sổ trình duyệt của bạn. Ngay sau khi hàng đợi tải xuống đến tệp có trạng thái "đang chờ xử lý", quá trình tải xuống sẽ bắt đầu và có thể được theo dõi.

Ngoài việc tải xuống các tệp riêng lẻ, bạn có thể tải xuống toàn bộ thư mục có tệp. Để thực hiện việc này, hãy nhấn nút "Tải lên thư mục" và trong cửa sổ "Duyệt qua các thư mục", chọn mục mong muốn, nhấn OK. Sau khi xác nhận lựa chọn, quá trình tải xuống sẽ bắt đầu.

Ở đây, cần cảnh báo rằng việc tải xuống toàn bộ thư mục với nhiều tệp có thể mất nhiều giờ. Thời gian tải xuống phụ thuộc vào tải của chính dịch vụ MEGA và băng thông của kết nối Internet.

Bây giờ chúng ta hãy nói về cách bạn có thể lấy một liên kết đến một tệp và chuyển nó sang một tệp khác. Đây là một dịch vụ chia sẻ tệp.

Nếu bạn nhìn vào danh sách các tệp, bạn có thể thấy rằng có một biểu tượng như vậy bên cạnh tên của mỗi tệp. Khi bạn nhấp vào nó, một cửa sổ lấy liên kết đến tệp sẽ xuất hiện (" Liên kết»).

Nó không đơn giản với các liên kết. Như đã đề cập, tất cả các tệp đều được mã hóa và truyền qua mạng một cách an toàn. Trong cửa sổ lấy liên kết đến một tệp, có một số hộp kiểm (cửa sổ nơi chúng xóa hoặc đánh dấu). Tùy thuộc vào hộp kiểm nào chúng tôi chọn, nó sẽ phụ thuộc vào liên kết nào chúng tôi nhận được.

    Nếu bạn kiểm tra nó, thì chỉ có một liên kết đến tệp sẽ xuất hiện trong cửa sổ. Nhưng không thể tải xuống tệp từ liên kết này. Chúng tôi cần một chìa khóa cho tệp. Nó sẽ được hiển thị nếu bạn chọn hộp kiểm khóa tệp.

    Khóa tệp... Đây là sự kết hợp nhất định của các ký hiệu cung cấp quyền truy cập vào tệp khi tải xuống. Người nhận tệp cần phải nhập tệp vào trường đặc biệt trên trang tải xuống.

    Tên tệp... Chọn hộp nếu bạn muốn tên tệp được chỉ định trong liên kết. Tương tự đối với hộp kiểm " Kích thước tập tin". Bạn có thể chỉ định, nhưng bạn không thể. Ở đây tùy ý bạn :)

Hãy xem điều gì sẽ xảy ra nếu bạn chỉ xác định "" và "" + "trong các tham số liên kết. Khóa tệp". Tùy chọn " Tên tệp" và " Kích thước tập tin»Chúng tôi sẽ không chỉ ra, vì chúng không ảnh hưởng đặc biệt đến bất cứ điều gì, nhưng hoàn toàn là thông tin.

Tiếp theo, mở tab trình duyệt mới và sao chép văn bản của liên kết kết quả vào thanh địa chỉ. Trong trường hợp này, bạn có thể sử dụng kết hợp các phím nóng CTRL + V... Sự kết hợp này chịu trách nhiệm dán văn bản đã sao chép vào khay nhớ tạm. Theo liên kết và xem trang tải xuống. Trang được thiết kế rất độc đáo. Ở khu vực trung tâm của trang, chúng ta sẽ thấy thông báo sau.

Giáo sư! Ở đây họ hỏi chúng tôi một số khóa giải mã... Bạn chỉ có thể tải về khóa của tập tin để tải xuống. Đây là chìa khóa mà chúng tôi được mời nhận trong cửa sổ nhận liên kết.

Vì vậy, chúng tôi sẽ lấy nó và chèn nó vào trường với dòng chữ “ Nhập khóa giải mã". Đừng quên đánh dấu vào ô bên cạnh dòng chữ “ Tôi đồng ý với các điều khoản dịch vụ của MEGA».

Chúng tôi nhấn nút " Tải xuống"và đợi tệp tải xuống.

Như bạn có thể thấy, tốc độ tải xuống của tệp là 864,5 kbps. , rất nhiều thậm chí là rất nhiều.

Nhưng những người không thích đóng vai điệp viên thì sao? Trong trường hợp này, khi nhận được một liên kết đến một tệp, hãy đánh dấu vào hộp kiểm "" + " Khóa tệp”Và sao chép nó.

Vậy là xong, bây giờ liên kết có thể được chèn vào văn bản của email, tin nhắn ICQ và được gửi đến người mà bạn muốn chuyển tập tin. Đồng thời, bạn không cần phải nhập bất kỳ phím nào trên trang tải xuống tệp, bạn chỉ cần đồng ý với các điều khoản dịch vụ và nhấp vào nút " Tải xuống».

Bây giờ chúng ta đã tìm ra thành công giao diện dịch vụ, chúng ta hãy xem các cài đặt. Chuyển đến tab "Tài khoản" và chuyển đến trang cài đặt và thông số.

Loại tài khoản miễn phí trên MEGA cho phép bạn sử dụng 50 GB không gian lưu trữ đám mây.

Nếu bạn muốn nhiều hơn - hãy trả tiền. Tuy nhiên, đối với mục đích cá nhân, 50 GB này là khá đủ. Loại tài khoản trả phí cũng có những ưu điểm của nó. Đầu tiên là tốc độ tải xuống tăng lên. Thứ hai, tăng dung lượng trên dịch vụ 500 GB ( Chuyên nghiệp Ⅰ), 2 TB ( Chuyên nghiệp Ⅱ), 4 TB ( Chuyên nghiệp Ⅲ).

Trang này cũng hiển thị phần trăm không gian lưu trữ đã sử dụng.

Bạn cũng có thể thiết lập các thông số truyền: giới hạn tốc độ truyền, đặt số lượng kết nối song song. Tại đây, bạn cũng có thể bật / tắt chức năng bỏ qua các tệp giống hệt nhau khi tải xuống, cũng như sử dụng giao thức SSL an toàn. Việc vô hiệu hóa giao thức truyền dữ liệu an toàn sẽ làm tăng tốc độ tải xuống tệp, vì trong trường hợp này, mã dự phòng không được sử dụng.

Trên cùng một trang, bạn có thể xem số dư (nếu sử dụng loại tài khoản trả phí) và lịch sử phiên.