The setting considers payment network systems handling transactions. In this setting, there is a number of financial institutions (or Banks) denoted by
MessageId
- Globally unique identifier within this dataset for individual transactionsUETR
- The Unique End-to-end Transaction Reference—a 36-character string enabling traceability of all individual transactions associated with a single end-to-end transactionTransactionReference
- Unique identifier for an individual transactionTimestamp
- Time at which the individual transaction was initiatedSender
- Institution (bank) initiating/sending the individual transactionReceiver
- Institution (bank) receiving the individual transactionOrderingAccount
- Account identifier for the originating ordering entity (individual or organization) for end-to-end transaction,OrderingName
- Name for the originating ordering entityOrderingStreet
- Street address for the originating ordering entityOrderingCountryCityZip
- Remaining address details for the originating ordering entityBeneficiaryAccount
- Account identifier for the final beneficiary entity (individual or organization) for end-to-end transactionBeneficiaryName
- Name for the final beneficiary entityBeneficiaryStreet
- Street address for the final beneficiary entityBeneficiaryCountryCityZip
- Remaining address details for the final beneficiary entitySettlementDate
- Date the individual transaction was settledSettlementCurrency
- Currency used for transactionSettlementAmount
- Value of the transaction net of fees/transfer charges/forexInstructedCurrency
- Currency of the individual transaction as instructed to be paid by the SenderInstructedAmount
- Value of the individual transaction as instructed to be paid by the Sender
As those transaction messages are communicated through Label
Boolean attribute which indicates whether a transaction is anomalous or not.
Banks participating in the network payment system each has a dataset with the following fields:
Bank
- Identifier for the bankAccount
- Identifier for the accountName
- Name of the accountStreet
- Street address associated with the accountCountryCityZip
- Remaining address details associated with the accountFlag
- Enumerated data type indicating potential issues or special features that have been associated with an account, with values as follows:00
- No flag01
- Account closed03
- Account recently opened04
- Name mismatch05
- Account under monitoring06
- Account suspended07
- Account frozen08
- Non-transaction account09
- Beneficiary deceased10
- Invalid company ID11
- Invalid individual ID
As Flag
associated with an account, the goal is to augment the machine learning model, taking this attribute into account. However due to privacy regulations and laws (e.g. GDPR), this additional attribute needs to be shared with Flag
. In general, the primary goal is to enable
Based on the synthetic training datasets provided, we observed the following:
- For all transactions, the sender account
Flag
in the corresponding bank dataset is always00
. In other words, a transaction cannot spend funds from an account with an "abnormal" state. Therefore, only the receiving accountFlag
is of interest. - If the
Flag
(receiving) account attribute has a value other than00
, then a transaction sending to this account is always marked as anomalous in the training dataset. The contrapositive is that a transaction marked as non-anomalous, then the receiving accountFlag
is always00
.
Our tailored solution leverages the above two observations. To incorporate the extra Flag
information into the model maintained by
During inference, when
In our approach,
We assume there is an underlying PKI in place: all parties are aware of the public keys of the other parties and can use those to encrypt messages that can be decrypted only by said parties.
During inference time, when
In principle,
Our approach uses a combination of oblivious transfer and secret sharing for protecting privacy.
As privacy in this setting implies protecting against private data leakage from the respective data holders, we discuss each case separately below.
The aggregator aids
To protect privacy, the aggregator samples and adds noise to aggregated updates. We assume that the aggregator will not observe the model or its outputs.
During training, a Bank only learns the account queried and the secret share
During training,
Our goal is to hide flag-information at account level and not merely pertaining to individual transactions from
During inference,
We empirically evaluated the privacy-accuracy trade-off against the membership inference attack during training time.
We empirically evaluate the privacy leakage during training time leveraging aspects of the classic membership inference attack (MIA) framework.
-
(Shadow model generation.) In MIA, the attacker learns a set of shadow models using its own data to investigate the relation between training data and resulting model. Let
$D_{known}$ denote the transactions where$S$ knows the receiver's bank account flag, and let$D_{unknown}$ denote the remaining transactions.$S$ first trains$m=5$ shadow models over different train/test splits of$D_{known}$ . The shadow model training is identical to training the target anomaly detector. -
(MIA model generation.) During the test time of the shadow model,
$S$ collects the model prediction over two copies, one with bank status flag 0 and another with flag 1, for each transaction. This prediction, together with the transaction's feature, becomes training data for the MIA model. The label of the data is 1 if the bank flag is correct and 0 otherwise.$S$ then trains an MIA model over the generated dataset. In our evaluation, the model is a MLP with three hidden layers of 128, 64 and 64 nodes. -
(Account flag inference.) For each transaction in
$D_{unknown}$ ,$S$ collects two copies of predictions from the target anomaly detection model --- one with bank flag 0 and another with bank flag 1 --- and concatenates each prediction with the transaction features. Then,$S$ use the MIA model generated in Step 2 to calculate which bank flag is more likely to be true.
(Privacy.) Since non-anomalous transactions always have a 'normal' receiver account flag 0, we only consider
(Accuracy.) The sample XGBoost solution with AUPRC=0.6 without bank account flags is considered a baseline. An AUPRC lower than that will defeat the purpose of sharing information through federated learning.
The table below shows the training time privacy-accuracy trade-off of our learning protocol. Even in the strong attack scheme, our noise injection mechanism can effectively enhance privacy in federated learning. When adding Gaussian noise (
Table: Privacy-accuracy tradeoff. A larger AUPRC indicates better anomaly detection model performance. A smaller MIA success rate corresponds to better privacy-protection of bank account flags during training. Gaussian noise with
Attack Strength |
Noise | MIA Success Rate |
AUPRC |
---|---|---|---|
Strong |
No noise Gaussian, Laplace, Gaussian, Laplace, |
0.93 0.92 0.86 0.80 0.57 |
0.79 0.72 0.70 0.65 0.13 |
Weak |
No noise Gaussian, Laplace, Gaussian, Laplace, |
0.89 0.89 0.84 0.79 0.56 |
0.79 0.76 0.70 0.65 0.13 |