Nói một cách đơn giản, tiền điện tử là gì: loại, ưu và nhược điểm của tiền điện tử. Tiền điện tử và mật mã. Từ máy mã hóa đến tiền ảo

Một nhóm các nhà nghiên cứu bảo mật thông tin quốc tế đến từ Anh, Slovakia, Cộng hòa Séc và Ý đã phát hiện ra lỗ hổng nghiêm trọng trong thư viện mã hóa phổ biến RSA Library v1.02.013 từ Infineon. Lỗi trong thuật toán tạo số nguyên tố RSA khiến các khóa mã hóa được tạo bằng thư viện Infineon phải tuân theo hệ số hóa - điều này cho phép kẻ tấn công tiết lộ phần bí mật của khóa.

Thư viện dễ bị tấn công được sử dụng để đảm bảo an ninh cho thẻ căn cước quốc gia ở một số quốc gia, cũng như trong nhiều sản phẩm phần mềm phổ biến được cả cơ quan chính phủ và doanh nghiệp sử dụng.

vấn đề là gì

Điểm yếu của cơ chế nhân tố hóa cho phép kẻ tấn công tính toán phần bí mật của bất kỳ khóa mã hóa dễ bị tấn công nào chỉ bằng khóa chung tương ứng. Sau khi nhận được khóa bí mật, kẻ tấn công có thể mạo danh chủ sở hữu khóa, giải mã dữ liệu nhạy cảm, tải mã độc vào phần mềm được ký bởi khóa và vượt qua bảo mật trên máy tính bị đánh cắp.

Thư viện mã hóa dễ bị tấn công được phát triển bởi nhà sản xuất chip Infineon của Đức và bị lỗi từ năm 2012. Điều khiến vấn đề trở nên nghiêm trọng là thực tế thư viện được sử dụng bởi hai tiêu chuẩn quốc tế bảo mật - đó là lý do tại sao nó được nhiều tập đoàn và tổ chức chính phủ trên thế giới sử dụng.

Hậu quả đầu tiên

Các nhà nghiên cứu đã kiểm tra thẻ căn cước quốc gia của 4 quốc gia và nhanh chóng phát hiện ra rằng ít nhất thẻ của 2 quốc gia - Estonia và Slovakia - được sử dụng cho mục đích bảo mật. phím dễ bị tổn thương dài 2048 bit. Chính quyền Estonia đã xác nhận sự tồn tại của lỗ hổng và cho biết khoảng 750.000 thẻ dễ bị tấn công đã được phát hành kể từ năm 2014. Một trong những nhà báo của Ars Technica đã nhận được thẻ “cư dân điện tử của Estonia” vào năm 2015 - một thử nghiệm cho thấy rằng khóa được sử dụng trong thẻ có thể được nhân tử hóa.

Ngoài ra, Microsoft, Google và Infineon đã cảnh báo rằng những điểm yếu trong cơ chế nhân tố hóa có thể ảnh hưởng nghiêm trọng đến hiệu quả của cơ chế bảo mật tích hợp trong các sản phẩm TPM. Trớ trêu thay, những con chip mật mã như vậy được sử dụng chính xác để cung cấp bảo mật bổ sung cho người dùng và tổ chức thường bị tin tặc tấn công.

Các nhà nghiên cứu cũng đã thử nghiệm 41 mẫu máy tính xách tay khác nhau sử dụng chip TPM - 10 mẫu trong số đó sử dụng thư viện của Infineon. Lỗ hổng này có tác động đặc biệt nghiêm trọng trong trường hợp TPM phiên bản 1.2, vì các khóa mà hệ thống sử dụng để kiểm soát hoạt động của ransomware BitLocker của Microsoft phải được phân tích thành hệ số. Điều này có nghĩa là bất kỳ ai đánh cắp hoặc chiếm hữu một máy tính dễ bị tấn công sẽ có thể vượt qua được lớp bảo vệ ổ cứng và bộ nạp khởi động.

Ngoài ra, các nhà nghiên cứu còn có thể phát hiện 237 khóa có thể phân tích được sử dụng để ký phần mềm được xuất bản trên GitHub - bao gồm cả những khóa khá phổ biến. gói phần mềm.

Các phát hiện khác bao gồm 2.892 khóa PGP được sử dụng để mã hóa thư từ email, 956 trong số đó có thể phân tích được. Theo các chuyên gia, hầu hết các khóa PGP dễ bị tấn công đều được tạo bằng sản phẩm USB Yubikey 4. Tuy nhiên, các chức năng khác của khóa USB, bao gồm cả xác thực U2F, không chứa lỗ hổng.

Cuối cùng, các nhà nghiên cứu đã có thể tìm thấy 15 khóa có thể phân tích được sử dụng cho TLS. Hầu hết chúng đều chứa từ SCADA trong dòng mô tả.

Làm thế nào để bảo vệ chính mình

Các nhà nghiên cứu sẽ trình bày một báo cáo chi tiết về những phát hiện của họ tại Hội nghị An ninh Máy tính ACM. Để người dùng có thời gian thay chìa khóa, phân tích chi tiết Phương pháp phân tích nhân tử được sử dụng sẽ không được trình bày cho đến khi trình bày.

Đồng thời, các nhà nghiên cứu đã xuất bản một công cụ cho phép họ xác định xem một khóa cụ thể có được tạo bằng thư viện dễ bị tấn công hay không. Thông tin chi tiết được cung cấp trong bài viết trên blog của họ. Ngoài ra, Infineon đã phát hành bản cập nhật chương trình cơ sở nhằm giải quyết lỗ hổng bảo mật và các nhà sản xuất TPM hiện đang nghiên cứu các bản vá của riêng họ.

Các nhà nghiên cứu cũng đã liên hệ với ban quản trị GitHub; dịch vụ này hiện đang thông báo cho người dùng về nhu cầu thay thế khóa để ký phần mềm. Đổi lại, chính quyền Estonia đã đóng cơ sở dữ liệu khóa công khai của họ, nhưng vẫn chưa có thông báo nào về khả năng thay thế cho thẻ ID dễ bị tấn công.

Sứ giả, thẻ du lịch và tiền kỹ thuật số. Ở đâu, như thế nào và tại sao mã hóa được sử dụng

Mỗi năm, mật mã âm thầm thâm nhập vào cuộc sống của chúng ta ngày càng nhiều: Wi-Fi, truyền hình kỹ thuật số, tin nhắn tức thời, thẻ tàu điện ngầm, thẻ điện tử, ngân hàng trực tuyến - đây chỉ là một phần nhỏ trong danh sách khổng lồ các dịch vụ hiện đang sử dụng mã hóa. Tuy nhiên, trong năm qua, phần lớn mọi người không nói về những lĩnh vực ứng dụng này mà về tiền điện tử (Bitcoin, LiteCoin, Dash, v.v.) và blockchain, những câu chuyện về chúng đang được tạo ra kênh trung tâm truyền hình, và sự biến động của tỷ giá hối đoái không chỉ được thảo luận bởi các nhà phân tích chứng khoán mà còn bởi học sinh, bác sĩ và người về hưu.

Bây giờ nhà nước và khu vực tài chính đang quyết định phải làm gì với tiền kỹ thuật số. Đánh giá theo các tuyên bố chính thức mới nhất, bản thân công nghệ blockchain rất được quan tâm vì nó giúp giảm chi phí trong Những khu vực khác nhau kinh tế. Các lĩnh vực tài chính ngân hàng đang tích cực quan tâm đến nó. Nhiều giải pháp khác nhau đã được thử nghiệm và triển khai. Tuy nhiên, các ý kiến ​​liên quan đến tiền điện tử không đơn cực như vậy. Có nhiều lựa chọn cho quy định của họ: từ lệnh cấm hoàn toàn cho đến khi bạn từ bỏ quyền kiểm soát. Chúng tôi trả lời các câu hỏi chính về mật mã, mối quan hệ của nó với tiền điện tử và cách nó được nhìn nhận ở các quốc gia khác nhau.


Mật mã là gì?

Lịch sử của bất kỳ quốc gia nào luôn gắn liền với một số lượng lớn bí mật quan trọng cần được bảo vệ khỏi người ngoài và thậm chí từ chính mình. Cần phải mã hóa thông tin theo cách mà chỉ người có mã đặc biệt. Theo thời gian, văn bản bí mật ngày càng tinh vi hơn và mật mã xuất hiện - ngành khoa học về các phương pháp đảm bảo bí mật.

Nếu trước đây nó được sử dụng cho cả việc mã hóa và giải mã bộ não con người, sau đó các thiết bị cơ điện xuất hiện như máy Enigma, việc bẻ khóa mã của Alan Turing (câu chuyện này tạo nên nền tảng của bộ phim “Trò chơi giả” do Benedict Cumberbatch đóng vai chính) được cho là đã có thể mang lại ngày của chiến thắng trong Thế chiến II vài năm gần hơn và cứu sống hàng triệu người. Ngày nay, mật mã toán học đã chiếm vị trí trung tâm, với các chip điện tử thực hiện tất cả công việc.


Mã hóa đã được quy định như thế nào trong lịch sử?

Trong thế kỷ 20, nhiều nỗ lực đã được thực hiện nhằm cấm sử dụng mật mã cho mục đích cá nhân nhiều lần. Những người biện hộ chính cho cách tiếp cận này là các cơ quan tình báo, những người lập luận về sự cần thiết phải có lệnh cấm để chống lại tất cả các mối đe dọa bên trong và bên ngoài: có thể là khủng bố, tin tặc hoặc tội phạm thông thường. Xét cho cùng, các tin nhắn được mã hóa gần như không thể giải mã nhanh chóng mà không tốn nhiều tài nguyên cho nó. Những người phản đối quan điểm này dựa trên thực tế là các cơ quan tình báo đang cố gắng giành quyền kiểm soát tối đa tất cả các phương tiện truyền thông tin. Cuộc tranh luận vẫn tiếp tục cho đến ngày nay.


Bitcoin liên quan đến mật mã như thế nào?

Cả Bitcoin, Litecoin và Dash đều là tiền điện tử, nghĩa là tiền kỹ thuật số, việc tạo và kiểm soát chúng dựa trên các phương pháp mã hóa. Để đảm bảo rằng không thể thực hiện các thay đổi đối với chuỗi khối, nghĩa là không thể thay thế các khối hoặc thông tin trong đó không thể thay đổi, các yếu tố của mật mã được sử dụng.


Việc lưu hành tiền điện tử được quy định như thế nào ở Nga?

Các phương pháp điều chỉnh tiền điện tử hiện đang được thảo luận tích cực ở Nga. Theo tin đồn, luật này sẽ được thông qua trong thời gian tới. Hiện tại, quan điểm cuối cùng của nhà nước vẫn chưa được xác định, mặc dù người ta thường nghe nói rằng việc sử dụng tiền điện tử mang lại những rủi ro nghiêm trọng; chúng có thể nhằm mục đích rửa tiền và tài trợ cho khủng bố.


