Cỏc lƣợc đồ khúa giao dịch

Một phần của tài liệu Xây dựng hệ thống bảo mật internet banking ngân hàng công thương ở Việt Nam (Trang 64)

Lƣợc đồ khúa giao dịch (Transaction Key Scheme) là một kỹ thuật mà trong đú cỏc khúa mó húa dữ liệu đƣợc trao đổi trong mỗi giao dịch mà khụng một kẻ thứ ba nào cú thể lần theo đƣợc. Lƣợc đồ khúa giao dịch đƣợc sử dụng phổ biến cho cỏc giao dịch chuyển tiền trong cỏc dịch vụ thanh toỏn thẻ qua Internet Banking, điển hỡnh là cỏc hệ thống chuyển tiền tại cỏc điểm bỏn hàng (EFTPOS), khi yờu cầu thanh toỏn và việc thanh toỏn đƣợc trao đổi giữa ngƣời bỏn và ngƣời mua trờn mạng, hay nhà cung cấp dịch vụ và chủ thẻ.

Cú ba lƣợc đồ khúa giao dịch chuẩn đƣợc xõy dựng trong hệ thống ANMC, đú là: "Lƣợc đồ khúa giao dịch Racal (RTKS)", "Lƣợc đồ khúa giao dịch Australia (AS2805)" và "Lƣợc đồ khúa duy nhất xuất phỏt từ mỗi giao dịch (Derived Unique Key Per Transaction - DUKPT)".

3.4.5.1 Lƣợc đồ khúa giao dịch Racal

Lƣợc đồ khúa giao dịch Racal (Racal Transaction Key Scheme - RTKS) là kỹ thuật quản lý khúa rất gần với kỹ thuật xỏc thực thụng điệp (message

authentication). Cỏc hàm xõy dựng trong hệ thống ANMC bao gồm việc quản lý

khúa và cả việc tạo, xỏc minh mó xỏc thực thụng điệp MAC (Message

Authentication Code).

Trong lƣợc đồ khúa giao dịch Racal, khúa PIN trạm đầu cuối TPK và khúa xỏc thực trạm đầu cuối TAK sẽ đƣợc cập nhật sau mỗi giao dịch chuyển tiền điện tử bằng một thuật toỏn căn cứ vào khúa hiện thời và cỏc thụng tin chi tiết của giao dịch. Cỏc thụng tin này chỉ cú hai bờn thực hiện giao dịch biết và khụng đƣợc đƣa vào thành một phần của thụng điệp truyền đi, do đú bờn thứ ba khụng thể nào biết đƣợc.

Lƣợc đồ RTKS cho ta một độ an toàn cao trong việc bảo mật cỏc khúa mó húa. Kể cả khi kẻ thứ ba cú thể tỡm ra đƣợc giỏ trị của khúa mó húa để sử dụng

trong một khoảng thời gian nào đú thỡ kẻ đú cũng khụng thể tỡm ra đƣợc khúa mó húa của cỏc giao dịch trƣớc, do đú ta núi lƣợc đồ RTKS cho ta cỏch chống phỏ hoại lựi thời gian (break-backward) rất tốt. Cũn nữa, nếu một số dữ liệu trờn thẻ của ngƣời giao dịch khụng đƣợc truyền đi thỡ kẻ thứ ba cũng khụng thể tỡm ra đƣợc khúa mó húa mới cho cỏc giao dịch tiếp theo. Ta núi lƣợc đồ cho ta cỏch phũng chống tấn cụng tiến theo thời gian (break-forward).

Hỡnh 12 - Lƣợc đồ khúa giao dịch Racal

Giải thuật cập nhật khúa mó húa đƣợc sử dụng trong lƣợc đồ Racal đƣợc xõy dựng trờn cơ sở hàm một chiều (One Way Function - OWF) chứa giỏ trị khúa hiện tại và mó xỏc thực thụng điệp MAC lọc ra từ cỏc thụng điệp yờu cầu và đỏp lại trong giao dịch. Việc lọc ra mó MAC từ giao dịch là rất quan trọng vỡ chỳng khụng phải là một phần của dữ liệu đƣợc truyền đi.

