Khóa backdoor NSA trong Lotus Notes năm 2002
(cypherspace.org)- Trước khi các quy định kiểm soát xuất khẩu mật mã của Mỹ bị bãi bỏ, phiên bản Lotus Notes xuất khẩu có chứa một cấu trúc ký quỹ khóa/backdoor gọi là differential cryptography
- Cách này mã hóa 24 bit trong phần mã hóa 64 bit bằng khóa công khai của NSA để được cấp phép xuất khẩu; NSA chỉ cần vét cạn 40 bit còn lại là có thể truy cập bản rõ
- Trong quá trình reverse engineering, định danh khóa công khai của NSA bên trong ứng dụng hiện ra là
O=MiniTruth CN=Big Brother, cho thấy cách đặt tên theo phong cách Orwell có chủ ý - Dữ liệu khóa công khai được dựng lại từ ghi chú sau đó vài năm nên có khả năng có lỗi; modulus có vẻ là little endian, còn trong biểu diễn big endian thì
e = 3, dài 760 bit - ID người dùng
Director, NSA <dirnsa@nsa.gov>ở dạng khóa PGP là tự tạo và không phải khóa tự ký (self-signed)
Cấu trúc backdoor trong phiên bản Lotus Notes xuất khẩu
- Trước khi các quy định kiểm soát xuất khẩu mật mã của Mỹ bị bãi bỏ, phiên bản Lotus Notes xuất khẩu có chứa differential cryptography, một chức năng ký quỹ khóa/backdoor
- Ý tưởng cốt lõi là mã hóa 24 bit trong khóa 64 bit bằng khóa công khai của NSA để được cấp phép xuất khẩu
- NSA chỉ cần vét cạn 40 bit còn lại là có thể lấy được bản rõ
- Người dùng thông thường phải đối mặt với không gian khóa 64 bit, nhưng ngay cả vào thời điểm đó vẫn có khả năng NSA có thể bỏ chi phí cao hơn để vét cạn
- Reverse engineering được thực hiện với nhận định rằng đâu đó bên trong ứng dụng sẽ có khóa công khai NSA tương ứng với khóa riêng của NSA
Định danh khóa và dữ liệu khóa công khai được phát hiện
- Trong trình gỡ lỗi, tên tổ chức và tên chung của khóa công khai NSA xuất hiện như sau
O=MiniTruth CN=Big Brother
MiniTruthvàBig Brotherliên hệ đến các thuật ngữ trong tiểu thuyết 1984 của George Orwell- Ministry of Truth là cơ quan phụ trách tuyên truyền và đàn áp sự thật trong sách
- Big Brother xuất hiện là lãnh đạo độc ác của chính quyền đó
- Dữ liệu khóa công khai được tổng hợp dựa trên ghi chú vài năm sau quá trình reverse engineering, nên có khả năng có lỗi
- Modulus raw public key là giá trị lấy được từ trình gỡ lỗi, và sau khi thử sai được xác định có vẻ ở định dạng little endian
- Trong biểu diễn big endian,
e = 3 - Modulus dài 760 bit
- Trong biểu diễn big endian,
- Khóa công khai cũng được trình bày ở dạng khóa PGP
pub 760/13629D8D 1998/10/25 Director, NSA <dirnsa@nsa.gov>- ID người dùng này là tự tạo và không phải khóa tự ký
- Kết quả
pgpacketxác nhận đây là gói khóa công khai RSA- Version Byte: 3
- Key Created: 25 Oct 1998 01:12:02
- Algorithm: 1 (RSA)
- Key ID:
0xA703EFD313629D8D
1 bình luận
Ý kiến trên Hacker News
Về chủ đề này, đáng đọc bình luận của Ray Ozzie (người tạo ra Lotus Notes) trong một cuộc thảo luận HN năm 2013
https://news.ycombinator.com/item?id=5846189
Trước khi phần mềm được phát hành, Ray Ozzie và Kauffman đã công khai giải thích tại hội nghị RSA về việc họ đang làm. Đó không phải là backdoor bí mật, mà là tuân thủ kiểm soát xuất khẩu mà cả ngành khi đó đều phải đối phó. Bình luận của barrkel ở vài bình luận bên dưới cũng đáng đọc
https://en.m.wikipedia.org/wiki/Crypto_Wars
Nói ngắn gọn, chính phủ Mỹ trên thực tế cấm phát hành sản phẩm phân phối quốc tế có mã hóa mạnh. Hầu như mọi sản phẩm thương mại đều thuộc diện này, dù khi đó đã có các triển khai mã nguồn mở của mã hóa mạnh như PGP. Ngày nay bạn có thể đưa mã hóa an toàn đến mức nào tùy muốn vào sản phẩm rồi phân phối mà chẳng ai bận tâm, nhưng khi đó là thời kỳ xác suất bị chính phủ Mỹ tung toàn bộ công cụ pháp lý vào người gần như năm ăn năm thua. Đó thật sự là một giai đoạn cực kỳ điên rồ và mâu thuẫn
https://www.youtube.com/watch?v=vjkBAl84PJs
Việc bẻ khóa nó vẫn không hoàn toàn tầm thường, nhưng trong khoảng thời gian thử một mật khẩu trên tài liệu Office hiện đại, bạn có thể thử hàng triệu mật khẩu với các mục trong archive ZIP
(2002)
Các cuộc thảo luận trước đây có Lotus Notes trong tiêu đề:
4 năm trước
https://news.ycombinator.com/item?id=21859581
8 năm trước
https://news.ycombinator.com/item?id=9291404
10 năm trước
https://news.ycombinator.com/item?id=5846189
NSA's Backdoor Key from Lotus Notes (2002) - https://news.ycombinator.com/item?id=21859581 - tháng 12/2019 (87 bình luận)
NSA's Backdoor Key from Lotus Notes - https://news.ycombinator.com/item?id=9291404 - tháng 3/2015 (51 bình luận)
NSA's Backdoor Key from Lotus Notes - https://news.ycombinator.com/item?id=5846189 - tháng 6/2013 (85 bình luận)
NOBUS ngày xưa “tốt đẹp”. Một vài sai lầm thú vị hơn của NSA:
https://en.wikipedia.org/wiki/Clipper_chip
https://en.wikipedia.org/wiki/Dual_EC_DRBG
FBI thì không quá bận tâm nếu mọi người biết, vì những tội phạm mà họ nhắm tới thường không làm tốt an ninh tác nghiệp (OPSEC)
Thật đáng ngạc nhiên là người của NSA có đủ tự nhận thức để nhận ra đây là hành vi kiểu Big Brother, nhưng lại không nhận ra vì sao điều đó là xấu
Nhưng MiniTruth thì… chà, thật sự đáng kinh ngạc
Trong bối cảnh tiểu thuyết 1984, Ministry of Truth là cơ quan chuyên trách tuyên truyền, và toàn xã hội chìm trong tuyên truyền đó. Mọi thứ trong xã hội nơi họ sống đều là dối trá. Điều này thổi bay chút hy vọng cuối cùng rằng họ có thể có ý định tốt. Lần gần nhất tôi nhớ đến một ví dụ cho thấy họ khinh miệt một cách yếm thế những người mà họ tuyên bố phục vụ đến mức nào, và họ cẩu thả ra sao, là khi lộ ra rằng tên phòng chat nội bộ của FTX là ‘Wirefraud’
Chẳng phải ban đầu backdoor nằm trong mã ví dụ mà NSA cung cấp cho các công ty muốn dùng công nghệ mật mã sao? Tôi nhớ mang máng là họ đưa ra thứ gì đó như seed mẫu, rồi hầu hết các công ty chỉ copy/paste thay vì tự tạo số nguyên tố của mình, khiến NSA bẻ rất dễ
Ký ức hơi mờ và khó tìm nguồn gốc
Tôi tò mò không biết việc tìm khóa riêng bằng brute force từ khóa công khai RSA 760 bit năm 1998 sẽ khó đến mức nào. Có ai biết không?
Sau đó, vào năm 2019, một khóa 795 bit đã được phân tích thừa số, và thời gian CPU được cho là “khoảng 900 core-year trên CPU Intel Xeon Gold 6130 2,1GHz”. So với việc phân tích thừa số RSA-768, các tác giả ước tính thuật toán tốt hơn đã tăng tốc phép tính 3–4 lần, còn máy tính nhanh hơn tăng tốc 1,25–1,67 lần
Vì vậy, nếu giả định các thuật toán cải tiến cũng áp dụng được cho những số nhỏ hơn, thì có vẻ một người biết cách xử lý việc này có thể làm được trong vài tháng với vài chục máy hiện đại. Dù vậy, phân tích thừa số các số lớn có vẻ khó hơn rất nhiều so với chỉ chạy CADO-NFS rồi trỏ nó vào một con số và một cụm máy
Ví dụ, nếu dùng giá trị đi kèm bài báo phân tích thừa số thứ hai rằng “phép tính 795 bit lẽ ra khó hơn phép tính 768 bit 2,25 lần”, thì có thể xem việc phá khóa nhỏ hơn bằng phần mềm hiện đại cần 900/2,25 = 400 core-year CPU chuẩn Xeon. CPU này giờ cũng đã là mẫu 6 năm tuổi. Với 24 máy chủ 64 lõi có hiệu năng tương đương, sẽ mất hơn 3 tháng một chút. Việc này khá nặng nếu chỉ làm cho vui như sở thích, nhưng một công ty có lợi ích tài chính vừa đủ thì hoàn toàn có thể làm được, với điều kiện có nhân sự hiểu và tái hiện được quy trình này
https://crypto.stackexchange.com/a/1982
Giờ đã có đám mây nên tất cả những thứ này không còn cần thiết nữa. Do luật về dữ liệu lưu trữ, mọi email đã quá 6 tháng đều là đối tượng có thể bị tùy ý động tới
Liên quan: https://github.com/goshacmd/nsa_panel