Mật mã và tiền điện tử có phải là mãi mãi không?

Nhờ mật mã Cuộc sống hàng ngày Có rất nhiều thay đổi tích cực đang diễn ra. Trong tương lai gần, những phát triển hoàn toàn mới có thể sẽ xuất hiện sẽ tìm thấy ứng dụng của chúng trong những lĩnh vực không ngờ tới. Tuy nhiên, khi và nếu các nhà khoa học hoàn thành việc phát triển máy tính lượng tử, các phương pháp mã hóa hiện đại sẽ không còn đáng tin cậy nữa vì nó có thể giải mã ngay lập tức bất kỳ thuật toán nào.

Hiện tại, các phương pháp thuật toán mã hóa mới đang được phát triển và có các thiết bị mã hóa thử nghiệm dựa trên các nguyên lý cơ học lượng tử. Vẫn chưa biết chúng ta sẽ mất bao lâu để chứng kiến ​​việc triển khai thương mại các dự án này. Hiện tại, các phòng thí nghiệm đã triển khai các phần tử riêng lẻ của hệ thống có thể thực hiện các nhiệm vụ có độ phức tạp thấp. Nhưng chúng ta có thể nói rằng những phát triển này sẽ tạo động lực mới cho sự phát triển của toàn bộ thế giới kỹ thuật số.