Trong lƣợc đồ Racal, cỏc mó xỏc thực thụng điệp đƣợc tớnh bằng cỏch sử dụng một khúa suy ra đƣợc từ khúa giao dịch nhƣng khụng phải là khúa giao dịch. Cỏch làm này cũng đƣợc ỏp dụng cho khúa mó húa số PIN.

3.4.5.2 Lƣợc đồ khúa giao dịch Australia

Lƣợc đồ khúa giao dịch Australia (Australian Transaction Key Scheme -

ATKS) cho phộp chủ tài khoản, chủ thẻ sử dụng cỏc chức năng bảo mật của hệ thống

ANMC theo cỏc tiờu chuẩn của Australia (Australian Standard - AS) 2850. Hệ thống ANMC đƣợc sử dụng nhƣ một ngoại vi bảo mật cho cả mỏy chủ thanh toỏn (Acquirer Host) và mỏy chủ phỏt hành thẻ (Card Issuer Host). Trong một số ứng dụng, bờn thanh toỏn cú thể đƣợc bờn phỏt hành thẻ uỷ thỏc để thực hiện việc xỏc thực cỏc giao dịch.

Xử lý tại bờn thanh toỏn duy nhất (Acquirer-Only processing)

Đƣợc sử dụng khi bờn thanh toỏn cũng chớnh là bờn phỏt hành thẻ. Sơ đồ luồng dữ liệu đó đƣợc đơn giản húa dƣới đõy cho ta thấy quỏ trỡnh xử lý đƣợc bảo mật nhƣ thế nào.

Hỡnh 13 - Lƣợc đồ ATKS, quỏ trỡnh xử lý tại bờn thanh toỏn duy nhất

Khi mỏy chủ (Host) chuyển một thụng điệp từ một trạm đầu cuối (Terminal) đến, mỏy chủ (Host) sẽ thiết lập tớnh hợp lệ của thụng điệp bằng việc kiểm chứng mó MAC (quỏ trỡnh xử lý phụ thuộc vào việc cú hay khụng mó số PIN trong giao dịch).

Mỏy chủ thanh toỏn kiểm tra tài khoản của chủ thẻ để kiểm tra số tiền cú hợp lệ cho giao dịch khụng. Nếu cú số PIN (đƣợc mó húa gửi từ mỏy trạm tới mỏy chủ),

hệ thống ANMC sử dụng một trong cỏc giải thuật chuẩn cho việc kiểm chứng để xỏc nhận số PIN là đỳng.

Mỏy chủ sinh ra mó MAC cho thụng điệp phản hồi (response message) sẽ đƣợc gửi trả lại mỏy trạm. Mó này sẽ bao gồm cả tham số xỏc thực (Authorization

Parameter) nếu thụng điệp phản hồi chỉ rừ giao dịch đƣợc chấp thuận. Ngƣợc lại,

nếu giao dịch khụng đƣợc chấp thuận thỡ mó MAC sẽ khụng chứa mó xỏc thực (mó xỏc thực là một giỏ trị đƣợc sinh ra bằng giải thuật mật mó).

Nếu chủ thẻ nhập sai số PIN, Acquirer sẽ trả lại loại thụng bỏo "khƣớc từ" , thƣờng là cựng với yờu cầu nhập lại số PIN. Việc nhập lại số PIN đƣợc coi nhƣ một giao dịch mới.

Mỏy trạm cú thể gửi một xỏc nhận hoàn thành (Completion Confirmation) chứa mó MAC sẽ đƣợc mỏy chủ kiểm tra. Thụng điệp cuối cựng, một xỏc nhận hoàn thành cú thể chứa mó MAC, đƣợc sinh ra trờn mỏy chủ.

Xử lý bờn thanh toỏn hoặc phỏt hành thẻ (Acquirer/Card Issuer processing)

Đƣợc sử dụng khi bờn thanh toỏn khụng phải là bờn phỏt hành thẻ. Thụng điệp yờu cầu kiểm chứng mó MAC khụng cú PIN và quỏ trỡnh xử lý mó MAC tƣơng tự nhƣ trong xử lý Acquirer-Only ở trờn.

