Breaking VISA mã PIN

Jul 02, 2008 tại Ngân hàng và EFTPoS

Dưới đây là một bài báo tôi được tìm thấy trong thời gian gần đây. Điều này một trong những mô tả toàn diện nhất của giá trị gia tăng

Tôi nghĩ tôi sẽ tái nó vào đây cho tôi địa phương tham khảo.

Như ý kiến đã được thực hiện liên quan đến ngữ pháp được sử dụng trong bản gốc tôi đã sửa chữa một số lỗi trong khi duy trì rõ ràng bối cảnh của bản gốc tài liệu.

http://69.46.26.132/ ~ biggold1/fastget2you/tutorial.

--- Original ----

Tựa
Các bạn đã bao giờ tự hỏi điều gì sẽ xảy ra nếu bạn của bạn bị mất hay và có người tìm thấy nó. Nên người này có thể rút tiền mặt từ máy ATM đoán, nào đó, của bạn? Hơn nữa, nếu bạn là người tìm thấy một ai đó của xin bạn hãy thử đoán và có cơ hội để dễ dàng nhận được một số Tất nhiên câu trả lời cho các câu hỏi cần được cả hai "không". Điều này làm việc không đối phó với câu hỏi thứ hai, đó là một vấn đề về Ghim theo đây tôi cố gắng trả lời những câu hỏi đầu tiên.

Tất cả các thông tin được sử dụng cho công việc này là công khai và có thể được tự do tìm thấy trong Phần còn lại là một vấn đề của và lập trình, vì vậy chúng tôi có thể tìm hiểu và có một số thú vị. Tôi không tiết lộ bí mật. Hơn nữa, mục đích (và cuối cùng của công việc này là để chứng minh rằng thuật toán vẫn còn đủ mạnh để cung cấp đầy đủ Chúng tôi biết tất cả các không phải là

Điều này làm việc phân tích một trong những phổ biến nhất thuật toán, được sử dụng bởi nhiều thanh toán) và cố gắng tìm hiểu cách thức kháng là đoán cuộc tấn công. Bởi "đoán" Tôi không có nghĩa là lựa chọn ngẫu nhiên một và thử nó trong một máy ATM. Nó cũng được biết, thông thường chúng tôi là đưa ra ba lần liên tiếp thử nghiệm để nhập đúng nếu chúng ta không thành công máy ATM giữ Như là bốn chữ số dài rất dễ dàng để deduce rằng các cơ hội ngẫu nhiên cho một đoán là 3 / 10000 = 0,0003, có vẻ như thấp đủ để được an toàn: nó có nghĩa là bạn cần phải làm mất của bạn nhiều hơn ba nghìn lần ( hay mất đi hơn ba nghìn thẻ cùng một lúc:) cho đến khi có một hợp lý của cơ mất

Những gì tôi thực sự có nghĩa là của "đoán" là vi phạm các để đưa ra bất kỳ bạn có thể ngay lập tức có liên quan đến Vì vậy tài liệu này có khả năng nghiên cứu, phân tích các và đề nghị một phương pháp cho các cuộc tấn Cuối cùng, chúng tôi cung cấp một công cụ nào mà thực hiện các và hiện tại, và kết quả ước tính về các cơ hội để vi phạm hệ thống. Lưu ý rằng, cũng như lâu dài như các liên quan đến các thuật toán (các các định dạng như IBM hoặc xác nhận chữ ký như là hoặc CVC) là tương tự như cùng một phân tích có thể được thực hiện yielding gần giống như kết quả và kết luận.



Một trong những phổ biến nhất là thuật toán giá trị gia tăng Các khách hàng là cho một và một Mã hóa trong là bốn chữ số, được gọi là Con số này là một cryptographic chữ ký của các và các liên quan đến Khi người dùng nhập vào mình trên máy ATM đọc những encrypts và gửi cho tất cả các thông tin này đến một trung tâm máy tính. Có một thử nghiệm được tính bằng cách sử dụng của khách hàng nhập và các tin với một cryptographic Phiên tòa là so với các được lưu trữ trong nếu họ phù hợp với trung tâm máy tính trả về cho máy ATM cho phép Xem chi tiết hơn.

Bản mô tả của có thể được tìm thấy trong hai tài liệu liên kết ở trang trước đó. Trong bản tóm tắt nó bao gồm trong các của một 8 byte (64 bit) chuỗi dữ chuyển đổi gọi là Parameter (TSP), với (DEA) trong Mã số Sách của chế độ (ECB) bằng cách sử dụng một chìa khóa bí mật 64-bit. Các là thu được từ các sản phẩm của mã quá trình, mà là một chuỗi ký tự 8 byte. Bốn chữ số của (từ trái sang phải) là người đầu tiên tương ứng với bốn chữ số thập phân (từ trái sang phải) của sản lượng từ khi coi như là một 16 hexadecimal ký tự (16-bit x 4 = 64-bit) chuỗi. Nếu không có bốn chữ số thập phân trong 16 ký tự hexadecimal thì được hoàn thành thực hiện (từ trái sang phải) và ký tự không phải thập decimalizing chúng bằng cách sử dụng chuyển đổi A-> 0, B-> 1, C-> 2, D -> 3, E-> 4, F-> 5. Dưới đây là một ví dụ:

Kết quả từ 0FAB9CDEFFE7DCBA

0975

Các chiến lược tránh decimalization của các ký tự bỏ qua cho đến khi bốn chữ số thập được tìm thấy (trong đó sẽ xảy ra để được gần như tất cả những lần khi chúng tôi sẽ xem dưới đây) là rất thông minh bởi vì nó rất quan trọng tránh thiên vị trong việc phân phối của các chữ số đã được chứng minh là mang lại gây tử vong cho các hệ thống khác, mặc dù những tác động trên hệ thống này sẽ được số tiền thấp hơn. Xem còn là một vấn đề có liên quan không phải nộp đơn xin

Các TSP, được xem như là một 16 hexadecimal ký tự (64-bit) chuỗi ký tự, được hình thành (từ trái sang phải) với những bìa phải 11 chữ số của PAN (số chưa bao gồm các chữ số cuối cùng (số kiểm tra), một trong những chữ số từ 1 đến 6 mà chọn những bí mật encrypting phím và cuối cùng là bốn chữ số của Dưới đây là một ví dụ:

VNM: 1234 5678 9012 3445
Phím chọn: 1
2468

TSP: 5678901234412468

Rõ ràng về vấn đề vi phạm bao gồm tìm các bí mật encrypting khoá cho Các phương pháp đó là để làm brute một lực lượng tìm kiếm của chính không gian. Lưu ý rằng đây không phải là chỉ có phương pháp, một trong những cố gắng để có thể tìm thấy một suy DEA, đã cố gắng rất nhiều, nhưng theo tiêu chuẩn cũ này vẫn còn trong sử dụng rộng (nay được thay thế bằng AES và mặc dù). Điều này được minh chứng mạnh mẽ đủ để brute lực lượng là chỉ hữu hiệu đối với phương pháp (có một số cuộc tấn công tốt hơn nhưng không phải thực tế trong trường hợp của chúng tôi, cho thấy một bản tóm tắt LASEC memo và bẩn cho các thông tin chi tiết xem Biham & Shamir năm 1990, Biham & Shamir 1991, Matsui 1993, Biham & Biryukov 1994 và Heys 2001).

Các phím chọn chữ số đã được giới thiệu rất có khả năng bao phủ được khả năng của một phím compromise. Trong trường hợp đó, họ chỉ cần phát hành thẻ mới bằng cách sử dụng phím chọn khác. Cu hơn thẻ có thể được thay thế bằng những cái mới, hoặc đơn giản chỉ các máy ATM có thể transparently viết mới (tương ứng với các khoá mới và giữ cùng một sau thời gian sử dụng cho khách hàng của mình Đối với các lắc của tất cả các người dùng sẽ được yêu cầu thay đổi của họ PINs, tuy nhiên nó có thể lúng túng cho các để giải thích lý do, do đó, rất có khả năng họ sẽ không thực hiện các yêu cầu như vậy.

Chuẩn bị


Đáp brute vũ lực bao gồm trong một encrypting TSP với biết có thể sử dụng tất cả các encrypting phím và so sánh từng đạt với những người biết Khi một kết hợp được tìm thấy là chúng tôi có một ứng cử viên chủ chốt. Nhưng làm thế nào chúng tôi có nhiều phím để thử? Như chúng tôi đã nói ở trên chính là 64-bit dài, điều này sẽ có nghĩa là chúng tôi đã thử 2 ^ 64 chìa khóa. Tuy nhiên điều này là không đúng sự thật. Hiện nay chỉ có 56 bit có hiệu quả trong việc phím bởi vì một chút (ít nhất đáng kể trên) ra khỏi lịch sử đã từng octet reserved như một checksum cho những người khác, trong những người thực hành 8 bit (một cho mỗi của 8 octets) được bỏ qua.

Vì vậy các phím không gian bao gồm 2 ^ 56 chìa khóa. Nếu chúng tôi thử tất cả các phím này, chúng tôi sẽ tìm thấy một và chỉ một trận đấu, tương ứng với các bí quyết quan trọng? Chắc chắn không. Chúng tôi sẽ có được nhiều kết hợp phím. Điều này là bởi vì chỉ là một phần nhỏ (một trong những thứ tư) của sản lượng. Hơn nữa các là degenerated bởi vì một số các chữ số (những người từ 0 đến 5 sau khi vừa qua, nhìn thấy từ trái sang phải, từ 6 chữ số và 9) có thể đến từ một thập từ một chữ số hoặc chữ số decimalized hexadecimal của sản lượng. Vì vậy, nhiều phím sẽ sản xuất một sản lượng đó mang lại cho cùng một kết hợp

Sau đó, những gì chúng tôi có thể làm để tìm được những người thực sự quan trọng giữa các phím tích cực khác sai? Chỉ cần chúng tôi đã để mật mã khác nhau TSP thứ hai, cũng được biết đến với nhưng chỉ những thí sinh bằng cách sử dụng phím đó đã tích cực kết hợp với đầu tiên cặp. Tuy nhiên không có gì đảm bảo chúng tôi sẽ không lấy lại nhiều sai tích cực cùng với các phím thật sự. Nếu vậy, chúng tôi sẽ cần có một thứ ba-TSP cặp, lặp lại quá trình, vv.

Trước khi chúng tôi bắt đầu của chúng tôi chúng ta phải biết có bao nhiêu cặp chúng tôi sẽ cần. Cho rằng, chúng ta phải tính toán cho một ngẫu nhiên suất đầu ra để phù hợp với một chỉ của cơ. Có một số cách để tính toán con số này và tại đây, tôi sẽ sử dụng một phương pháp tiếp cận đơn giản, dễ hiểu, nhưng mà đòi hỏi một số nền tảng về của

Một luôn luôn có thể được coi là tỉ lệ thuận lợi cho các trường hợp có thể có trường hợp. Trong vấn đề của chúng tôi có thể có số lượng các trường hợp là do của 16 yếu tố (trên 0 đến F hexadecimal chữ số) trong một nhóm của 16 người trong số họ (trên 16 chữ số hexadecimal của sản lượng). Điều này là do 16 ^ 16 ~ 1,8 * 10 ^ 19 trong đó tất nhiên là trùng với 2 ^ 64 (số điện thoại khác nhau của 64 bit). Điều này thiết lập các số điện thoại có thể được chia thành năm loại:

Những người có ít nhất là bốn chữ số thập phân (0 đến 9) trong 16 hexadecimal chữ số (0 to F) của sản lượng.

Những người có chính xác chỉ có ba chữ số thập phân.

Những người có chính xác chỉ có hai chữ số thập phân.

Những người có chính xác chỉ có một chữ số thập phân.

Những người không có chữ số thập phân (tất cả giữa A và F).

Hãy tính toán có bao nhiêu con số nằm trong mỗi thể loại. Nếu chúng tôi các nhãn 16 chữ số hexadecimal của sản lượng như X1 vào x16 sau đó chúng tôi có thể gắn nhãn là người đầu tiên bốn chữ số thập phân của bất cứ số lượng các danh mục đầu tiên là Xi, Xj, XK và Xl. Số lượng các kết hợp khác nhau với các hồ sơ này được dành cho các sản phẩm của 6 i-1 * 10 * 6j-i-1 * 10 * 6k-j-1 * 10 * 6 LK-1 * 10 * 1616-l, nơi 6 ' s đến từ số lượng các khả năng cho một A đến F chữ số, trong 10 người đến từ các khả năng cho một chữ số 0 đến 9, và 16 đến từ các khả năng cho một chữ số 0 đến F. Bây giờ trong tổng số điện thoại đầu tiên trong thể loại đơn giản chỉ là do summation của sản phẩm này trên i, j, k, l từ 1 đến 16, nhưng với i <j <k <l. Nếu bạn làm một số việc làm toán, bạn sẽ nhìn thấy bằng này đến sản phẩm của 104 / 6 với các summation qua tôi từ 4 đến 16 / (i-1) * (i-2) * (i-3) * 6i-4 * 16 16-i ~ 1,8 * 1019.

Analogously số trường hợp trong loại thứ hai là do summation trên i, j, k từ 1 đến 16 với i <j <k sản phẩm 6i-1 * 10 * 6j-i-1 * 10 * 6k-j -1 * 10 * 616-k mà bạn có thể làm việc nó ra để được 16! / (3! * (16-13)!) * 103 * 6 13 = 16 * 15 * 14 / (3 * 2) * 103 * 613 = 56 * 104 * 613 ~ 7,3 * 1015. Tương tự cho loại thứ ba, chúng tôi có hơn summation i, j từ 1 đến 16 với i <j của 6 i-1 * 10 * 6j-i-1 * 10 * 616-j mà bằng đến 16! / (2! * (16-14)!) * 102 * 614 = 2 * 103 * 615 ~ 9,4 * 1014. Một lần nữa, đối với loại thứ tư của chúng tôi có hơn summation i từ 1 đến 16 của 6i-1 * 10 * 616-i = 160 * 615 ~ 7,5 * 1013. Và cuối cùng là số tiền trong trường hợp thứ năm được dành cho thể loại của sáu yếu tố (A đến F chữ số) trong một nhóm của 16, có nghĩa là, 616 ~ 2,8 * 1012.

Tôi hy vọng quý vị theo tính toán đến thời điểm này, các phần cứng được thực hiện. Bây giờ là một bằng chứng rằng tất cả mọi thứ là đúng, bạn có thể tổng số các trường hợp mắc bệnh trong 5 loại và xem nó bằng tổng số các trường hợp, chúng tôi có thể tính toán trước. Do các hoạt động bằng cách sử dụng 64-bit số điện thoại hoặc tròn (cho floats) hoặc tràn (cho integers) lỗi sẽ không cho phép bạn nhận được kết quả chính xác.

Đến nay chúng tôi đã tính toán số lượng các trường hợp có thể có trong mỗi năm của các chuyên mục, nhưng chúng tôi đang quan tâm đến việc nhận được số lượng các trường hợp thuận lợi để thay thế. Điều này là hết sức dễ dàng lấy được Sau đó kể từ khi cựu fixing này chỉ là sự kết hợp của bốn chữ số thập phân (hoặc theo yêu cầu chữ số hexadecimal nếu không có bốn chữ số thập phân) của thay vì cho phép chúng miễn phí. Trong thực hành này có nghĩa là số 10 của người lao động trong các công thức trên vào 1 và được yêu cầu số tiền của 6 người vào 1 của nếu không có bốn chữ số thập phân. Tức là, chúng tôi đã chia kết quả đầu tiên của 104, điều thứ hai của 103 * 6, thứ ba của một trong 102 * 62, thứ tư của một trong 10 * 63 và thứ năm của một trong 64. Sau đó, số lượng các trường hợp, thuận lợi trong năm chuyên mục được khoảng 1,8 * 1015, 1.2 * 1012, 2,6 * 1011, 3,5 * 1010, 2,2 * 109 tương ứng.

Bây giờ chúng tôi có thể để có được những gì là cho một đầu ra để phù hợp với một của cơ. Chúng tôi chỉ cần thêm các số điện thoại của năm trường hợp, thuận lợi và chia cho tổng số các trường hợp có thể có. Làm điều này, chúng tôi có được là là rất hay một trong khoảng 0,0001 ra mười nghìn. Nó là lạ này cũng làm tròn kết quả? Không phải ở tất cả các, chỉ cần có một nhìn vào những con số mà chúng tôi tính toán ở trên. Đầu tiên thể loại chi phối bởi một số đơn đặt hàng của magnitude số thuận lợi và có thể có trường hợp. Điều này là khá trực quan như nó có vẻ rõ ràng rằng nó là rất khó không có bốn chữ số thập phân (10 cơ ra là 16 cho mỗi chữ số) trong số 16 chữ số hexadecimal. Chúng tôi đã thấy trước đó rằng các mối quan hệ giữa số lượng và thuận lợi cho các trường hợp có thể có trong các danh mục đầu tiên là một bộ phận của 10 ^ 4, đó là nơi mà kết quả của chúng tôi p = 0,0001 đến từ.

Mục tiêu của chúng tôi cho tất cả các phép tính đã được làm thế nào để tìm hiểu nhiều đôi chúng ta cần phải mang theo một thành công brute vũ lực Bây giờ chúng tôi có thể tính toán ra những sai số trong một tích cực tìm kiếm đầu tiên: nó sẽ được cho số lần thử nghiệm các cho một ngẫu nhiên sai tích cực, có nghĩa là t * p mà t = 2 ^ 56, kích cỡ của chìa khóa không gian. Số tiền này vào khoảng 7,2 * 10 ^ 12, một số khá lớn. Ra những sai số tích cực trong việc tìm kiếm thứ hai (bị giới hạn để tích cực tìm thấy chìa khóa trong tìm kiếm đầu tiên) sẽ được (t * p) * p, cho một bên thứ ba sẽ được tìm kiếm ((t * p) * p) * p và vv. Vì vậy, cho n tìm kiếm ra những sai số lượng tích cực sẽ được t * p ^ n.

Chúng tôi có thể có được số lượng các yêu cầu để tìm kiếm mong đợi chỉ là một sai ý tích cực của phương trình t * p ^ n = 1 và giải quyết cho n. Vì vậy, n bằng cho trong cơ sở p 1 / t, mà do tài sản của nó mang lại logarithms đăng nhập n = (1 / t) / log (p) ~ 4,2. Vì chúng tôi không thể làm một fractional tìm kiếm đó là thuận lợi để bao chung quanh con số này. Vì vậy những gì được ra những sai số tích cực, nếu chúng ta thực hiện năm tìm kiếm? Đó là t * p ^ 5 ~ 0,0007 hay khoảng 1 trên 1400. Do đó, bằng cách sử dụng năm cặp an toàn để có được thật sự bí mật mà không có chìa khóa giả tích cực.

Các


Sau khi chúng tôi biết chúng tôi cần năm cặp, làm thế nào để chúng tôi nhận được chúng? Tất nhiên chúng tôi cần ít nhất một với người biết và do tính chất của đó là điều duy nhất mà chúng tôi cần. Với các hệ thống riêng, như IBM, chúng tôi cần phải xin thẻ năm, tuy nhiên điều này là không cần thiết với Chúng tôi chỉ cần có để đọc và sau đó thay đổi bốn lần, nhưng đọc sau mỗi lần thay đổi.

Nó là cần thiết để đọc của để lấy các và encrypting phím chọn. Bạn có thể mua một thương mại hoặc thực hiện một mình làm theo các hướng dẫn bạn có thể tìm thấy trong các trang trước và liên kết trong đó. Một khi bạn có một thấy tiêu chuẩn này mô tả của magnetic theo dõi để tìm hiểu làm thế nào để có được sự từ các đọc. Trong tài liệu đó các trong lĩnh vực theo dõi 1 và 2 được gọi là tính lâu năm, nhưng thực sự thật sự bao gồm bốn chữ số cuối cùng. Đầu tiên của năm chữ số là các phím chọn. Tôi chỉ có thẻ nhìn thấy với một giá trị là 1 trong số này, mà là phù hợp với tiêu chuẩn và với những bí mật không bao giờ được công chính (và do đó họ không cần phải di chuyển đến một phím thay đổi chọn).

Tôi đã làm một chương trình đơn giản, C, getpvvkey.c, để thực hiện các cuộc tấn Nó bao gồm một vòng lặp để có thể thử tất cả các chìa khóa để mật mã đầu tiên TSP, nếu thu được khớp với đúng mới TSP là thử, và như vậy về cho đến khi có một mismatch, trong đó có trường hợp quan trọng là bỏ đi và một hình mới là cố gắng, hay là năm bắt nguồn PVVs phù hợp với thực PVVs tương ứng, trong đó có trường hợp chúng tôi có thể giả định rằng chúng tôi đã cho ngân bí quyết quan trọng, tuy nhiên trong vòng lặp đi trên cho tới khi nó exhausts phím không gian. Điều này được thực hiện để bảo đảm chúng tôi thấy thật sự quan trọng bởi vì đó là một cơ hội (mặc dù rất thấp) là người đầu tiên được tìm thấy chính là một sai tích cực.

Đây là dự kiến chương trình sẽ mất một thời gian rất dài để kết thúc và để giảm thiểu rủi ro của một quyền lực cắt, máy tính hang out, etc checkpoints hiện nó vào tập tin getpvvkey.dat theo thời gian (chính xác thời gian phụ thuộc vào tốc độ của máy tính, nó khoảng một giờ cho các máy tính nhanh nhất hiện nay sử dụng). Cũng tương tự như vậy, nếu tích cực là chìa khóa được tìm thấy nó được ghi vào tập tin getpvvkey.key. Chương trình chỉ hiển thị một trong những bài viết ở đầu, các vị trí bắt đầu lấy từ checkpoint tập tin nếu có, sau đó không có gì hơn được hiển thị.

Các là một điểm quan trọng trong chương trình, nó là do đó rất quan trọng để tối ưu hóa tốc độ của nó. Tôi kiểm tra một số triển khai: libdes, SSLeay, openssl, cryptlib, nss, libgcrypt, catacomb, libtomcrypt, cryptopp, UFC-crypt. Các chức năng của bốn lần đầu tiên được dựa trên cùng một mã số của Eric Young và là một trong những nơi thực hiện hay nhất (bao gồm tối ưu hoá C và x86, assembler mã). Vì vậy, tôi đã chọn libdes mà ban đầu đã được thực hiện và có liên quan condensed tất cả các mã trong các tập tin encrypt.c (C phiên bản) và x86encrypt.s (x86, assembler phiên bản). Các mã được chút sửa đổi để đạt được một số cải tiến trong một brute vũ lực ban đầu là một cố định thông thường trong mỗi steep TSP và do đó có thể được thực hiện chỉ một lần vào đầu. Một là cải tiến mà tôi đã viết một chức năng hoàn toàn mới setkey (tôi gọi nó nextkey) là tối ưu cho một lực lượng brute loop.

Để có được chương trình làm việc bạn chỉ cần địa điểm tương ứng năm TSPs và các PVVs và sau đó biên dịch nó. Tôi đã thử nghiệm nó chỉ có trong hệ điều hành UNIX, bằng cách sử dụng makefile Makegetpvvkey để biên dịch (sử dụng lệnh "make-f Makegetpvvkey"). Nó có thể biên dịch trên các hệ thống khác, nhưng bạn có thể cần phải sửa chữa một số điều. Hãy chắc chắn rằng các định nghĩa của các long64 tương đương với một số nguyên 64-bit. Về nguyên tắc không có dependence trên endianness của các bộ xử lý. Tôi đã biên soạn thành công và chạy nó trên Pentium-Linux, Alpha-kiểu Tru64, MIPS-Irix và Sparc-Solaris. Nếu bạn không có và không muốn cài đặt Linux (bạn không biết những gì bạn đang thiếu ;-) bạn vẫn có được sự lựa chọn để chạy Linux trên đĩa CD và sử dụng các chương trình của tôi, xem trang web của tôi đang chạy Linux, không cần cài đặt nó.

Một khi bạn đã được tìm thấy những bí mật quan trọng nếu bạn muốn tìm thấy của một arbitrary bạn chỉ cần viết một chương trình tương tự (xin lỗi tôi đã không viết nó, I'm too lazy:) mà có thể thử tất cả 10 ^ 4 PINs bằng cách tạo ra tương ứng TSP, encrypting với nó (không còn), bí quyết quan trọng, deriving các và so sánh nó với các trong của Bạn sẽ nhận được một trận đấu cho đúng Chỉ có một trận đấu? Hãy nhớ rằng những gì chúng ta đã thấy ở trên, chúng tôi có một cơ hội của 0,0001 là một ngẫu nhiên phù hợp với Chúng tôi đang cố gắng 10000 PINs (và do đó TSPs) như vậy, chúng tôi hy vọng 10000 * 0,0001 = 1 sai tích cực trên mức trung bình.

Đây là một kết quả rất thú vị, nó có nghĩa là, trung bình, mỗi có hai PINs hợp lệ: các mã Khách hàng và dự kiến sai tích cực. Tôi gọi nó là "giả", nhưng lưu ý rằng, cũng như lâu dài vì nó tạo ra thật sự đó là một như là hợp lệ của khách hàng một. Hơn nữa, không có cách nào để biết được đó, ngay cả đối với các máy ATM, chỉ có khách hàng biết. Ngay cả khi các sai tích cực như không hợp lệ đã được bạn vẫn còn có ba thử nghiệm tại các máy ATM anyway, đủ trên mức trung bình. Vì vậy các chúng tôi tính toán ban đầu của tài liệu này về ngẫu nhiên đoán của các đã được sửa chữa. Hiện nay nó được hai lần mà giá trị, nghĩa là, nó là một trong những 0,0006 hoặc ra hơn 1600, vẫn an toàn ở mức thấp.

Kết quả


Điều quan trọng là để tối ưu hóa việc biên soạn của chương trình và chạy nó trong việc xử lý nhanh nhất có thể do sự mong đợi lâu dài thời gian chạy. Tôi thấy rằng các compiler tối ưu hóa cờ-O được tốt hơn các hiệu quả hoạt động, tư tưởng là đạt được một số cải tiến thêm-fomit-frame-pointer cờ trên Pentium-Linux, thì spike-cờ trên Alpha-kiểu Tru64, các IPA-cờ trên MIPS-Irix và nhanh cờ trên Sparc-Solaris. Đặc biệt cờ (-DDES_PTR-DDES_RISC1-DDES_RISC2-DDES_UNROLL-DASM) cho mã có nói chung cũng như lợi ích. Tất cả các cờ này đã được thử nghiệm và tôi đã lựa chọn kết hợp tốt nhất cho mỗi bộ xử lý (xem makefile) nhưng bạn có thể thử sử dụng tốt để điều chỉnh khác cờ.

Theo các xét nghiệm tốt nhất của tôi là đạt được hiệu suất với các bộ xử lý AMD Athlon 1600 MHz xử lý, vượt quá 3,4 triệu đồng cho mỗi cái chìa khóa thứ hai. Điều thú vị này được kết quả tốt hơn Intel Pentium IV 1800 MHz và 2000 MHz (xem số liệu dưới đây, hãy nhấp vào đó để phóng to). Tôi tin rằng đây là do một số I / O bão hòa, chắc chắn bộ nhớ cache hay bộ nhớ mà các bộ xử lý AMD bộ xử lý (trong đó có một nửa bộ nhớ cache của Pentium) hay bo mạch chủ, trong đó nó được hoạt động, quản lý để tránh. Trong những con số đầu tiên bên dưới, bạn có thể thấy rằng các vi phạm tốc độ của tất cả các bộ xử lý đã có nhiều hơn hoặc ít hơn một mối quan hệ tuyến với tốc độ xử lý, ngoại trừ hai Intel Pentium tôi đã đề cập trước đây. Điều này là hợp lý, nó có nghĩa là cho một đôi tốc độ xử lý bạn sẽ nhận được gấp đôi tốc độ vi phạm, nhưng xem ra hiệu ứng cho bão hòa, trong trường hợp này là tốt hơn các bộ xử lý AMD Athlon 1600 MHz, mà sẽ được thậm chí rẻ hơn so với Intel Pentium 1800 MHz hoặc 2000 MHz.

Trong phần thứ hai con số, chúng tôi có thể xem chi tiết hơn những gì mà chúng tôi xin gọi intrinsic break sức mạnh của bộ xử lý. Tôi nhận được giá trị này chỉ đơn giản chia các vi phạm tốc độ của các bộ xử lý tốc độ, có nghĩa là, chúng tôi nhận được số lượng phím thử cho mỗi thứ hai và mỗi MHz. Đây là một thước đo hiệu suất xử lý của các độc lập của nó, tốc độ. Các kết quả cho thấy rằng các bộ xử lý tốt nhất cho nhiệm vụ này là bộ xử lý AMD Athlon, sau đó đến Alpha và rất gần sau khi được những Intel Pentium (trừ việc cao hơn tốc độ mà những người thân thực hiện rất nghèo do sự bão hòa có hiệu lực). Tiếp theo là bộ xử lý MIPS và cuối cùng là nơi Sparc. Một số Alpha và bộ xử lý MIPS được đặt ở dưới cùng của quy mô, vì họ được sớm phát hành không bao gồm các tính năng nâng cao của các phiên bản cuối. Lưu ý rằng tôi có hiệu suất của các bộ xử lý cho x86, C và assembler mã như có một Nó dường như gcc không phải là một máy phát điện của máy tính tối ưu mã, nhưng dĩ nhiên chúng tôi không biết tự tối ưu hóa của assembler mã khác cho các bộ xử lý (Alpha, MIPS, Sparc) sẽ cho kết quả của họ tăng so với bản C compilers (Tôi đã không sử dụng gcc cho các các hệ điều hành khác) như điều đó xảy ra với bộ xử lý x86.

Cập nhật

Đây là một bài báo, nơi các kỹ thuật này có thể đã được sử dụng.

http://redtape.msnbc.com/2008/08/could-a-hacker.html

Giao dịch tài chính Chế biến

Jul 02, 2008 tại Ngân hàng và EFTPoS

Tôi đã được làm việc trong thời gian gần đây bên trong một trong những ngân hàng lớn hơn tại
Thông qua công tác này tôi đã được xem các điều khiển và xung quanh việc các thanh toán xung quanh khu vực châu Á Thái Bình Dương.

Tôi nhận được thực hiện nhiều thống thanh toán đánh giá.
Qua nhiều năm tôi đã luôn luôn coi việc của như là một trong những cân nhắc.

Cho đến khi hôm qua tôi đã không bao giờ nhìn thấy một hoặc Tôi nghĩ rằng một số scripted sử dụng những công cụ này có thể sẽ rất thú vị.
Các trang web hziggurat29.com

Nhiều người trong số các các công cụ khác trên trang web này cũng rất độc đáo và đáng xem.
Lớn nhờ ziggurat29 để cung cấp các công cụ awesome.

Như nhiều người trong số các trang web này là thuộc loại này rất khó để tìm kiếm và thường xuyên dường như tan biến qua nhiều năm, tôi đã chọn để tái các từ trang này và cung cấp các bản sao của địa phương về các tập tin.
Đó là giá trị theo định kỳ truy cập vào trang web ziggurat29 hàng ngay bây giờ và một lần nữa để xem nếu có thêm các công cụ đã được đăng.

Một trong những tác phẩm nhiều hơn bất thường là Atalla Module phỏng) các công cụ. Vì vậy, tôi tự hỏi, nếu đang rung trong khởi động. Một số như thế nào tôi không nghĩ như vậy. ;-)

--- Ziggurat29 ---

Đây là tất cả các Windows command-line tiện ích (trừ trường hợp đã nêu); thực hiện với sự giúp đỡ-lựa chọn
để xác định sử dụng.

DUKPT decrypt (<- thật sự tập tin để tải về)

Đây là một mà sẽ Encrypted khối sản xuất đã được thông qua phương pháp. Tôi này được sử dụng để kiểm tra kết xuất của một số Pad phần mềm tôi đã tạo ra, nhưng cũng có ích cho các mục đích gỡ lỗi.

VISA PVV Máy Tính (<- thực tế
tập tin để tải về)

Đây là một mà sẽ tính và xác minh các giá trị đã được sản xuất bằng cách sử dụng Nó có một bunch of auxiliary chức năng, chẳng hạn như xác minh, một fixing VNM (Luhn tạo và encrypting khối, và decrypting extracting PINs từ mật mã khối, vv

VISA CVV Máy Tính (<- thật sự tập tin để tải về)

Đây là một mà sẽ tính các giá trị đã được sản xuất bằng cách sử dụng MasterCard CVC CVV sử dụng các do đó, nó sẽ làm việc cho rằng, cũng như tốt. Nó sẽ tính CVV3, iCVV, CAVV, từ các chỉ là các biến thể trên mã và các dịch vụ
định dạng của các ngày hết hạn. là chỉ cần tính giá trị so sánh với những gì bạn đã nhận được, do đó, không có sự rõ ràng chức năng.

Atalla AKB Máy Tính (<- thật sự tập tin để tải về)

Đây là một cho cả hai sẽ tạo ra và Atalla AKB cryptograms. Bạn sẽ cần có plaintext MFK để thực hiện các hoạt động kinh doanh. Khi decrypting, MAC cũng sẽ được kiểm tra và kết quả được hiển thị.

BogoAtalla (<- tập tin này vào thực tế
tải về)

Đây là một Atalla (hoặc simulator). Phần mềm này (mô phỏng) của nổi tiếng Atalla Module được sử dụng của các ngân hàng và xử lý cho cryptographic hoạt động, chẳng hạn như xác minh / dịch khối, các giao dịch của authorising xác minh
/ CSC số điện thoại, và trao đổi các thủ tục thực hiện chính, đã được thử nghiệm sản xuất cho các mục đích khác nhau. Đây không phải là việc triển khai thực hiện của HP hoàn tất Atalla lệnh đặt, nhưng là những chỉ
phần mà tôi không cần thiết. Điều đó được cho biết, nó sẽ được hoàn thành đủ nếu bạn đang thực hiện thu thập và / hoặc phát hành chức năng, và được sử dụng nhiều chương trình hiện đại như: và cần phải làm thế hệ, và dịch thuật.

Điều này chạy như là một ổ cắm lắng nghe và xử lý các bản Atalla lệnh đặt. Tôi đã đưa một số liberties lỗi trở về với các giá trị và không có phấn đấu cao Fidelity ở đó (ví dụ, bạn có thể nhận được một phản ứng khác nhau từ các bản báo lỗi nhưng chắc chắn sẽ nhận được giống nhau tích cực
hồi đáp. Một số tính năng triển khai thực hiện ở đây thường đòi hỏi phải mua bảo hiểm lệnh, nhưng tất cả các lệnh được thực hiện ở đây có sẵn. Các ví dụ được tạo ra giá trị và encrypting / decrypting plaintext giá trị.

BogoAtalla cho Linksys (<- thật sự tập tin để tải về)

Đây là Atalla chuyển để xây dựng cho Linux và cài đặt trên một hệ thống OpenWRT. Tạo cho một thực sự giá rẻ ($ 60 USD) / kiểm tra thiết bị.

Địa phương tập tin

bogoatalla002
atallaakbcalc
bogoatalla_10-1_mipsel
dukptdecrypt
visacvvcalc
visapvvcalc

"Contactless" thẻ tín dụng với RFID là một cách dễ dàng Hacked

Tháng Sáu 18, 2008 trong RFID

Blog đăng trên cung cấp thêm cho các cuộc thảo luận như là
không phù hợp của việc triển khai và chips trong hiện tại
thị trường.

http://www. .net/2006/10/23/report_contactless_c.html

Những điểm chung của các bài viết này là, ngân hàng và các chương trình cho biết họ đang sử dụng luân phiên khoá của tất cả các giữa / phát hành, nhưng đây rõ ràng là không phải là trường hợp trong nhiều tình huống.

Giấy thú vị khác là tại:

http://www.nytimes.com/packages/pdf/business/20061023_CARD/techreport.pdf

Thương mại điện tử Glossary

Tháng Sáu 18, 2008 tại Ngân hàng và EFTPoS

Cơ quan thu thập
Các mà giữ tài chính partaking trong một thường là người đầu tiên tham gia vào việc của một

Applet
Một chương trình máy tính nhỏ đó tạo điều kiện hiệu suất của các nhiệm vụ cụ thể.

Băng thông
The capacity of a to carry or process information. The higher the bandwidth the faster graphics-laden pages will download.

Browser
Short for browser, a software application used to locate and display pages. The two most popular browsers are Netscape Navigator and . Both of these are graphical browsers, which means that they can display graphics as well as . In addition, most modern browsers can present multimedia information, including sound and video, though they require plug-ins for some formats.

Caching
The automatic copying and storage of frequently used information onto a computer system – Typically caching is seen whilst surfing the (graphics, etc.) and used by Services Providers ( ’s) to reduce the amount of requested from the user onto the .

Issuer
The which issued the cardholder’s and .

Cardholder
The individual participating in the financial whose is being credited or debited.


The additional information printed on the to be processed. This is used to verify if the was present when the was initiated.  This is the additional digits imprinted on the usually on the reverse side for & Mastercard and on the front for AMEX.

Certificate
An x.509 certificate used to entities such as Merchants and Gateways. Certificates can be used to identify and/or encrypt sensitive such as numbers and personal cardholder information.

CGI
Common Gateway : A protocol that allows a page to run a program on a . Forms, counters, and guest books are common examples of CGI programs.

Any piece of software can be a CGI program if it handles input and output according to the CGI standard. Usually a CGI program is a small program that takes from a and does with it, like putting the content of a form into an e-mail message, or turning the into a database query. CGI “scripts” are just scripts which use CGI. CGI is often confused with Perl, which is a programming language, while CGI is an to the from a particular program.

Client
A computer or software that requests a service of another computer system or process (a “ ”). For example, a workstation requesting the contents of a file from a file is a client of the file . A browser is commonly referred to as a client.

Clients and Servers
In general, all of the machines on the can be categorised as two types: servers and clients. Those machines that provide services (like servers or FTP servers) to other machines are servers. And the machines that are used to connect to those services are clients.

When you connect to Yahoo at www.google.com to read a page, Google is providing a machine (probably a cluster of very large machines), for use on the , to service your request. Google is providing a . Your machine, on the other hand, is probably providing no services to anyone else on the . Therefore, it is a user machine, also known as a client. It is possible and common for a machine to be both a and a client !

Cookie
A file sent by some servers to your computer’s hard drive to enable you to quickly and easily return to particular sites. Cookies give rise to concerns as they are often used to store information used for marketing purposes.

The main purpose of cookies is to identify users and possibly prepare customised pages for them. When you enter a site using cookies, you may be asked to fill out a form providing such information as your name and interests. This information is packaged into a cookie and sent to your browser which stores it for later use. The next time you go to the same site, your browser will send the cookie to the . The can use this information to present you with custom pages. So, for example, instead of seeing just a generic welcome page you might see a welcome page with your name on it.

CRN
The Customer Receipt Number (CRN) is used to assist the holder, the gateway and the to confirm the has been processed and to track the throughout the end-to-end process. This is often used when making enquiries about a or for tracking.

Cybersquatting
Bad faith, abusive domain name registration. Cybersquatters register company and product names as domain names with a view to selling them at inflated prices to the “rightful” owners.

/CVC
The additional information printed on the to be processed. This is used to verify if the was present when the was initiated.  This is the additional digits imprinted on the usually on the reverse side for & Mastercard and on the front for AMEX.

Database
A collection of : part numbers, product codes, customer information, etc. It usually refers to organised and stored on a computer that can be searched and retrieved by a computer program.

Deep link
A hypertext link directly to a page, often bypassing home pages or other identifying pages.

Certificate
A pop up window that allows you to identify the level of used to secure a particular site.

Signature
A complex numeric “signature” designed to be used, in conjunction with special software, to the sender of a message and guarantee that the contents of the message have not been altered during to the recipient. The EU has adopted legislation which makes signatures legally valid. The Bill (Cth) 1999 has the same effect in .

Domain Name
The plain English name given to a host destination on the , for example, www.madrock.net. The suffix, dot.com is known as the generic top level domain, the prefix madrock. The domain name forms part of the Address or URL.

A name that identifies one or more IP addr