“Bảo vệ thông tin” là một khái niệm rộng hơn so với khái niệm “bảo vệ mật mã”. Việc bảo vệ thông tin có thể được đảm bảo bằng nhiều phương pháp khác nhau (phương pháp vật lý, phương pháp giấu tin, v.v.), bao gồm cả phương pháp mật mã. Các phương pháp mã hóa bảo mật thông tin được hiểu là các phương pháp sử dụng các phương pháp toán học để chuyển đổi thông tin được bảo vệ (xem “Từ điển thuật ngữ mật mã”, do B.A. Pogorelov, V.N. Sachkov, MTsNMO, M., 2006 biên soạn).

  • Bạn có thể tra cứu định nghĩa mật mã trong từ điển. Tuy nhiên, rất thường xuyên trong RuNet và trong văn học, những khái niệm này bị nhầm lẫn. Chúng ta hãy nêu bật sự khác biệt chính ở cấp độ khái niệm. Mã là sự chuyển đổi thông tin KHÔNG liên quan đến thành phần bí mật dưới dạng khóa; một ví dụ về mã là base64 - một sơ đồ trong đó một chuỗi byte tùy ý được chuyển đổi thành một chuỗi các ký tự ASCII có thể in được. Mật mã là một phép biến đổi trong đó thành phần bí mật (khóa) có liên quan đến một số dạng. Ví dụ về mật mã là thuật toán AES hoặc GOST 28147-89.

  • Bạn biết từ từ điển rằng xác thực là bằng chứng của người dùng rằng anh ta là anh ta. Thông thường người dùng chứng minh điều này bằng cách sở hữu một số kiến ​​thức (mật khẩu, khóa, v.v.). Giao thức xác thực là quy trình cho bằng chứng này. Các giao thức xác thực khác nhau về số bước: 2-pass, 4-pass. Ngoài ra còn có xác thực một chiều và lẫn nhau. Ví dụ: nếu bạn truy cập một trang web email và trang web đó yêu cầu bạn nhập mật khẩu thì đây sẽ là xác thực một chiều 2 bước, tức là. Bạn đã tự xác thực với máy chủ và giao thức bao gồm hai bước: yêu cầu, phản hồi. Ví dụ, các giao thức phức tạp hơn hoạt động trong khuôn khổ giao thức TLS, có thể sử dụng xác thực lẫn nhau 5 bước, được kết hợp với giao thức phân phối khóa mở.

  • Như mọi khi, chúng tôi giới thiệu bạn đến từ điển để biết các định nghĩa chính thức. Sự khác biệt chính giữa các giao thức này là như sau. Trong trường hợp nhận dạng, bạn giới thiệu bản thân với ai đó (xác định chính mình). Ví dụ: truy cập một trang web có thư và viết địa chỉ gửi thư trong trường thích hợp, hoặc, để có một ví dụ thực tế hơn, một cảnh sát đến gặp bạn và hỏi bạn là ai, và bạn cho biết họ của mình. Đây là sự nhận dạng. Nhưng xác thực là thủ tục để bạn chứng minh rằng bạn là chính mình. Trong ví dụ đầu tiên của chúng tôi, máy chủ thư sẽ yêu cầu bạn nhập mật khẩu và từ đó xác thực chính bạn. Trong ví dụ thứ hai, cảnh sát sẽ yêu cầu bạn xuất trình hộ chiếu và do đó, bạn sẽ được chứng thực trước mặt anh ta.

  • Bạn có thể tìm thấy định nghĩa của các khái niệm này trong từ điển, nhưng ở đây chúng tôi sẽ giải thích sự khác biệt giữa chúng. Vì hoạt động binh thương Cơ sở hạ tầng khóa công khai (PKI) yêu cầu một trung tâm tin cậy, thường là cơ quan chứng nhận (CA). Chứng chỉ là khóa công khai của người dùng được cơ quan cấp chứng chỉ ký. Chứng chỉ có thể chứa nhiều thông tin hơn, chúng được sắp xếp thành chuỗi chứng chỉ, nhưng nhiệm vụ chính của chứng chỉ là xác nhận rằng khóa chung là CỦA BẠN.

  • Trước hết, bạn nên kiên nhẫn. Mật mã học là một khoa học phức tạp. Đối với việc nghiên cứu mật mã cũng kiến thức cần thiết toán học trên cấp độ cao(Sinh viên năm thứ 3 chuyên ngành toán/kỹ thuật – trình độ cần nhưng chưa đủ). Để bắt đầu, bạn có thể sử dụng cuốn sách của A.P. Alferov, A.Yu. Zubov, A.S. Kuzmin, A.V. Cheremushkin, “Cơ bản về mật mã học”, Gelios ARV, M., 2001. Cũng là một lựa chọn tốt: B. Schneier “Mật mã ứng dụng: Giao thức, thuật toán, văn bản nguồn trong ngôn ngữ C,” Triumph, M., 2002, là một lựa chọn phổ biến hơn, nhưng theo tôi, là một lựa chọn yếu hơn. Ở giai đoạn tiếp theo, bạn cần quyết định chuyên môn của mình và... Chúc may mắn!

  • Đây là tất cả các tên của cùng một phương pháp phân tích mật mã, bao gồm việc tìm kiếm đầy đủ tất cả các phần tử chưa biết của sơ đồ mật mã. Phương pháp này có thể áp dụng cho bất kỳ kế hoạch nào và được đảm bảo sẽ dẫn đến thành công. Đó là lý do tại sao độ phức tạp của phương pháp này được sử dụng để đánh giá độ mạnh của mật mã trong trường hợp không có nhiều phương pháp hiệu quả Phân tích. Hiệu quả của phương pháp này thường được tăng lên bằng cách thực hiện song song quá trình tìm kiếm.

  • Khi nói “hoàn hảo”, chúng tôi muốn nói đến những mật mã như vậy, khi phân tích loại mật mã nào mà nhà giải mã không thể thu được bất kỳ thông tin nào về bản rõ, dựa trên văn bản mã hóa. Có vẻ như tất cả các mật mã có giá trị sử dụng trong thực tế đều phải có đặc tính “hoàn hảo”. Tuy nhiên, đây không phải là trường hợp và hầu như luôn luôn như vậy. Thực tế là đặc tính “hoàn hảo” đòi hỏi phải sử dụng một lượng rất lớn Thông tin mấu chốt(khối lượng của nó bằng tổng khối lượng của tất cả các bản rõ). Điều kiện này là cực kỳ phi thực tế, do đó, theo quy định, họ sử dụng các mật mã hoàn hảo theo nghĩa phi cổ điển: tối ưu về tốc độ/giá triển khai và sức mạnh mật mã. Mật mã được hoàn thiện dựa trên các đặc tính này tại một thời điểm nhất định thường được chính phủ và/hoặc các tổ chức quốc tế tiêu chuẩn hóa.

  • Trong phần lớn các trường hợp, câu trả lời là phủ định. Trong trường hợp này, tính toàn vẹn của dữ liệu có thể bị vi phạm theo cách mà khi giải mã tin nhắn đã sửa đổi, sẽ thu được một văn bản có ý nghĩa. Các phương pháp vi phạm tính toàn vẹn của dữ liệu được mã hóa phụ thuộc đáng kể vào thuật toán mã hóa được sử dụng và chế độ hoạt động của nó. Ví dụ: nếu mật mã khối được sử dụng ở chế độ thay thế đơn giản thì các khối văn bản mã hóa có thể được sắp xếp lại; nếu sử dụng mật mã gamma và biết được bản rõ thì có thể tính được giá trị gamma và có thể thu được văn bản mã hóa tương ứng với bất kỳ văn bản gốc nào đã chọn; vân vân. Để đảm bảo tính toàn vẹn của dữ liệu được mã hóa trong quá trình truyền, cần sử dụng chức năng băm (đặc biệt là các khóa cụ thể) hoặc các chế độ mã hóa đặc biệt cung cấp xác thực.

  • Có một ví dụ cổ điển. Nếu mật mã gamma được áp dụng hai lần, đầu ra sẽ là bản rõ. Tất nhiên, không phải thuật toán mật mã nào cũng gây ra hậu quả thảm khốc như vậy khi được sử dụng nhiều lần. Tuy nhiên, sử dụng phương pháp nàyĐể cải thiện sức mạnh mật mã, điều này thường không được khuyến khích. Ví dụ: đối với mật mã hoặc hàm băm, phương pháp brute-force dựa trên việc xây dựng bảng cầu vồng sử dụng các chuỗi thu được bằng cách áp dụng nhiều lần thuật toán gốc. Do đó, bằng cách áp dụng thuật toán ít nhất hai lần trở lên, bạn sẽ không làm phức tạp nhiệm vụ của nhà giải mã. Trong mọi trường hợp, trước khi sửa đổi thuật toán mật mã hoặc sử dụng nó theo cách không chuẩn, bạn cần đảm bảo rằng điều này không gây ra điểm yếu và lỗ hổng mới.

  • Thuật toán mã hóa

    • Mật mã được chia thành mật mã khối và mật mã dòng theo các tiêu chí sau. Những cái đầu tiên hoạt động ngay lập tức với khối lớn thông tin (64, 128, 256 bit), cái sau tạo ra các ký tự chuỗi mã hóa có độ dài ngắn hơn (1, 4, 16, 32 bit). Theo một số phép tính gần đúng, sự khác biệt này có thể được coi là có điều kiện. Theo quy định, mật mã khối khác với mật mã dòng ở nguyên tắc cấu trúc của chúng. Ngoài ra, mật mã dòng thường hoạt động ở chế độ gamma, tức là một chuỗi mã hóa được tạo ra, sau đó được xếp chồng (tổng hợp) với chuỗi của văn bản chính. Đối với mật mã khối, nhiều chế độ sử dụng khác nhau được phát triển riêng biệt (bao gồm cả chế độ gamma). Trong lịch sử, mật mã dòng đã được sử dụng trên các nền tảng có tài nguyên hạn chế (máy tính, bộ nhớ nhỏ) hoặc để cung cấp tốc độ mã hóa cao. Tuy nhiên, phần lớn các nền tảng hiện nay sử dụng khối mật mã là chấp nhận được. Mật mã dòng tiếp tục được sử dụng (E. Biham) nếu có nhu cầu về mật mã phần mềm tốc độ cực cao, cũng như trong trường hợp triển khai mật mã phần cứng trong các sản phẩm giá rẻ được sản xuất hàng loạt.

    • Khái niệm về chế độ mã hóa thường được sử dụng liên quan đến mật mã khối. Mật mã khối có khóa cố định chỉ định một số thay thế trên các khối văn bản gốc và do đó là mật mã thay thế đơn giản. Sử dụng trực tiếp các mật mã thay thế đơn giản có thể nguy hiểm: với đủ vật liệu, kẻ thù có thể giải mã được bản rõ. Về vấn đề này, các chế độ mã hóa đang được phát triển cho mật mã khối, đó là thuật toán đặc biệt sử dụng mật mã khối (xem bài viết Các chế độ mã hóa của mật mã khối). Cách sử dụng chế độ khác nhau mã hóa được thúc đẩy bởi nhiều nhu cầu thực tế. Một ví dụ là nhu cầu hạn chế sự lan truyền của các biến dạng, tổ chức đồng bộ hóa, v.v.

    • Về mặt lý thuyết thuần túy, đối với hầu hết mọi mật mã đều có thể xác định khóa mã hóa (hoặc giải mã bản mã). Một câu hỏi khác: bao lâu? Gọi độ dài khóa là n bit. Nếu bạn sử dụng thuật toán mã hóa “tốt” thì không có phương pháp nào để tìm khóa có độ phức tạp nhỏ hơn 2^n (thao tác thử một khóa). Trong trường hợp này, độ dài khóa 128 bit là quá đủ. Cũng có thể khuyến nghị KHÔNG sử dụng các khóa ngắn hơn 64 bit. Đồng thời, nếu bạn không gặp bất tiện gì trong việc lưu trữ, truyền key hoặc tốc độ mã hóa thì bạn nên sử dụng luôn key chiều dài tối đa có thể cho thuật toán mã hóa của bạn.

    • Để trả lời câu hỏi này, trước tiên chúng ta cần xác định các mật mã nên được so sánh theo tiêu chí nào. Trước hết, tất nhiên, đây là sức mạnh của mật mã. Thứ hai, tốc độ triển khai phần mềm (phần cứng). Mật mã cũng có thể được so sánh bằng tiêu chí tiếp theo: số lượng nền tảng khác nhau mà chúng có thể được triển khai trên đó. (Cần lưu ý rằng các nền tảng phát sinh nhu cầu triển khai mã hóa có thể rất khác nhau: từ máy tính hiệu suất cao đến thẻ thông minh.). Về sức mạnh mật mã, hiện tại cả tiêu chuẩn AES của Mỹ và GOST 28147-89 trong nước đều có thể được coi là mạnh. Về hiệu suất, tiêu chuẩn nội địa kém hơn tiêu chuẩn Mỹ (đừng quên rằng tiêu chuẩn nội địa cũ hơn tiêu chuẩn Mỹ 10 năm!), nhưng tốc độ vận hành của nó đủ cho phần lớn các mục đích thực tế. Cả hai tiêu chuẩn mã hóa đều cho phép triển khai trên nhiều nền tảng khác nhau, bao gồm cả những nền tảng có nguồn lực hạn chế. Đồng thời, cần lưu ý rằng để triển khai mật mã GOST 28147-89, cần ít bộ nhớ hơn. Vì vậy, không thể kết luận chắc chắn mật mã nào “tốt hơn”. Nếu chúng ta thêm đặc tính như “lòng yêu nước” vào tiêu chí đánh giá mật mã, thì tiêu chuẩn nội địa GOST 28147-89 chắc chắn sẽ chiến thắng.

    • Trước hết, thuật toán mã hóa phải mạnh. Thứ hai, với tốc độ mã hóa khá cao. Điều kiện đầu tiên có thể gây ra nhiều câu hỏi nhất cho người dùng. Chỉ có một nhóm lớn các nhà mật mã chuyên nghiệp mới có thể xác định được độ mạnh của mật mã trong một khoảng thời gian. thời gian dài thời gian (đây là lý do tại sao các cuộc thi dành cho các thuật toán mã hóa khác nhau được tổ chức ở Châu Âu và Hoa Kỳ). Đối với người dùng thông thường, và đôi khi ngay cả một công ty lớn, những nghiên cứu sử dụng nhiều lao động như vậy thường nằm ngoài khả năng của họ. Có những giải pháp tiêu chuẩn hóa đặc biệt dành cho bạn. Ở nước ta, đây là thuật toán mã hóa GOST 28147-89. Các giải pháp tiêu chuẩn hóa phù hợp với hầu hết mọi tình huống. Tuy nhiên, có những trường hợp ngoại lệ (xem câu trả lời cho câu hỏi từ FAK “Có GOST để mã hóa, tại sao chúng ta cần bất kỳ mật mã và thuật toán nào khác?”). Việc sử dụng mật mã nào trong những tình huống như vậy phụ thuộc vào nhiều điều kiện khác nhau và không thể đưa ra một công thức chung ở đây.

    • Mục đích chính của việc sử dụng thuật toán mã hóa là đảm bảo tính bảo mật của thông tin. Cần lưu ý rằng có số lượng lớn mật mã thỏa mãn mục đích này. Tuy nhiên, khi sử dụng thuật toán mã hóa trong thực tế có thể gặp phải Các yêu cầu bổ sung. Dưới đây là một số trong số đó: a. Tốc độ triển khai phần mềm mã hóa cao trên một nền tảng cụ thể. Trong trường hợp này, nền tảng cụ thể có thể khác nhau, từ PC thông thường đến bộ xử lý thẻ thông minh. b. Tốc độ triển khai phần cứng cao và chi phí sản phẩm cuối cùng thấp. Khi được triển khai trong phần cứng, mỗi thao tác được sử dụng trong mã hóa sẽ đóng góp nhất định vào giá thành của sản phẩm cuối cùng. V. Một số đặc điểm của cấu trúc khóa. Ví dụ: mã hóa một lượng lớn (nhỏ) thông tin trên một khóa, thay đổi khóa thường xuyên. d. Sự cần thiết của các thuộc tính bổ sung, ví dụ như đồng bộ hóa. d. Các lĩnh vực ứng dụng đặc biệt Một ví dụ là thuật toán mã hóa cho thiết bị RFID. Trong trường hợp thứ hai, họ thậm chí còn đi đến mức giảm độ mạnh của mật mã để đơn giản hóa nó nhiều nhất có thể. Đối với phần lớn các bài toán thực tế, lời giải chuẩn hóa là khá phù hợp. Chúng có thể và nên được sử dụng. Sức mạnh mật mã của các thuật toán như GOST 28147-89 và AES được đảm bảo bởi sự quan tâm ngày càng tăng đối với chúng trong toàn bộ cộng đồng mật mã toàn cầu.

    • Nó phụ thuộc vào mục đích gì. Nếu bạn muốn chơi trò gián điệp, hãy sử dụng nó theo ý thích của bạn! Nếu tính bảo mật của dữ liệu, tình trạng tài chính của công ty bạn hoặc cá nhân bạn phụ thuộc vào độ mạnh mã hóa của bạn thì câu trả lời là KHÔNG. Bản chất của con người là phạm sai lầm, ngay cả khi bạn là người chuyên nghiệp. Vì vậy, trước khi bắt đầu sử dụng thực tế thuật toán mật mã, nó trải qua nhiều thử nghiệm bởi các chuyên gia khác nhau. Và quá trình này không hề nhanh chóng: cuộc thi NESSIE (https://www.cosic.esat.kuleuven.be/nessie/) đã được tổ chức trong 3,5 năm; Cuộc thi AES (http://csrc.nist.gov/groups/ST/toolkit/block_ciphers.html/) – gần 4 năm; Khung thời gian ước tính cho cuộc thi SHA-3 (http://csrc.nist.gov/groups/ST/hash/sha-3/index.html/) là 4 năm. Nói chung, nếu bạn cần mã hóa các tin nhắn nghiêm túc hơn “Seryozhka yêu Svetka từ 8 “B””, thì hãy sử dụng các giải pháp tiêu chuẩn hóa hoặc thuật toán mật mã đã vượt qua bài kiểm tra cấp cao.

    • Câu hỏi này không thể được trả lời một cách dứt khoát. Thực tế là đối với các mật mã khác nhau, các cuộc tấn công hiệu quả nhất có thể hoàn toàn khác nhau. Tất nhiên, có những cuộc tấn công phổ quát, chẳng hạn như phương pháp vũ phu. Trong cùng thời gian, toàn bộ dòng các cuộc tấn công (chẳng hạn như cuộc tấn công trượt) chỉ có thể áp dụng cho một phạm vi mật mã rất hạn chế. TRONG Gần đây, do sự gia tăng độ dài khóa và sự phát triển của các phương pháp tổng hợp mật mã, hiệu quả nhất (ít nhất là từ quan điểm thực tế) là các cuộc tấn công không phải vào bản thân mật mã mà vào việc thực hiện chúng: tấn công bộ đệm, các phương thức dựa trên các khóa liên quan , và vân vân.

    • Bàn cầu vồng là tùy chọn đặc biệt bảng, được sử dụng trong các thuật toán tìm kiếm hoặc liệt kê dựa trên nguyên tắc cân bằng bộ nhớ-thời gian (sự thỏa hiệp giữa thời gian tìm kiếm và kích thước bảng). Có một số cách để xây dựng các bảng như vậy. Tất cả chúng đều dựa trên việc xây dựng chuỗi ứng dụng tuần tự của chức năng đang nghiên cứu và chỉ lưu trữ điểm dữ liệu đầu tiên và cuối cùng của chuỗi. Phương pháp cổ điển do Hellman đề xuất, phương pháp dựa trên các điểm đã chọn và phương pháp bảng cầu vồng đã được biết đến. Tất cả các phương pháp này khác nhau ở cái gọi là hàm rút gọn. Đối với phương pháp bảng cầu vồng, hàm này bao gồm chuỗi các chức năng khác nhau. Điều này cho phép bạn giảm số lượng bảng và tăng kích thước của chúng, bởi vì xác suất dán của chuỗi được tạo ra giảm. Các cuộc tấn công nổi tiếng nhất thuộc loại này là đảo ngược hàm băm MD5, tấn công vào A5/1 và DES.

    Mật mã khóa công khai, chữ ký số

    • Rất khó để đề cập đến các nguyên tắc của mật mã khóa công khai trong một câu hỏi. Nhưng chúng tôi sẽ trấn an bạn, cùng với khóa chung còn có một khóa bí mật và chính anh ta là người thường tham gia vào quá trình giải mã hoặc ký. Nhưng khóa chung hoạt động khi mã hóa hoặc xác minh chữ ký. Vì vậy, khi gửi tin nhắn, bạn lấy khóa chung của người đăng ký mà anh ta đã in trên báo hoặc đăng trên trang web của anh ta và mã hóa tin nhắn bằng nó. Nhưng người đăng ký lấy khóa riêng mà anh ta giữ bí mật và giải mã tin nhắn bằng nó..

    • Mật mã khóa công khai có những ưu và nhược điểm. Ưu điểm bao gồm dễ dàng quản lý khóa và khả năng tổ chức các thủ tục trao đổi chữ ký và khóa. Tuy nhiên, cũng có những nhược điểm. Đây là sự phức tạp của việc thực hiện, như một quy luật, tốc độ thực hiện thấp. Một số người cũng coi đó là một bất lợi khi các nguyên tắc làm nền tảng cho mật mã khóa công khai dựa trên sự khó giải quyết. vấn đề toán học, mà một ngày nào đó ai đó có thể giải quyết được. Trong trường hợp chung, tất nhiên, chúng đã được giải quyết, nhưng từ quan điểm thực tế, cần phải có máy tính LỚN VÀ ĐẮT để giải quyết chúng, điều mà người dân hoặc công ty bình thường không thể tiếp cận được.

    • Một trong những giao thức phân phối khóa công khai phổ biến nhất là giao thức Diffie-Hellman. Về nguyên tắc, tất cả những thứ khác đều được xây dựng trên cơ sở của nó. Thật không may, giao thức này không có khả năng chống lại các cuộc tấn công trung gian đang hoạt động. Tuy nhiên, nếu bạn mở rộng giao thức bằng các công cụ xác thực thì giải pháp này sẽ hoàn toàn an toàn. Có hàng tá sửa đổi của giao thức Diffie-Hellman và các giao thức sử dụng các ý tưởng toán học tương tự. Ngoài ra, còn có các giao thức sử dụng thuật toán mã hóa đối xứng.

    • Sử dụng các giải pháp tiêu chuẩn hóa, ví dụ GOST R 34.10-2001. Thiết kế ổn định rất tốt.

    Hàm băm

    • Trong một thời gian dài, hàm băm phổ biến nhất là MD5. Ngày nay, hàm băm này tiếp tục được sử dụng trong nhiều giao thức và ứng dụng. Tuy nhiên, vào tháng 8 năm 2004, lần đầu tiên MD5 đã xảy ra va chạm. Các phương pháp đã được cải tiến và giờ đây các xung đột MD5 được xây dựng trong một phần trăm giây. Hơn nữa, có những ví dụ về cái gọi là đa va chạm. Ví dụ: ở đây (http://www.win.tue.nl/hashclash/Nostradamus/), bạn có thể tìm thấy 12 tệp pdf có nội dung thú vị và khác nhau, nhưng cùng giá trị Hàm băm MD5 từ chúng.

    • Đối với một giá trị tùy ý, hiện tại không có hàm băm. Hàm băm MD5 bị hỏng liên quan đến nhiệm vụ xây dựng xung đột. Nhưng một phương pháp phổ biến để xây dựng tiền ảnh cho hàm băm này vẫn chưa được phát triển. Tuy nhiên, các phương pháp phân tích MD5 đang phát triển rất nhanh và sự xuất hiện của phương pháp xây dựng nguyên mẫu trong tương lai gần là rất thực tế. Cần lưu ý rằng, theo những giả định nhất định, vấn đề xây dựng nguyên mẫu hiện đã được giải quyết. Ví dụ: ở đây (http://eprint.iacr.org/2011/248.pdf) vấn đề khôi phục mật khẩu bằng giá trị mã băm MD5 từ một chuỗi bao gồm mật khẩu này và giá trị muối đã được giải quyết.

    • Hàm băm mật mã được sử dụng để chứng minh quyền tác giả, đảm bảo tính toàn vẹn của tin nhắn cũng như xác định và xác thực tin nhắn hoặc người tham gia giao thức. Việc sử dụng hàm băm phổ biến nhất là khi tính toán chữ ký số điện tử (EDS). Trong trường hợp này, việc sử dụng hàm băm là do nhu cầu đảm bảo độ mạnh mật mã và tốc độ tính toán chữ ký số cao. Hàm băm cũng thường được sử dụng để nhận dạng người dùng bằng mật khẩu. Theo quy định, máy chủ không lưu trữ mật khẩu (vì lý do rõ ràng) mà là kết quả của việc áp dụng hàm băm cho chúng (mã băm). Khi người dùng nhập mật khẩu, hàm băm sẽ được áp dụng cho mật khẩu đó và kết quả thu được sẽ được so sánh với kết quả được lưu trữ trên máy chủ. Hàm băm đôi khi được sử dụng để xây dựng mật mã khối (SHACAL) và luồng (SEAL), bộ tạo Số ngẫu nhiên.

    • Các tính năng chính băm (mã xác thực tin nhắn, MAC), ngược lại với hàm băm không cần khóa, khi tính toán mã băm, họ sử dụng một số thông tin bí mật - khóa. Các hàm băm chính được sử dụng để đảm bảo tính toàn vẹn của thông tin và xác định tin nhắn hoặc người dùng. Một trong những lựa chọn phổ biến nhất để xây dựng MAC dựa trên hàm băm không cần khóa được gọi là HMAC. Khi tính toán mã băm bằng HMAC, hàm băm không cần khóa được tính hai lần.

    • Trong phân tích mật mã của hàm băm, một trong những vấn đề chính được xem xét là vấn đề xây dựng xung đột. Nói cách khác, bạn cần tìm hai thông điệp x và y khác nhau sao cho mã băm của chúng giống nhau. Thoạt nhìn, có vẻ như nếu độ dài của mã băm là n bit thì việc tìm ra xung đột cho hàm băm “lý tưởng” chỉ có thể được thực hiện bằng cách tìm kiếm qua 2n thông báo khác nhau. Nhưng điều này không đúng, và trong lý thuyết xác suất, điều này được gọi là nghịch lý của bài toán sinh nhật. Bài toán về ngày sinh được phát biểu như sau: Xác suất để trong số N học sinh cùng lớp có hai bạn có cùng ngày sinh là bao nhiêu? Hóa ra xác suất này đã lớn hơn 0,5 với N=23. Bài toán về ngày sinh cũng tương tự như bài toán tìm xung đột của hàm băm và để xây dựng xung đột, chỉ cần sắp xếp qua ít hơn 2^n tin nhắn là đủ, cụ thể là theo thứ tự 2^(n/2).

    • Trong phân tích mật mã của hàm băm, ba nhiệm vụ chính được xem xét: 1. Xây dựng tiền ảnh. 2. Xây dựng nguyên mẫu thứ hai. 3. Xây dựng va chạm. (Xem bài viết chính về hàm băm). Có các phương pháp chung để giải từng vấn đề này áp dụng cho bất kỳ hàm băm nào. Một số người coi hàm băm bị “hỏng” nếu các phương pháp giải bất kỳ bài toán nào trong số 1-3 được đề xuất cho nó với độ phức tạp nhỏ hơn độ phức tạp của phương pháp chung. Năm 2008, một số công trình của các nhà mật mã người Áo và Ba Lan đã xuất hiện về việc phân tích tiêu chuẩn hàm băm trong nước. Nhờ nỗ lực của họ, độ phức tạp của việc giải quyết các vấn đề chính của phân tích mật mã cho hàm băm GOST R 30.11-94 đã giảm đáng kể so với phương pháp chung Phân tích. Đồng thời, độ phức tạp của việc giải quyết các vấn đề này (cũng như yêu cầu về dung lượng bộ nhớ cần thiết) vẫn cao đến mức không cần phải lo lắng về việc tiếp tục sử dụng tiêu chuẩn trong nước cho hàm băm trong tương lai ( xem thêm bài viết về hàm băm GOST R 30.11-94 ). Hơn nữa, kể từ năm 2013, Nga đã có tiêu chuẩn mớiđến hàm băm (http://www.standards.ru/document/5293367.aspx). Tóm lại, thuật toán mới đã thay đổi hoàn toàn cấu trúc và tăng kích thước của mã băm.

    • “Hỏng” là một thuật ngữ không chính thức và có thể được giải thích những cách khác. Gần đây, thực tế đã xuất hiện một số công trình cho thấy những điểm yếu nghiêm trọng của thuật toán băm MD5 và SHA-1. Một bài viết riêng được dành cho những kết quả này và kết luận từ chúng. Ở đây chúng tôi chỉ lưu ý những điểm chính. Bạn nên ngừng sử dụng các hàm băm này! Bạn chắc chắn nên tránh sử dụng chúng trong các hệ thống bảo mật thông tin đang được phát triển. Đồng thời, hiện tại chỉ có một vài ví dụ thực tế về việc sử dụng kết quả lý thuyết để phân tích hàm băm SHA-1. Về vấn đề này, trong trường hợp việc chuyển sang sử dụng các thuật toán băm khác có liên quan đến chi phí cao (chủ yếu là tài chính), thì việc tiếp tục sử dụng SHA-1 là có thể. Tuy nhiên, đồng thời, cần tiến hành kiểm tra bổ sung hệ thống an ninh thông tin. Bạn nên từ chối sử dụng MD5!

    • Muối là một chuỗi các ký tự được sử dụng để tính toán các giá trị của các nguyên hàm mật mã khác nhau và được lưu trữ dưới dạng văn bản rõ ràng. Giá trị muối phải được tạo theo cách giả ngẫu nhiên, độc lập và có khả năng như nhau đối với mỗi lần truy cập vào mật mã nguyên thủy. Muối được sử dụng để làm giảm hiệu quả của một số cuộc tấn công mật mã. Ví dụ, hãy xem xét một phương pháp nhận dạng bằng mật khẩu. Sau khi nhận được yêu cầu, máy chủ sẽ gửi cho người dùng một giá trị muối được tạo ngẫu nhiên. Người dùng và máy chủ tính toán độc lập giá trị băm từ chuỗi bao gồm mật khẩu và giá trị muối. Người dùng gửi giá trị băm được tính toán đến máy chủ. Nếu giá trị này khớp với giá trị máy chủ thì việc nhận dạng thành công. Việc sử dụng muối trong giao thức này là do nhu cầu giảm hiệu quả của việc tìm kiếm mật khẩu dựa trên từ điển. Thật vậy, để thực hiện cuộc tấn công này, cần phải tạo từ điển cho tất cả các giá trị muối có thể có, điều mà theo quy định là không thể thực hiện được trong thực tế.

    Sử dụng mật mã trong thực tế

    • Bạn có thể tra cứu tính toàn vẹn của dữ liệu trong từ điển và chúng tôi sẽ xem xét các phương pháp để đảm bảo tính toàn vẹn của dữ liệu. Đầu tiên là lý thuyết. Đảm bảo tính toàn vẹn dữ liệu là một trong những vấn đề được giải quyết thành công bằng cách sử dụng hàm băm. Nếu bạn tính toán mã băm từ một khối dữ liệu, thì với hầu hết mọi thay đổi, ngay cả những thay đổi không đáng kể nhất trong khối dữ liệu, mã băm sẽ thay đổi. Và nếu bạn giữ mã băm an toàn, điều này đảm bảo rằng dữ liệu của bạn không thay đổi trong quá trình truyền. Tuy nhiên, nếu bạn đang truyền mã băm cùng với dữ liệu thì việc sử dụng các hàm băm thông thường đã nguy hiểm rồi; bạn cần sử dụng các hàm băm chính, chẳng hạn như HMAC. Vấn đề đảm bảo tính toàn vẹn cũng có thể được giải quyết bằng cách sử dụng mã hóa hoặc mã hóa (ví dụ: quy trình lưu trữ dữ liệu). Bây giờ về thực hành. Nếu bạn muốn gửi một tập tin qua mạng và muốn chắc chắn rằng nó sẽ đến đích chính xác như khi nó được gửi, bạn có thể: - sử dụng chương trình tính toán hàm băm (chương trình phổ biến nhất là md5sum) và tính mã băm của tài liệu. Tuy nhiên, trước tiên, bạn cần đảm bảo rằng không ai tự thay đổi giá trị mã băm, và thứ hai, danh tiếng của hàm MD5 đã bị giảm sút đáng kể và tốt hơn hết bạn nên sử dụng các hàm khác; - lưu trữ tập tin và chuyển kho lưu trữ. Điều này bảo vệ khỏi những thay đổi vô tình và nếu bạn sợ những thay đổi có chủ ý, hãy lưu trữ bằng mật khẩu; - mã hóa tệp nhưng không chuyển khóa mã hóa cùng với tệp; - và cuối cùng ký vào tập tin của bạn với sử dụng chữ ký số(để biết thông tin về cách thực hiện việc này, hãy xem Câu hỏi thường gặp)

    • Để trao đổi chữ ký số được mã hóa hoặc ký bằng email có thể được sử dụng giải pháp chuẩn PGP. Có nhiều cách triển khai giải pháp này, ví dụ http://www.gnupg.org/. Để sử dụng PGP bạn cần tạo một cặp khóa: công khai và bí mật. Sau đó, bạn cần chuyển khóa chung của mình cho người đăng ký thông qua kênh an toàn hoặc đáng tin cậy. Hơn nữa trong bất kỳ chương trình email nào như Con dơi hoặc Outlook (dễ dàng hơn trong Bat!) để tạo một lá thư, ký tên và/hoặc mã hóa nó bằng cách sử dụng các mục menu chương trình thích hợp. Người đăng ký của bạn chỉ cần kiểm tra chữ ký hoặc giải mã bức thư.

    • Cách ký điện tử vào một bức thư, xem một câu hỏi riêng. Nếu bạn muốn ký một tệp thì bạn sẽ cần triển khai một cơ sở hạ tầng khóa công khai nhỏ, cụ thể là tạo khóa công khai và khóa công khai của riêng bạn. khóa riêng. Cách dễ nhất để làm điều này là sử dụng thư viện openssl (http://www.openssl.org/). Bạn có thể sử dụng tiện ích genrsa để lấy khóa chung và khóa riêng có kích thước được yêu cầu và sử dụng tiện ích rsautl để ký vào tệp.

    • Có rất nhiều tiện ích và chương trình để giải quyết vấn đề này. Ví dụ, chương trình TrueCrypt(www.truecrypt.org) cho phép bạn tạo toàn bộ phân vùng được mã hóa. Để mã hóa một tệp, bạn có thể sử dụng tiện ích EncryptFiles http://www.encryptfiles.net. Chương trình này cho phép bạn mã hóa các tệp bằng hơn 10 thuật toán, bao gồm cả AES. Phương án cuối cùng, bạn có thể sử dụng trình lưu trữ bằng mật khẩu, nhưng bạn cần nhớ rằng không phải tất cả các trình lưu trữ đều có hệ thống mã hóa mạnh. Chúng ta cũng không được quên rằng độ phức tạp của việc khôi phục dữ liệu của bạn trong trường hợp này không chỉ được xác định bởi thuật toán mã hóa mà còn bởi độ phức tạp của mật khẩu của bạn.

    • Bạn có thể tranh luận về ưu và nhược điểm của hai hệ điều hành này hàng giờ liền; có những tài nguyên riêng biệt cho việc này. Thống kê cho thấy phần lớn máy chủ công cộng trên Internet chúng chạy trên các hệ điều hành giống Unix và hầu hết virus và sâu đều chạy trên Windows. Tuy nhiên, nếu cấu hình không đúng, hệ thống Unix sẽ chứa đầy lỗ hổng và không an toàn. Hãy cùng trả lời câu hỏi này: với cấu hình và cách sử dụng phù hợp và thành thạo, cả hai hệ điều hành đều khá an toàn. Hãy cẩn thận!

    • Đây là câu hỏi dành cho một bài viết riêng; chúng tôi sẽ trả lời ngắn gọn. Điều đơn giản nhất là tạo chứng chỉ tự ký của riêng bạn. Thư viện openssl có thể dễ dàng thực hiện việc này. Sau đó, đi tới cấu hình của Apache yêu thích của bạn và chỉ định đường dẫn đến khóa và chứng chỉ để tổ chức kết nối TLS/SSL. Nếu bạn muốn thực hiện việc này trong Windows, thì bạn sẽ cần cài đặt CSP (Nhà cung cấp dịch vụ mật mã), bạn cũng có thể cài đặt CSP nội địa (CryptoPro, Lissi csp, v.v.) có hỗ trợ các tiêu chuẩn nội địa về hàm băm, mã hóa và kỹ thuật số chữ ký. Tiếp theo, tất cả những gì bạn phải làm là sử dụng các công cụ của chính CSP này hoặc chỉ cần truy cập một trang web, chẳng hạn như http://www.cryptopro.ru/certsrv/ và yêu cầu chứng chỉ kiểm tra ở đó. Nếu bạn muốn đính kèm chứng chỉ không tự viết vào dịch vụ của mình, bạn có thể đặt hàng tại http://www.startssl.com - ở đó bạn có thể nhận chứng chỉ cho miền của mình miễn phí.

    • Việc thu được các số ngẫu nhiên chất lượng cao là một vấn đề mật mã khó khăn. Để giải quyết nó, có cả phần cứng và phần mềm. Trong thực tế, bạn có thể sử dụng cả thuật toán đơn giản nhất và phức tạp hơn. Bạn có thể viết ra một số ngẫu nhiên “từ trong đầu” hoặc sử dụng các phương tiện cơ học (đồng xu, hình khối, quân domino, v.v.). Sau đó, để cải thiện “chất lượng” của nó, bạn nên áp dụng hàm băm cho nó, thêm làm đối số một số tham số giả ngẫu nhiên khác (thời gian hiện tại, ngày tháng, số xe hàng xóm, v.v.). Tuy nhiên, phương pháp này tốt cho việc sử dụng một lần. Để có được số lượng lớn số ngẫu nhiên, nên sử dụng phần mềm. Hầu hết mọi ngôn ngữ lập trình đều có hàm rand() tạo ra số giả ngẫu nhiên. Tuy nhiên, cần nhớ rằng khoảng thời gian của hàm này thường nhỏ (216 hoặc 232) và trước khi sử dụng, cần phải đặt điền giả ngẫu nhiên ban đầu (thời gian, ngày, v.v.). Có các trình tạo thông tin quan trọng trong các gói phần mềm mã hóa (ví dụ: truecrypt). Nhiều người mở hệ điều hành thu thập thông tin giả ngẫu nhiên (di chuyển chuột, tổ hợp phím, v.v.) vào một tệp cụ thể (/dev/random). Bạn có thể sử dụng các trình tạo trực tuyến (http://random.org), nhưng các thuật toán cho hoạt động của chúng, theo quy định, không được công bố.

    • Mật khẩu dùng một lần (OTP) là một trong những phương tiện giải quyết vấn đề xác thực người dùng. Thuộc tính chính của OTP là mật khẩu chỉ có hiệu lực cho một quá trình xác thực và trong một khoảng thời gian giới hạn. Thuộc tính này cho phép bạn chống lại sự xâm phạm mật khẩu một cách hiệu quả trong quá trình sử dụng. Việc triển khai hiện đại các hệ thống như vậy dựa trên chìa khóa thông minh điện tử (http://www.aladdin-rd.ru/catalog/etoken/otp/, http://www.rsa.com/node.aspx?id=1215). Có nhiều sơ đồ khác nhau để vận hành hệ thống OTP; trong đó đơn giản nhất là máy chủ và thiết bị khách lưu giữ số lượng mật khẩu đã nhận được và cho xác thực mới Giá trị ngẫu nhiên giống nhau được tạo ra ở cả hai bên - mật khẩu.

    • Để giải quyết vấn đề kết nối các máy tính vào một mạng an toàn trong phạm vi mạng công cộng tồn tại cách tiêu chuẩn– tổ chức VPN với lưu lượng kín bằng giao thức IPSec. Phương pháp này tốt, nhưng đối với mục đích sử dụng cá nhân, chẳng hạn như hai máy tính, nó có thể quá cồng kềnh. Bạn có thể sử dụng một giải pháp đơn giản hơn - đào hầm. Không khó để tổ chức: đặt máy chủ ssh. Đối với hệ thống Linux, đây không phải là vấn đề; đối với Windows, bạn có thể sử dụng freeSSHd (www.freesshd.com). Tiếp theo, chúng tôi thiết lập đường hầm. Có rất nhiều cách dành cho Linux, đối với Windows bạn có thể sử dụng khách hàng miễn phí Putty, có khả năng cấu hình một đường hầm. Sau khi thiết lập thành công, lưu lượng giữa hai máy tính (ftp, http, icq, v.v.) có thể được định tuyến qua kênh ssh được mã hóa.

    • Tình hình về mật khẩu lưu trữ phụ thuộc đáng kể vào chương trình lưu trữ. Theo quy định, không có nhà lưu trữ nào lưu trữ mật khẩu của một kho lưu trữ trong chính kho lưu trữ đó. Về cơ bản, tệp đã lưu trữ đã được mã hóa. Cuộc tấn công chính vào các kho lưu trữ dựa trên mật khẩu là một cuộc tấn công đã biết. bằng văn bản rõ ràng, I E. một trong những tập tin lưu trữ. Đối với những nhà lưu trữ nổi tiếng nhất, tình huống như sau: ARJ – không mạnh, bất kỳ độ dài mật khẩu nào cũng có thể bị phá vỡ; ZIP không tồn tại lâu dài trừ khi sử dụng AES; RAR - các phiên bản đầu dễ bị tấn công, phiên bản 3.0 trở lên sử dụng AES làm mật mã và khá mạnh với mật khẩu tốt. Đối với Word và MS Office, tình hình cũng tương tự. Phiên bản đầu văn phòng dễ bị tổn thương và mật khẩu dễ bị bẻ khóa. Các phiên bản của chương trình, bắt đầu với Office XP/2003, có khả năng đặt mật khẩu mạnh hơn hoặc ít hơn để mở tệp, nhưng mật khẩu mặc định là 40 bit, rất nguy hiểm.

    • Câu hỏi về một chính sách mật khẩu có thẩm quyền không hề đơn giản. Cần phải nói rằng tốc độ và khả năng ép mật khẩu brute-force phụ thuộc rất nhiều vào việc ai chọn mật khẩu nào. Ví dụ: nếu kẻ tấn công biết rõ tác giả của mật khẩu, thì sau khi thử khoảng 20 tùy chọn (ví dụ: số xe, tên vợ, ngày sinh hoặc số điện thoại), kẻ tấn công có thể thành công. Cũng cần lưu ý rằng một số lượng lớn các chương trình nhận được mật khẩu ở dạng văn bản rõ ràng, điều này tạo điều kiện thuận lợi cho nhiệm vụ đánh chặn. Tốc độ của mật khẩu mạnh mẽ phụ thuộc vào ứng dụng mà nó được thực hiện. Ứng dụng có thể chứa tính năng bảo vệ vũ phu, điều này sẽ khiến quá trình xử lý bạo lực trở nên rất khó khăn, nhưng chúng ta không được quên rằng kẻ tấn công có thể đánh cắp cơ sở dữ liệu mật khẩu và dễ dàng tấn công vũ phu tại nhà trên máy tính của anh ta. Tuy nhiên, tốc độ tìm kiếm đôi khi có thể lên tới hàng chục triệu lựa chọn mỗi giây. Điều này có nghĩa là mật khẩu 5 ký tự rất yếu. Dễ dàng tính toán rằng với tốc độ như vậy và bảng chữ cái Latinh viết hoa và viết thường (52 ký tự), thời gian để phá hủy hoàn toàn mật khẩu 10 ký tự sẽ là (52^10)/10000000/3600/24/365 = 458 năm. Đối với 6 ký tự thời gian sẽ là 33 phút! Cách chọn mật khẩu tốt xem bài viết riêng.

    • Nếu bạn tiếp cận vấn đề đảm bảo tính bảo mật cho điểm truy cập hoặc kênh WiFi của mình một cách khôn ngoan thì có thể tránh được các vấn đề. Thực tế là giao thức WEP (Quyền riêng tư tương đương có dây), một giao thức bảo mật mạng không dây IEEE 802.11 đã lỗi thời, có những lỗ hổng nghiêm trọng và việc sử dụng nó trong thực tế hoàn toàn không được khuyến khích. WEP lần đầu tiên được phát triển để thay thế cho giao thức WPA, sau đó là giao thức WPA2. Để đảm bảo mức độ bảo mật mạng không dây phù hợp, bạn nên sử dụng giao thức WPA2, chế độ Mã hóa AES và chế độ xác thực hoặc PSK (khóa chia sẻ trước) cho sử dụng cá nhân hoặc xác thực EAP. Để biết thêm thông tin về các giao thức bảo mật mạng Wi-Fi, hãy xem bài viết Wi-Fi - bảo vệ mạng không dây. Trong mọi trường hợp, khi bạn sử dụng điểm công cộng truy cập ngay cả khi sử dụng WPA - hãy cẩn thận không truyền thông tin bí mật ở dạng văn bản rõ ràng.

    • SSL/TLS là một giao thức phức tạp để trao đổi thông tin an toàn. Giao thức này dựa trên xác thực lẫn nhau hoặc một chiều của các bên. Khóa dùng để mã hóa thông tin truyền đi được tạo dựa trên dữ liệu ngẫu nhiên và dữ liệu người dùng (phiên bản trình duyệt, dữ liệu chứng chỉ, v.v.) ở cả hai đầu của mạng truyền thông.

    • Có nguy hiểm không! Trong tình huống này, có hai trường hợp có thể xảy ra. Đầu tiên, phổ biến nhất và ít nguy hiểm hơn. Chịu đựng thói quen tặng quà miễn phí của người Nga, hoặc đơn giản là vì không có khả năng, chủ sở hữu trang web đã không thèm xuất trình chứng chỉ chính xác và gia hạn đúng cách. Thay vào đó, họ tạo chứng chỉ tự ký và cài đặt nó trên trang web (thường thì nó cũng đã hết hạn). Điều này là do thực tế là để tạo ra một chứng chỉ chính xác (hợp lệ), nó phải được ký tại một số Cơ quan chứng nhận và điều này thường tốn tiền. Và thứ hai, hơn thế nữa trường hợp nguy hiểm. Có một cuộc tấn công vào Giao thức TLS sử dụng phương pháp tấn công Man-in-the-middle. Cuộc tấn công tập trung vào thực tế là kẻ tấn công giả mạo máy chủ đích (ví dụ: gmail.com), sử dụng chứng chỉ tự ký hoặc đơn giản là "không chính xác" của chính hắn và cung cấp nó cho bạn làm chứng chỉ máy chủ. Nếu bạn bỏ qua cảnh báo của trình duyệt về mối nguy hiểm và đồng ý bắt đầu phiên TLS, bạn sẽ bắt đầu liên lạc với máy tính của kẻ tấn công qua một kênh có vẻ an toàn và cho hắn biết tất cả “mật khẩu và thông tin đăng nhập” của bạn.

    Môi trường lập trình trực quan C++ BUILDER 6 được chọn làm công cụ chính để phát triển phần mềm.

    C++ BUILDER 6 là sự kết hợp của một số công nghệ quan trọng:

    Trình biên dịch hiệu suất cao trong mã máy;

    mô hình thành phần hướng đối tượng;

    Phát triển ứng dụng trực quan (và do đó, tốc độ cao).

    Trình biên dịch tích hợp trong C++ BUILDER 6 cung cấp hiệu suất cao mà bạn cần để xây dựng ứng dụng. Trình biên dịch này hiện là nhanh nhất trên thế giới. Nó mang lại sự dễ dàng phát triển và thời gian nhanh chóng kiểm tra khối chương trình đã hoàn thành, đồng thời đảm bảo chất lượng của mã. Ngoài ra, C++ BUILDER 6 cho phép phát triển nhanh chóng mà không cần phải viết phần chèn C hoặc viết mã thủ công (mặc dù điều này là có thể). Trong quá trình xây dựng một ứng dụng, nhà phát triển chọn các thành phần làm sẵn từ bảng thành phần, giống như một nghệ sĩ tạo ra những nét cọ lớn. Ngay cả trước khi biên dịch, anh ấy sẽ thấy kết quả công việc của mình - sau khi kết nối với nguồn dữ liệu, bạn có thể thấy chúng được hiển thị trên biểu mẫu, bạn có thể điều hướng qua dữ liệu, trình bày chúng ở dạng này hay dạng khác. Theo nghĩa này, thiết kế trong C++ BUILDER 6 không khác nhiều so với thiết kế trong môi trường diễn giải, nhưng sau khi biên dịch, chúng tôi nhận được mã chạy nhanh hơn 10 đến 20 lần so với điều tương tự được thực hiện bằng trình thông dịch. Ngoài ra, trình biên dịch khác với trình biên dịch. C++ BUILDER 6 biên dịch trực tiếp thành mã máy gốc. Mặc dù có các trình biên dịch biến chương trình thành cái gọi là mã p, sau đó được thông dịch máy ảo. Điều này không thể nhưng ảnh hưởng đến hiệu suất thực tế của ứng dụng đã hoàn thành. Mô hình hướng đối tượng của các thành phần phần mềm dựa trên việc tái sử dụng mã tối đa. Điều này cho phép các nhà phát triển xây dựng ứng dụng rất nhanh từ các đối tượng được tạo sẵn và cũng cung cấp cho họ khả năng tạo các đối tượng của riêng mình cho môi trường C++ BUILDER 6. Không có hạn chế nào về các loại đối tượng mà nhà phát triển có thể tạo. Thật vậy, mọi thứ trong C++ BUILDER 6 đều được viết bằng C++, vì vậy các nhà phát triển có quyền truy cập vào cùng các đối tượng và công cụ đã được sử dụng để tạo môi trường phát triển. Do đó, không có sự khác biệt giữa các đối tượng do BORLAND hoặc bên thứ ba cung cấp và các đối tượng bạn có thể tạo. Việc phân phối tiêu chuẩn của C++ BUILDER 6 bao gồm các đối tượng cơ bản tạo thành một hệ thống phân cấp được lựa chọn kỹ lưỡng.

    Yêu cầu đối với chương trình đang được phát triển:

    1. Đồ họa tiện lợi giao diện người dùng(GUI)

    2. Dễ sử dụng

    3. Đảm bảo mã hóa tất cả các loại tệp

    4. Hoạt động đáng tin cậy

    5. Chi phí thấp

    6. Khả năng thay đổi, bổ sung

    7. Sự sẵn có của hệ thống trợ giúp

    Ngày 20 tháng 5 năm 2017 Tại lễ hội các bài giảng khoa học TEDx ở Novosibirsk, Leonid Kaganov đã có một bài giảng thú vị về lịch sử mật mã và theo đó là lịch sử xuất hiện và phát triển của tiền điện tử.

    Từ máy mã hóa đến thư được mã hóa, trình duyệt Tor và cuối cùng là tiền điện tử.

    Khi video bài giảng xuất hiện, chúng tôi sẽ thêm vào đây, nhưng hiện tại đây là bản ghi minh họa của bài giảng. Thưởng thức!

    TEDx về mật mã

    Ngành công nghiệp sáng giá nhất, công nghệ của tương lai, hoàn toàn không phải là CNTT, không phải công nghệ máy tính mà là mật mã.

    Nói chung, toàn bộ khoa học về mã hóa là một câu chuyện cổ tích đẹp đẽ mà một người nghiệp dư có thể kể cho những người nghiệp dư, và nó sẽ vẫn hay và đầy hành động. Và tôi sẽ kể điều đó cho bạn.

    Trên thực tế, công nghệ máy tính cũng có nguồn gốc từ mật mã. Và toàn bộ câu chuyện Thiết bị máy tính- về việc một số người muốn trao đổi thư từ một cách bí mật, trong khi những người khác muốn đọc nó.

    Những mật mã đầu tiên xuất hiện cách đây vài nghìn năm, chẳng hạn như cái gọi là mật mã Caesar. Từ quan điểm mật mã hiện đạiĐây là thời kì đồ đá, và điều đã cứu họ khỏi việc giải mã thậm chí không phải là sự thiếu hiểu biết về toán học của đối thủ mà thường đơn giản chỉ là sự thiếu hiểu biết của họ.

    Những chiếc máy tính đầu tiên trông giống như những con quái vật nóng đỏ chạy bằng động cơ điện, và sau đó - chạy bằng ống vô tuyến. Họ xuất hiện trong Thế chiến thứ hai ở Anh tại căn cứ bí mật Bletchley Park - Alan Turing nổi tiếng làm việc trong một nhóm các nhà toán học.

    Mục đích của công việc là một: mở mã Wehrmacht Enigma và đọc ảnh chụp X quang từ trụ sở của phát xít.

    Người Đức biết chắc chắn rằng bộ não con người không có khả năng vượt qua tất cả các tổ hợp và phá vỡ mật mã này. Và họ đã hoàn toàn đúng. Họ chỉ không biết rằng bộ não có thể được điện tử hóa.

    Mặc dù đã đến lúc phải biết: xét cho cùng thì người Ba Lan là những người đầu tiên giải mã được mật mã Enigma vào năm 1932 nhờ sự trợ giúp của các rò rỉ, lý thuyết toán học và việc chế tạo một thiết bị giải mã đặc biệt. Nhưng các kỹ sư người Đức chỉ đơn giản là làm phức tạp mã Enigma. Chúng tôi đã làm lại mọi thứ và điều này sẽ không xảy ra nữa.

    Chúng ta hãy nhớ khoảnh khắc này, bởi vì toàn bộ lịch sử của mật mã bao gồm các cụm từ “chúng tôi đã làm lại mọi thứ, và điều này sẽ không xảy ra nữa” - kể từ bây giờ mọi người sẽ lặp lại điều này, liên tục dẫm lên cùng một cái cào.

    Nhưng hãy quay trở lại Enigma. Họ học cách phá mã - các tín hiệu do các nhà điều hành đài vô tuyến nghe được đã bay đến Bletchley Park và quay trở lại trụ sở của liên minh chống Hitler dưới dạng các kế hoạch, báo cáo và báo cáo minh bạch của bộ chỉ huy Đức.

    Và có ý kiến ​​​​cho rằng đây chính là yếu tố quyết định cuối cùng đến chiến thắng của quân Đồng minh và sự thất bại của Hitler. Mặc dù có lý do để tin vào điều đó, nhưng nói một cách nhẹ nhàng thì không chỉ. Nhưng đối với nền văn minh, bản thân ý tưởng này rất có giá trị ở đây: chiến thắng trước cái ác trên thế giới có thể được giấu trong động cơ và đèn đặt trong một nhà kho xa xôi ở phía sau - có điều gì đó thực sự mang phong cách Tolkienesque về điều này.

    Dù thế nào đi nữa, mọi người đều nhận ra rằng máy tính là một sức mạnh to lớn. Và không chỉ để đọc thư từ của người khác. Tuy nhiên, Turing không nhận được nhiều sự biết ơn từ những người cùng thời: bị kết tội có xu hướng tình dục phi truyền thống, ông bị kết án thiến hóa học ở Anh và tự sát.

    Nhiều năm trôi qua, mật mã trở nên phức tạp hơn và các phương pháp phá chúng cũng trở nên phức tạp hơn. Nhưng cho đến một thời điểm nhất định, có ý kiến ​​​​cho rằng nếu tích lũy đủ tài liệu (các công văn bị chặn) và có đủ thời gian, thì tình báo nhà nước với sự trợ giúp của siêu máy tính sẽ phá được bất kỳ mật mã nào. Và phương sách cuối cùng, luôn có một chiến dịch đặc biệt táo bạo cũ: bạn có thể bắt giữ người điều hành đài, chiếm trụ sở của kẻ thù bằng mật mã từ phía sau, cử một sĩ quan tình báo chóng mặt đến làm gián điệp - nói chung, bằng mọi cách, ăn trộm hoặc buộc anh ta phải từ bỏ mật mã. “Chúng tôi đã làm lại mọi thứ và điều này sẽ không xảy ra nữa…”

    Nhưng vào năm 1977, một vấn đề nảy sinh - một thế hệ mã hóa mới xuất hiện: mã hóa bất đối xứng RSA(theo họ của các nhà phát triển: Rivest, Shamir, Adleman). Điều đáng xấu hổ của phương pháp mới là các công văn thậm chí không cần phải giấu kín: chúng có thể được điều khiển hoàn toàn công khai thông qua kênh mở, để kẻ thù nghe lời, hắn sẽ không tích lũy được vật chất gì. Bởi vì ý nghĩa chính là thế hệ mật mã mới không có chìa khóa mà hai người phải biết - người gửi và người nhận. (Rốt cuộc, như chúng ta nhớ trong câu tục ngữ, nếu hai người biết thì một con lợn cũng vậy).

    Chìa khóa giải mã giờ chỉ được giữ ở một nơi - trong văn phòng xa xôi của Hitler tưởng tượng ở xa, người nhận mã hóa. Và người gửi chỉ cần gửi một số rác thông tin, mà ngay cả bản thân anh cũng không thể giải mã được nếu muốn. Nếu người gửi bị bắt, bị cướp hay bị tuyển dụng thì vẫn chưa có mật khẩu và chưa từng có mà chỉ biết gửi. Và bạn, những dịch vụ đặc biệt, cũng có thể gửi đi. Và bất kỳ người nào trên thế giới đều có thể viết một mật mã cho một Hitler tưởng tượng ở xa, và chỉ có Hitler mới đọc được nó. Các cơ quan tình báo căng thẳng: làm sao điều này có thể xảy ra, nó trái với logic? Nhưng toán học đã trả lời: điều này giờ đây có thể thực hiện được.

    Và bây giờ chúng ta sẽ tìm ra cách. Để không đi sâu vào toán học phức tạp, chúng ta sẽ làm một phép toán đơn giản: hãy tưởng tượng rằng trong toán học ở thế giới của chúng ta không có phép chia mà chỉ có phép nhân.

    Thuật toán RSA, theo yêu cầu của bạn, tạo ra một cặp khóa ngẫu nhiên. Ví dụ: đây là những con số: 5 và 0,2 Tất nhiên, bạn có thể đoán rằng chúng không phải ngẫu nhiên. Nhưng hoàn toàn bề ngoài họ có khá ít điểm chung. Một trong những chìa khóa này được mở: 5. Bạn có thể viết nó trên hàng rào, đăng trên báo và ký vào các bức thư bằng giấy của mình: họ nói, bất kỳ ai muốn gửi cho tôi một mã được mã hóa chỉ cần nhân từng chữ số (hoặc số chữ cái) bằng 5. Và một nửa đã đóng - 0,2 chỉ được bạn giữ bí mật. Khi bạn nhận được các số được mã hóa từ người đối thoại, bạn chỉ cần nhân chúng với 0,2 và nhận được giải mã!

    Làm thế nào để người quan sát nhìn thấy sự tương ứng? Họ đọc khóa công khai số 5 của bạn trên hàng rào và nó chẳng mang lại cho họ điều gì. Họ đã thâm nhập vào bí mật của thư từ và thấy rằng các dòng số được mã hóa nhân với 5 đang đến với bạn... Chà, có vẻ như chia cho 5 là đủ, nhưng chúng ta nhớ: trong toán học của thế giới thông thường của chúng ta không có sự phân chia. Không có phép toán nghịch đảo nào cho phép nhân! Có một số nhân bí mật là 0,2 nhưng không thể đoán được. Kết quả: trước toàn thế giới, bất kỳ ai cũng có thể mã hóa thông tin bằng khóa chung cho người nhận - chủ sở hữu nửa sau của khóa. Nhưng cả người gửi, người xem thông thường và cơ quan tình báo đều không thể giải mã được nó.

    Trong khi các cơ quan tình báo đang quyết định xem từ nay về sau họ sẽ đối phó với vấn đề gián điệp nhà nước và các nhà điều hành đài phát thanh quân sự như thế nào thì Internet đã xuất hiện và rất đông người đổ xô đến sử dụng nó. những người bình thường. Và vào năm 1991, lập trình viên Philip Zimmerman đã viết một chương trình PGP trong đó ông đã mã hóa RSA cho mọi người đối với những thư từ điện tử không thể mở được...

    Từ xa xưa, các cơ quan tình báo Hoa Kỳ - giống như bất kỳ cơ quan tình báo nào của bất kỳ quốc gia nào - đã coi quyền hợp pháp của họ là đọc tất cả thư từ của công dân. Vì lợi ích của nhà nước, tất nhiên là có lý do. Và trong những thập kỷ sau chiến tranh, đối với họ, dường như cuối cùng họ đã nhận được một cơ hội như vậy, và kể từ bây giờ nó sẽ luôn như vậy. Vì vậy, chương trình PGP bị coi như một cái tát khủng khiếp vào tâm hồn. Và họ tức giận đến mức lần đầu tiên họ cố gắng đưa Zimmerman vào tù. Sự phẫn nộ của các cơ quan tình báo là hoàn toàn chân thành và có thể hiểu được về mặt con người.

    Nhưng đối với mọi người thì đó vẫn là một điều bí ẩn: theo luật nào một nhà toán học vô tội đã tạo ra một loại mật mã nào đó đáng bị trừng phạt hình sự? Và làm thế nào bạn thậm chí có thể cấm một người mã hóa thứ gì đó - chẳng hạn như thư từ của tôi với tình nhân của tôi? Bạn, các cơ quan tình báo, thậm chí có ý gì, bạn có thực sự định đọc nó không? Kết quả là vụ án đã khép lại, Zimmerman vẫn được tự do và nền văn minh ngày nay không thể tưởng tượng được nếu không có mã hóa: tất cả ngân hàng, tất cả thẻ thanh toán, tất cả chữ ký điện tử và thậm chí tất cả các trang web bắt đầu bằng https - tất cả đều sử dụng những nguyên tắc này.

    Cột mốc tiếp theo trong lịch sử mật mã bắt đầu vào năm 2002, khi Phòng thí nghiệm Nghiên cứu Hải quân Hoa Kỳ quyết định giải mật quá trình phát triển của nó: hệ thống Tor, cho phép người dùng lướt Internet được mã hóa mà không bị phát hiện- tất cả các gói đều đi qua một chuỗi máy chủ Tor ngẫu nhiên trên khắp các quốc gia và lục địa không thể đoán trước và không thể tìm ra ai đã gửi gói và từ đâu. Ví dụ, điều này cho phép một sĩ quan tình báo ở Uganda gửi một báo cáo tới đại sứ quán ở Copenhagen mà không ai ở Uganda biết về nó.

    Có thể nói rằng vào năm 2002, Internet thứ hai đã ra đời: hoàn toàn ẩn danh và được mã hóa. Với các trang web, gián điệp và hành động bẩn thỉu của họ. Hải quân Hoa Kỳ vô cùng hối hận vì đã tạo ra nó, nhưng đã quá muộn - công nghệ đã đến tay người dân. Và một năm sau I2P (dự án internet vô hình) xuất hiện - một công nghệ gần như tương tự, và nó trở nên hoàn toàn đáng buồn.

    Năm 2008, một kỷ nguyên mới bùng nổ: mật mã tấn công thứ thiêng liêng nhất - tiền bạc. Thứ luôn nằm dưới sự kiểm soát của nhà nước - nó in tiền, lưu trữ và phân phối. Tiền điện tử đầu tiên xuất hiện - Bitcoin. Tiền điện tử dựa trên nguyên tắc mã hóa. Bitcoin không có ngân hàng. Chúng ở khắp mọi nơi và không ở đâu cùng một lúc: ngân hàng là một mạng lưới toàn cầu gồm các chủ sở hữu ví, nơi bất kỳ ai cũng có thể tham gia. Bitcoin không thể được in với số lượng cần thiết: chúng được sinh ra theo luật riêng của chúng và chỉ từ những người quyên góp cho chúng. khả năng tính toán. Bitcoin hoàn toàn không được hỗ trợ bởi bất cứ thứ gì - nhưng ngay cả đô la từ lâu cũng không được hỗ trợ bởi bất cứ thứ gì ngoại trừ nhu cầu của chúng. Và Bitcoin không thể bị chiếm giữ, siêu máy tính cũng không thể nhận được mật mã - toàn bộ mạng Bitcoin đang bận rộn làm việc đó: nỗ lực liên tục để tìm ra mật mã.

    Mỗi giao dịch thanh toán mới yêu cầu phải đoán một mã mới. Tất cả các máy tính trên thế giới (sau này - các đơn vị tính toán đặc biệt chỉ có thể thực hiện việc này) đều bận rộn chỉ với việc này: những nỗ lực mệt mỏi để tìm ra mã. Rốt cuộc, người thực hiện việc này trước tiên sẽ tự động có một Bitcoin mới được sinh ra trong ví của mình từ khoảng trống. Và trong những năm qua, giá của nó đã tăng từ một xu lên một nghìn rưỡi đô la và sẽ không dừng lại... Siêu máy tính nào có khả năng chiếm được một mạng có sức mạnh là tổng của tất cả các máy tính trong tay người dân , chưa kể đến những doanh nhân đã xây dựng vô số nhà chứa máy bay với vô số đơn vị tính toán?

    Tiền điện tử đã làm say mê không chỉ các dịch vụ đặc biệt và dịch vụ tình báo mà còn cả các chủ ngân hàng. Tuy nhiên, người tạo ra Bitcoin đã học được bài học của Turing và Zimmerman: các nhà toán học mật mã không nên trông cậy vào lòng biết ơn của những người cùng thời với họ. Anh ta đã giấu tên thành công, tự giới thiệu mình là một Satoshi Nakamoto người Nhật nào đó và vẫn chưa biết anh ta là một người hay một nhóm. Thậm chí còn có trò đùa là Bitcoin phát minh ra trí tuệ nhân tạo, thứ đã tự tạo ra từ lâu và bí mật hiện diện trên thế giới - anh ấy cần các giao dịch tài chính và anh ấy đã phát minh ra chúng.

    Theo sau Bitcoin, các loại tiền điện tử khác ngay lập tức xuất hiện và số lượng của chúng ngày nay là rất lớn., mặc dù Bitcoin vẫn là chuẩn mực. Điểm mấu chốt: có một loại tiền tệ có giá cả phải chăng trên thế giới, không thể bị cấm hay kiểm soát, và nó là loại tiền tệ có giá trị nhất trên thế giới - với mệnh giá gấp rưỡi đô la và euro.

    Tiền điện tử phát triển nhanh nhất là Ethereum. Kinh nghiệm về các loại tiền điện tử trước đây được tính đến và rất nhiều điều mới được giới thiệu. Ví dụ, hợp đồng thông minh. Đây là một loại chương trình tồn tại trong môi trường tiền điện tử và tự thực thi miễn là có đủ tiền để nuôi nó. Trong thực tế, điều này có nghĩa là có thể tổ chức một tổ chức ảo - ví dụ: xổ số hàng ngày. Hoặc một cơ quan bảo hiểm sẽ bồi thường trong trường hợp xảy ra động đất, sau khi độc lập biết được từ báo chí rằng một trận động đất đã xảy ra ở khu vực của bạn. Vấn đề là tại thời điểm này thế giới đã thực hiện bước đầu tiên hướng tới sự xuất hiện của trí tuệ nhân tạo. Bởi trước đây trong công việc văn phòng đã có cá nhân và pháp nhân, và thời đại hợp đồng thông minh mở ra một khái niệm mới: mặt ảo. Tồn tại trên tất cả các máy tính trên thế giới và đồng thời không ở đâu cả (và do đó không thể bị xâm phạm), thực hiện các giao dịch tài chính theo chương trình của nó và nằm ngoài tầm kiểm soát của bất kỳ ai, ngay cả những người tạo ra nó - không thể dừng hoặc thay đổi một hoạt động thông minh hợp đồng.

    Chúng tôi đã hiểu rằng mật mã sẽ không dừng lại ở đó. Thời đại tiếp theo sẽ như thế nào? Mật mã sẽ mang đến cho chúng ta cú sốc mới nào? Chúng ta chưa thể giả định điều này, bởi vì cô ấy luôn tấn công bất ngờ - từ nơi không ai ngờ tới.

    Hơn nữa, đây có thể không phải là sự ra đời của một loại tiền tệ hoặc Internet mới không được kiểm soát mà là một đòn giáng mạnh vào mọi thứ cũ. Bởi vì mạng Internet, mạng ngân hàng và tất cả các bộ phận của mọi nền kinh tế - chúng được giữ bởi một sợi mã hóa mỏng chưa thể bị phá vỡ. Nhưng rất có thể ngày mai sẽ có một chiếc máy tính lượng tử hoặc một lý thuyết toán học cho phép phá vỡ các mật mã hiện đại. Và sau đó, không chỉ mạng Bitcoin, mà cả mật khẩu Facebook của bạn, thẻ SIM của nhà điều hành, thẻ tín dụng và ngân hàng phát hành nó sẽ mở ra trước mọi làn gió.

    Có hai kịch bản trong tương lai: bi quan và lạc quan. Những người bi quan tin rằng sự xuất hiện đột ngột của máy tính lượng tử sẽ đánh sập hầu hết các hệ thống mã hóa hiện đại. Và khi đó nền văn minh sẽ sụp đổ, ngay lập tức nhận thấy mình không có thông tin liên lạc, sàn giao dịch, ngân hàng và mọi thứ khác dựa trên mật mã. Kịch bản lạc quan tin rằng khoa học về mật mã là bất khả xâm phạm giống như định lý Pythagore, sẽ sống sót sau máy tính lượng tử và các nỗ lực giải mã khác, và cuối cùng sẽ xây dựng cho chúng ta một xã hội mới về cơ bản, bao gồm cả chính phủ điện tử.

    Nhưng bài học chính mà chúng ta phải rút ra cho mình: thế giới tương lai không phải là thế giới vật chất. Nền văn minh của chúng ta đang dần học cách làm việc với vật chất - nó ngày càng làm việc với thông tin. Nhưng thông tin có những quy luật hoàn toàn khác nhau.

    Mười năm trước, tôi là một người đam mê tiến bộ: Tôi sử dụng máy quét dấu vân tay thay vì chìa khóa trên cửa căn hộ của mình. Và tôi hy vọng rằng theo thời gian tôi sẽ tiến xa hơn và sử dụng máy quét võng mạc, và rồi, lạ thay, họ sẽ phát minh ra máy quét DNA, và khi đó tôi chắc chắn sẽ có thể chứng minh rằng tôi chính xác là tôi.

    Nhưng mười năm đã trôi qua, giờ đây trong tay tôi, dưới da, tôi có một con chip điện tử nhỏ phản ứng với máy quét bằng tín hiệu vô tuyến được mã hóa. Anh ấy làm chứng rằng anh ấy chính xác là chính mình. Có nghĩa là tôi đã đến. Máy quét dấu vân tay đã là quá khứ. Máy quét võng mạc chưa bao giờ trở nên phổ biến. Máy quét DNA đã xuất hiện trong các bộ phim khoa học viễn tưởng và con cái chúng ta sẽ cười nhạo sự ngây thơ này. Tại sao? Thế giới của chúng ta từ lâu đã bị chi phối bởi các quy luật mật mã chứ không phải vật chất. Ví dụ, một việc đơn giản như xâm phạm dữ liệu... Việc dễ dàng nhất là đánh cắp kính của bạn một lần và lấy dấu vân tay và DNA. Và thế là xong - kẻ tấn công có quyền truy cập vào cửa két an toàn của bạn suốt đời. Việc lặp lại dấu vân tay của bạn trong vật chất là một vấn đề của công nghệ, đặc biệt là trong thời đại in 3D phát triển. Nhưng việc thay đổi dấu vân tay trên tay là một nhiệm vụ bất khả thi. Không giống như mã chip, có thể dễ dàng flash lại.

    Tại Đại hội Hacker Quốc tế ở Đức, Jan Krissler, hay còn gọi là Starbug, đã cho thấy việc giả mạo dấu vân tay từ các bức ảnh rất dễ dàng. Ông đã tạo ra được mô hình hoạt động của đầu ngón tay của Bộ trưởng Quốc phòng Đức Ursula von der Leyen từ một số bức ảnh được chụp bằng một chiếc máy ảnh tốt tại các cuộc họp báo và họp báo.

    Tôi đưa ra ví dụ về chiếc khóa trên cửa để nhấn mạnh ý tưởng triết học: vấn đề tương tự Cho đến gần đây, điều đó đơn giản là chưa bao giờ xảy ra với nhân loại. Thế giới sản xuất máy quét ngón tay vì chúng ta đã quen coi bản thân và cơ thể mình là độc nhất. Ý tưởng sử dụng nó để bảo vệ thông tin có vẻ đầy hứa hẹn. Chúng ta đã được dạy rằng thông tin có thể được sao chép bao nhiêu tùy ý, nhưng không quan trọng - theo định nghĩa, vật chất là duy nhất... Nhưng bây giờ hóa ra điều ngược lại mới đúng! Thế giới đang đến thời điểm mà chúng ta và cơ thể của chúng ta sớm muộn gì cũng sẽ bị lặp lại và mất đi giá trị. Nhưng thông tin đó sẽ vẫn là duy nhất. Không chỉ bất kỳ cái nào - được mã hóa đặc biệt cho mục đích này. Đây là những gì mật mã dạy chúng ta và nó dẫn chúng ta đến điểm kỳ dị này.