Mỏy chủ thanh toỏn thực hiện việc kiểm chứng thụng điệp yờu cầu mó MAC và trả lại khúa mó húa PIN (PIN Encrypting Key - PEK), khối PIN (PIN block) sẽ đƣợc mó húa bằng khúa này. Khối PIN sẽ đƣợc mó húa hai lần, lần thứ nhất bằng khúa của thẻ, một giỏ trị thƣờng khụng cú hiệu lực với cơ sở chấp nhận thẻ, lần thứ hai là bằng khúa PEK. Bờn thanh toỏn cú thể thực hiện giải mó bằng cỏch sử dụng khúa PEK nhƣng khụng thể tiến hành việc giải mó lần thứ hai để phỏt hiện ra đƣợc khối PIN rừ.

Tuy nhiờn, bờn thanh toỏn cú thể thực hiện dịch mó để khối PIN đó đƣợc mó húa bằng khúa thẻ trở về dạng mó húa bằng khúa vựng (zone key) đó đƣợc thiết lập trƣớc đú giữa bờn phỏt hành và bờn thanh toỏn. Việc dịch mó là một chức năng độc lập vỡ cựng một lỳc với việc xỏc thực thụng điệp, nhiều gúi phần mềm khụng biết đến bờn phỏt hành thẻ và do đú khụng biết đến khúa vựng sau cựng.

Hỡnh 14 - Lƣợc đồ ATKS, quỏ trỡnh xử lý bờn thanh toỏn/phỏt hành thẻ

Chức năng sau cựng của bờn thanh toỏn là sinh mó MAC cho cỏc thụng điệp phản hồi đi. Tham số xỏc thực nếu cú sẽ cú đƣợc từ bờn phỏt hành thẻ. Nú đƣợc chuyển đến bờn thanh toỏn và đƣợc mó húa bằng một biến của một khúa vựng khỏc.

Cú thể núi rằng tất cả cỏc thụng điệp chuyển đi từ bờn phỏt hành thẻ đều đƣợc bảo vệ bởi mó MAC. Cú hai hàm mó húa MAC nhị phõn đƣợc xõy dựng cho mục đớch này, sử dụng khúa chủ/phiờn truyền thống. Một hàm để sinh ra mó MAC cho một thụng điệp nhị phõn cho trƣớc, hàm cũn lại để đỏnh giỏ mó MAC.

Bờn phỏt hành thẻ nhận thụng điệp cú chứa khối PIN đó đƣợc mó húa từ mỏy chủ thanh toỏn và kiểm chứng số PIN bằng cỏch sử dụng một trong cỏc giải thuật kiểm chứng PIN (IBM, Diebold, Visa PW) hoặc so sỏnh thẳng. Hàm kiểm chứng cũn sinh ra tham số xỏc thực và mó húa tham số đú bằng một biến số (variant) của khúa vựng hoặc gửi cho bờn thanh toỏn.

Nếu giao dịch khụng chứa số PIN, một hàm sinh tham số xỏc thực và mó húa tham số đú bằng một biến số của khúa vựng sẽ đƣợc ỏp dụng.

Giải thuật mó húa dữ liệu:

Kỹ thuật mó húa cơ bản trong chuẩn AS2805 là giải thuật mó húa dữ liệu (Data Encryption Algorithm - DEA). Nú tƣơng tự nhƣ chuẩn mó húa DES và đƣợc mụ tả nhƣ sau:

Hàm cú thể thực hiện mó húa (E) hoặc giải mó (D). Khúa đầu vào là 64 bit, hoặc 8 bit tƣơng ứng với cỏc bit chẵn lẻ của DEA và khụng đƣợc sử dụng nhƣ một phần của hàm.

Hàm một chiều:

Hàm một chiều cú đầu vào là hai giỏ trị K và D 64bit và cho đầu ra nhƣ sau:

Dấu cộng là hàm OR-loại trừ 64 bit (cộng modulo 2). Với khúa K ở đầu vào, chỉ cú 56 bit đƣợc sử dụng nhƣ một phần của hàm, 8 bit khỏc là cỏc bit chẵn lẻ của DEA.

Hàm thiết lập khúa mó MAC (MAC Key - MK):

X= 2424242424242424 (16 ký tự mó hexa biểu diễn số 64 bit)

D và K là cỏc giỏ trị số 64 bit, nhƣng với K, 8 bit tƣơng ứng với cỏc bit chẵn lẻ của khúa DEA khụng đƣợc sử dụng trong quỏ trỡnh xử lý. Khúa TK là một giỏ trị 64 bit khụng cú chỉnh chẵn lẻ, do đú tớnh chẵn lẻ sẽ khụng đƣợc kiểm tra trong quỏ trỡnh chuyển đổi khúa từ dạng mó húa bằng LMK vỡ tất cả 64 bit đều đƣợc sử dụng.

Hàm thiết lập khúa mó húa số PIN:

Khúa mó húa số PIN (PIN Encryption Key - PEK) đƣợc thiết lập nhƣ sau:

X= 2828282828282828 (16 chữ số hexa biểu diễn số 16 bit)

D và K là cỏc giỏ trị 64 bit, nhƣng với K, 8 bit tƣơng ứng với cỏc bit chẵn lẻ khúa DEA bị loại bỏ. Khúa TK là một giỏ trị 64 bit khụng cú chỉnh chẵn lẻ, do đú tớnh chẵn lẻ sẽ khụng đƣợc kiểm tra trong quỏ trỡnh chuyển đổi khúa từ dạng mó húa bằng LMK vỡ tất cả 64 bit đều đƣợc sử dụng.

Cỏc trƣờng A và B bị đảo ngƣợc thứ tự so với giải thuật tạo khúa MAC.

Sử dụng vựng dữ liệu cho ngƣời dựng cho cỏc khúa:

Hệ thống ANMC dành một vựng bộ nhớ để lƣu cỏc giỏ trị đƣợc sử dụng thƣờng xuyờn nhƣ là cỏc khúa. Việc sử dụng vựng nhớ này cho cỏc khúa trạm đầu cuối (Terminal Key) khụng đƣợc khuyến cỏo vỡ bộ nhớ luụn biến động và khụng đƣợc cập nhật tự động.

Hàm sinh tham số xỏc thực và khúa thẻ

ABCD là cỏc trƣờng thụng tin trờn thẻ. Số kiểm toỏn dấu vết hệ thống (Systems Trace Audit Number - STAN), số định danh trạm chấp nhận thẻ (Card

Acceptor Terminal Identification - CATID) và số tiền giao dịch (Amount Transaction - AT) là cỏc giỏ trị đƣợc sinh bởi hàm này. Chỳng đƣợc kết hợp với

nhau nhƣ sau:

 Sỏu số (24 bit) của STAN đƣợc dồn sang trỏi (left- justified), cỏc số 0 đƣợc điền vào bờn phải cho đủ 64 bit, dịch sang trỏi (shift-left) 1 bit khụng điền bit 0 ở bờn phải, sau đú làm ph ộp OR loại trừ với 8 ký tự (64 bit) của CATID đó dịch trỏi 1 bit và đƣợc điền đủ cỏc số 0.

 Kết quả của bƣớc trờn đƣợc kết hợp OR-loại trừ với 12 số (48 bit) của AT, dồn sang phải, điền đủ số 0 để cú 64 bit.

 Giỏ trị khúa thẻ (Card Key) đƣợc sử dụng nhƣ dữ liệu đầu vào của hàm một chiều, do đú tất cả 64 bit đƣợc sử dụng, do đú khụng đƣợc thực hiện việc chỉnh chẵn lẻ của khúa DEA.

Cập nhật khúa trạm đầu cuối

Khúa trạm đầu cuối (Terminal Key - TK) đƣợc cập nhật khi kết thỳc giao dịch mà chƣa đọc đến giao dịch tiếp theo. Nú đƣợc cập nhật nhƣ sau bằng cỏch sử dụng hai thặng dƣ (residue) của MAC, MR1 và MR2, và một hàm một chiều.

Tớnh chẵn lẻ khụng đƣợc chỉnh trong khúa TK tiếp theo.

Phần mềm ứng dụng cần phải cú chức năng duy trỡ hai khúa TK trờn cơ sở dữ liệu mỏy chủ để thực hiện việc đồng bộ húa lại khi thụng điệp bị mất. Thụng thƣờng cỏc khúa này đƣợc định nghĩa nhƣ là khúa đƣợc sử dụng lần cuối (cỏc khúa đỳng sử dụng lần cuối) và khúa dự đoỏn tiếp theo. Cần phải chỳ ý để đảm bảo rằng cơ sở dữ liệu đƣợc cập nhật đỳng thời điểm trong giao dịch.

3.4.5.3 Lƣợc đồ khúa duy nhất dẫn xuất từ giao dịch

Hệ thống khúa duy nhất dẫn xuất từ giao dịch (Derived Unique Key Per

Transaction - DUKPT) là hệ thống cỏc khúa "dẫn xuất" đƣợc sử dụng phổ biến tại

cỏc điểm thanh toỏn (POS), khi bờn thanh toỏn cú thể chấp nhận cỏc giao dịch từ rất nhiều thiết bị nhập số PIN.

Kỹ thuật này sử dụng một khúa số seri (serial number key) khụng bớ mật và một khúa dẫn xuất cơ sở (base derivation key) bớ mật. Trong mỗi giao dịch, thiết bị nhập số PIN (PIN-pad) sử dụng khúa duy nhất dựa trờn khúa trƣớc đú và khúa số seri chứa bộ đếm giao dịch. Thiết bị này mó húa số PIN bằng khúa duy nhất này cho kết quả là số PIN đó mó húa và khúa số seri gửi cho bờn thanh toỏn. Trong hệ thống ANMC, khúa đƣợc mó húa bởi PIN-pad đƣợc "dẫn xuất" bằng việc sử dụng khúa dẫn xuất cơ sở và khúa số seri do PIN-pad cung cấp.

Cựng một khúa dẫn xuất cơ sở cú thể đƣợc sử dụng bởi hàng ngàn PIN-pad vỡ mỗi PIN-pad cú một mó seri duy nhất. Do đú, mỗi PIN-pad sinh ra một khúa duy nhất cho tất cả cỏc giao dịch và việc tấn cụng phỏ khúa cú thể thực hiện đƣợc ở một PIN-pad nhƣng khụng thể thực hiện đƣợc ở cỏc PIN-pad khỏc.

Mỏy chủ IncomeBank cần quản lý và duy trỡ cỏc khúa dẫn xuất cơ sở. Với mỗi giao dịch, mỏy chủ kiểm chứng xem số seri do PIN-pad cung cấp cú đỳng khụng và lấy ra một khúa dẫn xuất cơ sở phự hợp đó mó húa trong kho nội tại đó đƣợc định nghĩa bới phần bờn trỏi nhất trờn số seri. Mỏy chủ IncomeBank điều khiển việc sinh ra khúa dẫn xuất cơ sở.

Khúa số seri (Key Serial Number-KSN): là một giỏ trị hexadecimal cú độ dài biến đổi để định danh duy nhất cho mỗi PIN-pad. Số seri cú cỏc trƣờng sau:

 Định danh khúa dẫn xuất cơ sở: từ 5-9 chữ số hexa.  Khúa con định danh (tựy chọn)

 Định danh thiết bị, đƣợc sử dụng để đảm bảo rằng khúa số seri là duy nhất, sử dụng từ 2-5 số hexa. Khụng cú hai PIN-pad nào cú cựng khúa dẫn xuất cơ sở và khúa con định danh mà lại cú cựng định danh thiết bị.

 Bộ đếm giao dịch do PIN-pad cung cấp để phõn biệt cỏc giao dịch riờng biệt. Trƣờng này sử dụng 21 bit, đƣợc hệ thống ANMC sử dụng để tớnh khúa PIN thực sự. Bit bờn trỏi nhất là bit bờn phải nhất của định danh thiết bị.

Mỏy chủ cung cấp cho hệ thống ANMC mụ tả khúa số seri dài 3 ký tự định nghĩa độ dài của mỗi trƣờng. Phần mụ tả này cũng đƣợc lƣu trong kho tại Host và đƣợc sử dụng để chỉ ra cỏc khúa dẫn xuất cơ sở. Chi tiết phần mụ tả này nhƣ sau:

 Ký tự bờn trỏi: độ dài khúa dẫn xuất cơ sở.

 Ký tự ở giữa: độ dài khúa con định danh (=0 nếu khụng cú khúa con)  Ký tự bờn phải: độ dài định danh thiết bị

Một phần của tài liệu Xây dựng hệ thống bảo mật internet banking ngân hàng công thương ở Việt Nam (Trang 64)