INDIA SP BranchlessBanking 2013

12
7/23/2019 INDIA SP BranchlessBanking 2013 http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 1/12 Practical Receipt Authentication for Branchless Banking Saurabh Panjwani, Bell Labs India, [email protected] ABSTRACT Although branchless banking systems have spread to differ- ent parts of the developing world, methods to ensure trans- actional security in these systems have seen slower adop- tion because of a variety of operational constraints. A basic requirement from such systems is the provision of secure and reliable receipts to users during transactions, and re- cent attacks have demonstrated that existing systems fall short of fulfilling this requirement in practice. In this paper, we propose a simple and practical protocol to enable users to authenticate transaction receipts in branchless banking systems. Our protocol makes novel use of missed calls (sent from users to the bank) to help distinguish real receipts from spoofed ones and can be implemented on any mobile phone, without software installation. Besides preventing spoofing attacks, the protocol enjoys significant advantages of usabil- ity, efficiency and cost, which make it a more practical choice than other schemes. We also discuss ways to use missed calls to mitigate man-in-the-middle attacks on branchless bank- ing systems. Categories and Subject Descriptors C.2 [Computer-Communication Networks]: Security and Protection; K.4.4 [Computers and Society]: Elec- tronic Commerce—security General Terms Security, Human Factors Keywords Branchless banking, mobile, security, authentication, receipts 1. INTRODUCTION Branchless banking systems have become prevalent in the developing regions of the world as a carrier of financial ser- vices to the economically disadvantaged populations. In- stead of setting up brick-and-mortar branches and ATM ma- chines, these systems rely on distributed human agents to provide banking facilities to people with difficult access to traditional banking. With a rapidly growing user base, daily transaction volumes running into millions of dollars [17] and increasing encouragement from governments and financial regulators [5], the business and social case for branchless banking seems to have been established. An abridged version of this work appears in ACM DEV ’13. This is the full version. Technologically, though, these systems still stand on weak ground, lacking the kind of foundation that has been used to build other forms of electronic commerce. To reduce costs, service providers use purely mobile-based messaging to communicate with users during transactions and strive to ensure compliance with basic (non-programmable) phones, still widely present in the developing world. This, coupled with the need for high usability amongst poorly-educated users, throws up new security challenges, which are difficult to address via standard approaches. In response, providers tend to use ad-hoc security measures to protect parts of their systems and sometimes, leave parts completely unprotected. In this paper, we focus on a key component of branchless banking systems which has been particularly difficult to se- cure because of the above constraints and which has also been the subject of attacks in multiple recent events. This component is the process of providing receipts to users at the end of transactions as a statement of transaction com- pletion. Receipts are typically delivered to users over a cel- lular network via SMS on their personal phones and are a key indicator of a transaction having been recorded with the provider. In some systems, receipts are given to customers on printed paper using custom devices held by agents. In either mode, there is usually no way for the user to verify the validity of a receipt or to detect receipt forgery. We propose a simple and practical protocol that enables users to verify the authenticity of receipts in branchless bank- ing transactions. Our protocol makes novel use of missed calls 1 to help users distinguish genuine receipts from fake ones and is based on one simple insight: instead of having the user be a passive receiver of a receipt during transac- tions, require him to  actively  poll the service provider be- fore the receipt is sent to him. We use missed calls for per- forming this polling, which not only minimizes bandwidth and the cost to the user, but also ensures high usability by our target audience. We propose numerous extensions and variations of our protocol, which achieve different levels of security—including security against certain types of man-in- the-middle attacks—with different associated usability and deployability tradeoffs. We also discuss ways to use missed calls to improve the reliability of receipts in existing systems. 1 A missed call is a voice call that is terminated before being established i.e. before being answered by the recipient. It enables the recipient to register a communication attempt from the sender, without actual transfer of voice data.

Transcript of INDIA SP BranchlessBanking 2013

Page 1: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 1/12

Practical Receipt Authentication for Branchless Banking∗

Saurabh Panjwani,Bell Labs India,

[email protected]

ABSTRACTAlthough branchless banking systems have spread to differ-ent parts of the developing world, methods to ensure trans-actional security in these systems have seen slower adop-tion because of a variety of operational constraints. A basicrequirement from such systems is the provision of secureand reliable receipts to users during transactions, and re-cent attacks have demonstrated that existing systems fall

short of fulfilling this requirement in practice. In this paper,we propose a simple and practical protocol to enable usersto authenticate transaction receipts in branchless bankingsystems. Our protocol makes novel use of missed calls (sentfrom users to the bank) to help distinguish real receipts fromspoofed ones and can be implemented on any mobile phone,without software installation. Besides preventing spoofingattacks, the protocol enjoys significant advantages of usabil-ity, efficiency and cost, which make it a more practical choicethan other schemes. We also discuss ways to use missed callsto mitigate man-in-the-middle attacks on branchless bank-ing systems.

Categories and Subject DescriptorsC.2 [Computer-Communication Networks]: Securityand Protection; K.4.4 [Computers and Society]: Elec-tronic Commerce—security 

General TermsSecurity, Human Factors

KeywordsBranchless banking, mobile, security, authentication, receipts

1. INTRODUCTIONBranchless banking systems have become prevalent in the

developing regions of the world as a carrier of financial ser-vices to the economically disadvantaged populations. In-stead of setting up brick-and-mortar branches and ATM ma-chines, these systems rely on distributed human agents toprovide banking facilities to people with difficult access totraditional banking. With a rapidly growing user base, dailytransaction volumes running into millions of dollars [17] andincreasing encouragement from governments and financialregulators   [5], the business and social case for branchlessbanking seems to have been established.

∗An abridged version of this work appears in ACM DEV’13. This is the full version.

Technologically, though, these systems still stand on weakground, lacking the kind of foundation that has been usedto build other forms of electronic commerce. To reducecosts, service providers use purely mobile-based messagingto communicate with users during transactions and strive toensure compliance with basic (non-programmable) phones,still widely present in the developing world. This, coupledwith the need for high usability amongst poorly-educated

users, throws up new security challenges, which are difficultto address via standard approaches. In response, providerstend to use ad-hoc security measures to protect parts of theirsystems and sometimes, leave parts completely unprotected.

In this paper, we focus on a key component of branchlessbanking systems which has been particularly difficult to se-cure because of the above constraints and which has alsobeen the subject of attacks in multiple recent events. Thiscomponent is the process of providing receipts to users atthe end of transactions as a statement of transaction com-pletion. Receipts are typically delivered to users over a cel-lular network via SMS on their personal phones and are akey indicator of a transaction having been recorded with the

provider. In some systems, receipts are given to customerson printed paper using custom devices held by agents. Ineither mode, there is usually no way for the user to verifythe validity of a receipt or to detect receipt forgery.

We propose a simple and practical protocol that enablesusers to verify the authenticity of receipts in branchless bank-ing transactions. Our protocol makes novel use of missedcalls1 to help users distinguish genuine receipts from fakeones and is based on one simple insight: instead of havingthe user be a passive receiver of a receipt during transac-tions, require him to   actively   poll the service provider be-fore the receipt is sent to him. We use missed calls for per-forming this polling, which not only minimizes bandwidth

and the cost to the user, but also ensures high usability byour target audience. We propose numerous extensions andvariations of our protocol, which achieve different levels of security—including security against certain types of man-in-the-middle attacks—with different associated usability anddeployability tradeoffs. We also discuss ways to use missedcalls to improve the reliability of receipts in existing systems.

1A missed call is a voice call that is terminated before beingestablished i.e. before being answered by the recipient. Itenables the recipient to register a communication attemptfrom the sender, without actual transfer of voice data.

Page 2: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 2/12

Our protocol provides security against receipt spoofing at-tacks and we prove its security with respect to a variant of the security model proposed in [20]. The security offering isweaker than what can be achieved using cryptographic tech-niques but we believe that this limitation is more than offsetby the other benefits the protocol offers. We highlight othertechniques we have considered in solving the receipt authen-tication problem in branchless banking and argue why our

technique is the most practical choice amongst these. Ourprotocol is currently being considered for deployment by aleading branchless banking provider in India named Eko [1].

The rest of the paper is organized as follows. We presentbackground and related work in Sect. 2.  In Sect. 3, we givemore information on Eko and the lessons we have learntby observing Eko’s operations in the field. These lessonshave critically influeced some of our design choices, as weelaborate later. Section  4   presents our system model andSect. 5 describes our basic protocol. Sections 6 and 7 presentextensions of the protocol and Sect. 8   concludes the paper.

2. BACKGROUND AND RELATED WORK

With growing institutional emphasis on inculcating savinghabits amongst the world’s poor and recent criticisms of micro-credit  [12], branchless banking systems have becomea powerful instrument for social transform in the developingworld. Unlike micro-credit systems, these systems treat asavings account as the starting point for financial inclusionand are usually very tightly integrated with existing bank-ing networks. They either provide savings as the primaryproduct or enable operations on savings accounts (like re-mittances) for those who have difficult access to banks.

Transactions involve a human intermediary (the “agent”)who is required to facilitate banking on behalf of the providerand is paid a nominal fee in return for his services. In most

systems, the agent is a local community member, the ownerof a mom-and-pop shop, who provides agent services to vis-iting customers from within his shop’s premises. Some sys-tems use agents who are mobile and make door-to-door visitsto remote customers. Both models have their pros and cons.In this paper, we assume the first model although extendingour results to the mobile agent model is easy.

In a typical transaction, a customer approaches an agent,and makes a request for a transaction which could eitherbe a deposit, withdrawal or a money transfer. In the caseof deposits and money transfers, the agent checks that thecustomer has the right amount of cash in hand and sendsa transaction message to a central server using his mobilephone. The server validates the transaction request andresponds with an SMS receipt to both the agent and thecustomer on their respective phones. (In some systems, theresponse is sent only to the agent and the latter prints out aphysical receipt for the customer.) Once the receipt arrives,cash is transferred to the agent. The server maintains avirtual balance for the agent which is debited during depositsand replenished when the agent later submits the collectedcash to the provider. Customers can also withdraw moneyfrom their accounts by visiting the same or different agent.Finally, there is an enrolment procedure which customersmust go through in order to start using any of the services;this process is similar to, but less demanding than, what

banks normally perform during account creation.

2.1 RisksOne could list several potential threats to branchless bank-ing systems (as done in [20]), but there are two which seemmost relevant to practice. The first is an attack in which amalicious user tries to operate an account that he is not au-thorized to operate, e.g., by stealing the victim’s phone. All

known branchless banks implement a defense against this at-tack by requiring that (a) customers submit suitable creden-tials during withdrawals, and (b) agents do the same duringdeposits and money transfers. User credentials are protectedfrom theft using different techniques, like programming theSIM card of users’ phones [2] or using special security tokensto encipher PINs   [1]. See [21]   for a detailed discussion onthis topic.

The second serious threat to branchless banking is the forgeryof receipts that are given to users after every transaction.Fake receipts can cause users to yield cash even when atransaction has not been recorded by the provider. Receiptforgery is of greater concern in branchless banking than in

traditional e-commerce because here, a receipt could sym-bolize an account credit for real cash that is given awayto another user (and not necessarily a debit for goods pur-chased). Existing systems use plain SMS or paper for com-municating receipts to users and spoofing such messages iseasy, given recent technological advances2.   It is this threatthat forms the focus of the current work.

2.2 Related WorkDespite the widespread use of branchless banking servicesin practice, there is little academic literature on the securityissues surrounding them. Recent work from the systemscommunity discusses the challenges associated with securitydesign for branchless banking [19, 20], but unlike the do-

main of ATM-based banking and credit card commerce, nosystematic standards of security have yet evolved.

Kumar   et al.   [15]   present an ethnographic study on cash-based payment practices in India and based on this study,provide guidelines for designing mobile payment systemsfor developing countries. While their study brings out thepotential value digital receipts can bring to monetary ex-changes in developing countries, there is no discussion onsecurity of receipts, which is where our contribution lies.

The threat of spoofing is encountered in several electronicapplications and there is a rich set of techniques used to pre-vent it. In web-based commerce, the Transport Layer Secu-

rity (TLS) protocol, underlying the ubiquitous HTTPS pro-tocol, is used to provide protection from spoofing and forgeryand it relies on cryptographic message authentication codes(MACs) for this purpose [8]. A similar approach is used bythe widely-deployed SSH and IPSec protocols   [25, 13]. Inthe domain of Internet routing, the S-BGP protocol and itsvariants use digital signatures to prevent spoofing of routeannouncement messages [14]. In general, cryptographic ap-proaches like these provide the best defense against spoof-ing but they are difficult to apply in the realm of branchless

2SMS Spoofing (http://www.smsspoofing.com) and similarservices allow spoofing SMSes from any PC or smartphone.

Page 3: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 3/12

banking because of the limited programmability of client de-vices in this setting. (See Sect. 6.1  for more.)

Non-cryptographic approaches to prevent spoofing have alsobeen explored in the past, particularly in the domain of wire-less networking. Two popular techniques are the use of re-ceived signal strength (RSS) to detect spoofers [7]  and thatof “jamming” an adversary’s transmissions with supporting

hardware  [16,   11]. These techniques are designed specifi-cally for short-range wireless networks and detect spoofingat the physical layer of the network; in contrast, our interestis in application-layer security for cellular networks. We alsohope to avoid the use of additional hardware (besides onephone per user), as is necessitated by some of these tech-niques.

The idea of using missed calls for security purposes has somereal-world precedents. Numerous services in the developingworld today use missed calls to authenticate claimed pos-session of phones in commercial transactions; see, for exam-ple,   [3, 4]. However, the security ob jectives these servicesaddress are different from ours: there, the goal is to authen-ticate the source  of the missed call whereas in our work, it isto authenticate the destination  (or rather, that a given mes-sage originated from a given destination). We do discussthe former problem as well in the paper, and clarify furtherdifferences with prior work in Sect. 5.2.

3. SETTING THE CONTEXT: EKOThis section lays down the context in which our researchis anchored. We describe current practices at a prominentbranchless banking provider in India called Eko and some of the lessons we have learnt by observing their operations.

Eko is a business correspondent of State Bank of India (SBI),the leading public sector bank of India, and also of two pri-vate banks—ICICI Bank and Yes Bank. It has been op-erating in India since 2007 and at the time of this writ-ing, serves over 1.5 million customers, through nearly 2000agents, in eight Indian states. The main service offered byEko is money transfer using which a customer can submitcash (upto a limit) at an agent outlet and have an equiva-lent amount of money credited in a bank account anywherein India, for a fee of roughly 1%. The target accounts maybe regular bank accounts or those created using a branch-less service like Eko, and the electronic transfer time rangesfrom a few minutes (in the case of SBI) to 1 day (in the caseof the private banks). The service is targeted at low-incomemigrant workers in urban India who regularly need to sendmoney to their rural relatives but are unable to obtain apersonal bank account (due to domicile requirements) in or-der to accomplish this. There are indications that over 100million people of this type live in the country [23]. Suchpeople, who would earlier either rely on expensive methodslike the post office to send money, or spend numerous hoursstanding in queues at bank branches, now use branchlessbanking services like Eko to meet their needs.

The actual protocol for money transfer involves mobile mes-saging between the agent and an Eko-operated server inwhich the agent first submits transaction details and her cre-

Figure 1: (L) An SMS receipt for a successfulmoney transfer transaction in Eko. (R) A customerwaits for a receipt while sitting in an agent shop.(Credit: Mohona Ghosh)

dentials to the server either using a protocol called USSD3

or, in the case of some newer agents, via a mobile app resid-ing on an Android phone. After running suitable checks onthe transaction message, the server responds with a transac-tion receipt indicating a debit in her effective balance at Eko

and also sends a receipt, in the form of SMS, to the trans-acting customer as shown in figure  1. The receipt beginswith the phrase “Deposit successful” following which trans-action details like the amount transferred, the target accountnumber, the fees deducted for the transaction, agent phonenumber, a transaction identifier (TID) and a timestamp areincluded. Fields are named in English, which is not the firstlanguage for most customers, but easier to implement inSMS. Customers are required to provide cash to the agentafter receiving and verifying the details of the transaction re-ceipt. First-time transacters must register themselves usingan enrolment protocol which also involves mobile messageexchange of a type similar to that in the money transfer andsometimes, even a KYC (know-your-customer) verification.

Eko reports a daily transaction volume of more than Rs.50million ($1 million)4 in its money transfer offering. Typi-cal money transfers fall in the range of Rs.2000 to Rs.5000($40-$100) and an agent may receive upto 200 customers ona single day. Daily cash collections can thus easily run intothousands of dollars on a per agent basis and agents maymake multiple visits to nearby bank branches everyday tooffload cash and restore electronic balances. It is commonfor customers to remit almost their entire monthly incomesin a single Eko transaction, leaving themselves the bare min-imum for local consumption.

Besides money transfers, Eko also provides a facility to open

“mini” savings accounts with SBI, targeted at people whocannot afford regular savings accounts at banks. Such ac-counts are easier to create but can be transacted only atEko outlets; transaction volumes and frequency are also re-stricted for them. Customers can deposit money into theseaccounts using a protocol similar to the money transfer pro-tocol, check their balance, withdraw money and even trans-

3USSD stands for Unstructured Supplementary ServiceData, a protocol similar to SMS and defined in the GSMstandards 2.90 and 3.90.4We use an exchange ratio of 1 US dollar (denoted $) to 50Indian “rupees” (denoted Rs.) throughout the paper.

Page 4: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 4/12

fer money into other mini savings accounts. Receipts aresimilar to the ones delivered during money transfers. Al-though this service pre-dates the money transfer service, itscurrent utilization is much smaller ($10,000 daily transac-tion volume); as such, we focus on money transfers for therest of the paper.

3.1 Lessons from the Field

Between 2011 and 2012, we, along with other researchers,made multiple visits to Eko agent shops in Delhi (whereEko is headquartered) and interacted with their technologystaff multiple times. Some of the outcomes of these visitsare documented in [22]; below, we highlight our lessons fromthese interactions which are most relevant to this paper.

•  Our main finding is that a majority of Eko customersvalue SMS receipts tremendously and perceive them asa true indicator of a transaction record. We have ob-served several instances of customers expressing anxi-ety over non-arrival of SMSes. A few customers reportto prefer Eko over other branchless banking services inDelhi because Eko’s system incorporates SMS receipts

whereas others don’t (and instead use paper).•  Customers are largely unaware about the possibility of 

SMSes being spoofable, although a small minority (twocustomers in a sample of more than 50) do express dis-trust towards the SMS medium. Once informed aboutthe possibility of spoofing, customers generally expressinterest in using an improved system but not at thecost of convenience. Some customers that we spoke tostrongly opposed the use of additional devices (otherthan their phone) to verify the validity of SMS receipts.

•  Most customers of Eko either possess feature phones ordumb phones, which is not surprising given the mobilephone landscape in developing countries [6]. Less than

half of the customers we have met in the field report tohave phones with Internet capabilities. Eko expressesreluctance to deploy solutions that require software in-stallation on customer phones, although agent phonesare increasingly b ecoming smarter.

•   Even though the electronic money transfer could beinstant, the conversion from electronic money to cashat the recipient’s end (a withdrawal at a bank branchor Eko service point) is staggered. Based on customerreports, it appears that the typical withdrawal windowis 2 days, although it is possible for recipients to takea week in the process, because of limited access tobanking services in rural areas. Thus, it could be longbefore users of the system verify whether the money

transfer has happened or not and must end up relyingon the received SMS and the agent’s word temporarily.

•  Delays in SMS are a common problem that both agentsand customers report. While Eko does provide a helpline for resolving grievances, very few customers di-rectly call the helpline in situations of SMS delays. Infact, a few customers are not even aware about the ex-istence of the helpline, even though information aboutit is displayed on posters in all agent shops. Ostensibly,agents do not inform all customers about the helplinefacility since it is not a necessary component of thetransaction workflow.

3.2 Known AttacksWe know of two events in which Eko agents have used fakereceipts to deceive customers during transactions. Bothevents had a similar pattern: a customer would approachan agent, hand over cash, and the agent would provide ahand-written   paper receipt to the customer, claiming thatthe SMS receipt would arrive on the customer’s phone laterwhen the“server is available”. No messages were ever sent on

the network and much of the cash was eventually lost to theagents. Although in these events the agents did not use elec-tronic spoofers to defraud customers, the incidents do revealthe possibility of malicious intent amongst agents and high-light the importance of building tools to enable customers toverify transaction fulfillment (and to do this instantly andreliably). Eko has stepped up its customer education andagent monitoring efforts in response to these events and isalso seeking ways to prevent spoofing of SMS receipts.

Elsewhere in the world, SMS spoofing has already been usedto attack branchless banking systems. M-Pesa [2], the firstbranchless banking service in the world and one with a cus-tomer base of over 10 million across 4 countries (at the timeof this writing), was subjected to spoofing attacks in whichmalicious  customers  used fake SMS receipts to steal moneyfrom agents. The attack proceeded as follows: a customerapproached an agent, requested a withdrawal and, as is cus-tomary in withdrawals, initiated the transaction by sendinga message from his mobile phone. The message was sentto an accomplice on the network instead of the real M-Pesaserver, the target recipient for genuine transactions. The ac-complice instantly forged an SMS receipt for the transaction,tagged it with a genuine-looking sender ID and sent it to theagent’s phone, claiming a record of the transaction on the ac-tual server. The agent, not being able to tell the SMS apartfrom genuine receipt messages, was persuaded into yieldingthe cash to the customer. About $450—which is more thanten times the average M-Pesa transaction value—was lost.

There are reports that multiple instances of this attack werelaunched against M-Pesa agents [9]. No fixes to the systemare publicly known.

While we do not know of such spoofing attacks having beenlaunched by agents in money transfer or deposit transac-tions, the threat is potent and of concern to providers likeEko. Given the sensitive nature of the issue, it is plausiblethat such attacks have already taken place but have goneunreported. The limited negotiating power of the customersof money transfer transactions (relative to agents) also raisesthe possibility that agent fraud remains under wraps.

4. SYSTEM MODELBefore we present our protocol, we need a security definition.To define our objective, we build upon the system model forbranchless banking developed by us in   [20], adapting it tomoney transfer transactions. There are 3 entities in anybranchless banking system—the   bank   B, the   customer   C and the agent  A. Customers and agents are together referredto as users . The “bank” abstracts all the back-end processesinvolved in branchless banking transactions—those imple-mented by correspondents like Eko and those by the actualbank they are linked to.

There are two types of branchless banking protocols of our

Page 5: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 5/12

interest—a  money transfer  protocol and an  enrolment  pro-tocol associated with a money transfer. We model thesebased on the way they are implemented in Eko. Besidesthese two protocols, customers can also conduct deposit andwithdrawal protocols. Our security solution can be adaptedfor deposits and withdrawals, and we omit the details here.

We assume both customers and agents to have a personal,

connected mobile phone during transactions. Not all branch-less banking systems require customers to possess phones(e.g., those that issue paper receipts don’t) but this assump-tion is critical for our security objective. For simplicity, weassume a one-to-one mapping between users and phones; ourresults can be generalized to accommodate arbitrary user-phone mappings, under reasonable assumptions.

Enrolment.  An enrolment protocol involves the followingsteps. A customer  C  approaches an agent   A  and submitshis phone number   I (C ) and a bank account number   J (D)associated with another entity D , with whom  C   intends totransact in the future. If the enrolment is successful,  C   isprovided an identifier, λC,D, which is to be used in the actualmoney transfer; the bank   B  maintains a database   T  1   andadds a record (λC,D, I (C ), J (D), t) to it,   t   being the timeof recording the data. If the enrolment fails (e.g., if  D  couldnot be identified),   C   reports failure. In real systems likeEko, λC,D  is a concise representation of  C  and  D’s identities,which makes repeated money transfers from C  to  D efficient.

Money Transfer.  The actual money transfer has the fol-lowing template:   C   approaches an agent  A  with the intentof transferring money to D, submits the value of  λC,D   andcommunicates the amount of money  x to be transferred.   Averifies that C  possesses the claimed money (by counting thecash held by  C ) failing which  A  does not proceed. On suc-cessful verification, A,  B   and  C  run a 3-way protocol usingtheir respective phones, at the end of which both C   and  A

either report success or failure.   C  submits cash to  A  if andonly if he reports success. The bank maintains a databaseT  2  which stores details of all money transfers. For every newmoney transfer from  C   to   D  via agent   A  observed by thebank at time   t, it assigns an identifier   i  to the transactionand updates   T  2   with a record (i, I (C ), I (A), J (D), x , t). Italso decreases the effective balance  bal(A) of agent  A  by  x.

4.1 Threat ModelWe consider a threat model in which the adversary can ei-ther corrupt protocol participants (and make them behavemaliciously) or transmit spoofed messages on behalf of ar-bitrary entities. In particular, our focus is on a scenario inwhich agents behave maliciously and attempt to disrupt theprotocol by sending spoofed messages to honest customers.For money transfer transactions, this is the most naturalthreat to consider, given our earlier discussion.

Besides spoofing, we also allow the adversary the power toacquire honest users’ phones and tamper with them (e.g.,a malicious agent stealing an honest customer’s phone), al-though an honest user whose phone is compromised by theadversary is assumed to be aware of such a compromise.This rules out scenarios in which, say, a malicious agent re-places the SIM card of an honest customer’s phone, withoutthe customer learning about it.

For most of the paper, we do not consider man-in-the-middle(MITM) attacks; e.g., a malicious agent is not allowed to in-tercept mobile communication between an honest customerand the bank and tamper with such communication“in tran-sit”. MITM attacks, though interesting, are difficult and ex-pensive to mount on cellular networks especially when com-pared with SMS and call spoofing. For example, setting upa fake base station to intercept voice calls or SMSes requires

an investment upward of $1500 and a good amount of engi-neering skill [24], whereas spoofing is possible essentially forfree. Section 6  provides further discussion on this topic.

4.2 Security GoalOur security ob jective is to ensure authenticated communi-cation in money transfer transactions. For any money trans-fer protocol involving an honest customer   C , we want twoconditions to hold:

•   Soundness:   If  C  reports a successful transfer worth xto D, then the bank must record a fresh entry (i, I (C ), I (A), J (D), x , t) in   T  2, for some i, t  and  I (A).

•   Completeness:   If the bank records a fresh entry(i, I (C ), I (A), J (D), x , t) in  T  2  for some i, t and  I (A),then  C  must report a successful money transfer worthx to  D.

Our primary concern is the first condition (soundness), whichimplies that customers are protected from spoofed messagesduring money transfers. The second condition (complete-ness) protects the bank from recording transactions in whichthe claimed sender of a money transfer is unaware of thetransaction. We say that a protocol is sound (resp. com-plete) with respect to customers if for every honest customerC , it satisfies the soundness (resp. completeness) condition.

Security goals like these can be defined from the perspectiveof agents as well: soundness means that for every successfultransfer reported by an honest agent   A, the bank recordsa corresponding entry in its database; completeness meansthat for every new entry in the database (involving honestagent  A),  A  reports success with respect to the correspond-ing transaction. A secure protocol is one which is sound andcomplete with respect to both customers and agents.

Like  [20], we do not consider privacy of transactional dataas a security goal. Though interesting in its right, this isa goal orthogonal to authentication and seems difficult toaddress using the techniques developed in this paper.

5. THE PROTOCOLFor our protocol description, we assume that agents p os-sess programmable phones and that there is a secure chan-nel between the bank and every agent phone which providesapplication-layer authenticated communication. This can beachieved using standard cryptographic techniques. We alsoassume that agents use suitable credentials like passwordsto authenticate themselves to the bank and the secure chan-nel ensures credential privacy. Several branchless bankingservices (including Eko) are beginning to use programmablephones for agents and those for which this assumption does

Page 6: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 6/12

not hold, our protocol can be adapted to provide authen-ticated communication from bank to agent (and techniqueslike [21]   can be used for credential privacy). As such, wefocus on securing bank-customer communication in the restof the paper. We assume this communication happens usingmechanisms like SMS, USSD or voice calls, which do notinherently provide authenticity guarantees.

One final assumption we make is that the bank  B  possessesa phone number   I (B) which is either publicly known andtrusted or else can be securely communicated to every cus-tomer either before or during enrolment. This is analogousto assuming a trusted public key of a central provider incryptographic solutions to authentication, except that herethe information to be trusted is a simple phone number.

5.1 The Basic ProtocolAt its heart, our authentication technique is quite simple.When a customer  C  conducts a money transfer protocol in-volving the agent  A  and the bank, he expects a notificationfrom the bank about the success or failure of the transac-tion. Suppose he receives a message (as an SMS or a paper

receipt) which gives him this notification—how does C  verifythat the message is genuine and not spoofed? Our solutionis the following:   C   sends an empty message to the bankover the mobile network, and if the bank knows that it senta message to   C , it re-sends the same message back to himelectronically. However, if the bank did not send a messageto  C  in the first place, it sends a failure message in responseto   C ’s message. The failure message indicates a spoof at-tempt (or, more generally, that no transaction was recordedin the bank’s database) and if  C  receives such a message, heaborts the transaction.

The above idea can be used to build a protocol which issound with respect to customers. There is one small catch,though. What if   C , being a human,   forgets   to send theempty message he is expected to send? One option wouldbe to make this step an optional component of the protocoli.e., even if the bank does not receive a message from   C within a time bound, it continues with the protocol andsends a success notification to both users. While this wouldlead to a more convenient UI for customers, the resultingprotocol would not be sound and could be easily defeatedby malicious agents. We, thus, make the empty messagean integral part of the protocol, requiring the bank to aborttransactions if it is not received (within a pre-set time limit).

The empty message could be implemented in multiple ways,and an obvious choice is that of a missed call. Missed callshave known usability advantages over SMS and are usually

more economical from the users’ standpoint. The missedcall functionality is also more ubiquitous on mobile phonesthan some equally usable alternatives like USSD. We thususe missed calls to instantiate the empty message in ourdescriptions below.

5.1.1 Formal DescriptionEnrolment.   We describe the enrolment protocol first, asit would take place between a customer  C , agent  A  and thebank B. First, C  submits ( I (C ), J (D)) to A and A forwardsthis information to B  over the secure channel connecting thetwo entities. When   B   receives such a message from   A, it

C : 1. Submit ( I (C ), J (D)) to  A.2. When A  says “Call B”,  send( I (B), beep)3. When rcv( I (B), m)

If  m  = (ok, J (D), λC,D), report success.If  m  =  fail, report failure.

A: 1. When C   submits ( I , J ),  send( I (B), ( I , J ))

2. When rcv( I (B), ok1), tell  C : “Call B”3. When rcv( I (B), ok2), report success.

Else, report failure.

B: 0. Initialize flag[A]  ←  0 for all A1. If, at time t,  rcv( I (A), ( I , J )) for some A2. If   flag[A] = 0 ∧ J   is valid:

flag[A]  ←  1; (t[A], C[A], D[A])  ←  (t, I , J )send( I (A), ok1)

Else,  send( I (A), fail)3. If, at time t,  rcv( I , beep)4. If    ∃A s.t.C[A] = I ∧ flag[A] = 1

generate(λ, C[A], D[A])Add (λ, I , D[A], t) to  T  1

send( I , (ok, D[A], λ)); send( I (A), ok2)flag[A]  ←  0; C[A]  ← ⊥; t[A]  ← ⊥

5. Else,  send( I , fail)6. If, at time t,  ∃A s.t.flag[A] = 1 ∧ t[A] < t − τ 

send( I (A), fail); send(C[A], fail)flag[A]  ←  0; C[A]  ← ⊥; t[A]  ← ⊥

Figure 2: The enrolment protocol: customer   C enrolls recipient   D  via agent   A.

verifies the validity of  J  (D) and sends an acknowledgementmessage ok1  to  A. When  A  gets such a message from B , she

tells C  to call B  whereupon, C  sends a missed call—denotedbeep—to   B   at   B’s trusted phone number   I (B). When   Breceives the missed call, it generates the identifier λC,D  andsends it to  C  while sending the final confirmation  ok2   to  A.

A formal description is depicted in figure 2.  We use send( I , m)to denote the process of sending the message  m   to destina-tion  I  and rcv( I , m) that of receiving m  from I . The latteris treated as a boolean which returns true for a successfulreceive event. For  A  and  C , the sending and receiving im-plicitly happens on their respective phones. The construct“When X , do  Y  ” is to be interpreted as “Wait until X  is trueand if  X  is true, do Y  ”. (A timeout on the waiting process isassumed.) We use  X   ← Y    to denote assignment of  Y    to  X ;here, X   and  Y   could be scalars or vectors. In B ’s code, theterm “J   is valid” (step 2) abstracts all processes involved inverifying the validity of   J   including checking that the ac-count number exists, is enabled for money transfers and hasnot already been registered by   C   in a previous enrolmentattempt. Also, generate(λ, I , J ) (step 4) abstracts a pro-cess of generating an identifier  λ  which guarantees that forevery customer phone number  I , the identifier is unique perrecipient account number  J .

The missed call sent from   C   to   B  prevents the spoofing of the identifier  λC,D. We implement an upper bound on theamount of time that the bank waits for the missed call from

Page 7: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 7/12

C : 1. Submit (λC,D, I (C ), x) to  A.2. When A  says “Call B”,  send( I (B), beep)3. When rcv( I (B), m)

If  m  = (ok, λC,D, x , i) for some i,Submit x   in cash to  A; report success.

If  m  =  fail, report failure.

A: 1. When C   submits (λ, I , y),Verify C   has  y   in cash. If not, stop.send( I (B), (λ, I , y))

2. When rcv( I (B), ok), tell  C : “Call B”3. When rcv( I (B), (ok, λ, I , y)), report success.

Else, report failure.

B: 0. Initialize flag[A]  ←  0 for all A1. If, at time t,  rcv( I (A), (λ, I , y)) for some A

2. If   flag[A] = 0 ∧ ∃(λ, I , J , t)  ∈ T  1:send( I (A), ok)flag[A]  ←  1(t[A], C[A], D[A], λ[A], y[A])  ←  (t, I , J , λ , y)

Else,  send( I (A), fail)

3. If, at time t

,  rcv( I , beep)4. If   ∃A s.t.C[A] = I ∧ flag[A] = 1i  ←  transfer(y[A], A,D[A])Add (i, I , I (A), D[A], y[A], t) to   T  2send( I , (ok, λ[A], y[A], i))send( I (A), (ok, λ[A], C[A], y[A]))flag[A]  ←  0;(t[A], C[A], D[A], λ[A], y[A])  ← ⊥

5. Else,  send( I , fail)6. If, at time t,   ∃A  s.t.flag[A] = 1 ∧ t[A] < t − τ 

send( I (A), fail); send(C[A], fail)flag[A]  ←  0; (t[A], C[A], D[A], λ[A], y[A])  ← ⊥

Figure 3: The money transfer protocol: customerC   transfers amount  x   to recipient   D  via agent  A.

C  which is denoted  τ   in the figure (step 6). Note that justsending  λC,D   from B   to  C  is not enough; to ensure authen-ticity of  λC,D  both λC,D  and  J (D) must be communicated5.C   is required to retain the map from  λC,D   to  D   for futureprotocols which, in Eko, is done on small paper cards thatare given during enrolment. Note that the bank sends a fail-ure message to   C   if   C   sends a missed call at a time whennone is being expected from him (step 5).

Money Transfer.  The money transfer protocol is depictedin figure  3. The workflow is very similar to the enrolmentprotocol except that here, the transaction confirmation sentto  C   is protected from spoofing. In B’s code, the functiontransfer(y,A, J ) (step 4) denotes the process of creditingaccount J   with y  and deducting  y  from bal(A). The outputis a unique transaction identifier generated during this pro-cess. Note that in the beginning of the protocol, we require

5In the current Eko system, λC,D is sent along with only par-tial information about   J (D); in particular, all but 4 digitsin   J (D) are masked (by replacing with an ‘X’). While thisgives some privacy to   J (D), it actually makes the protocolinsecure   even without the use of mobile message spoofing .We have discussed this problem and its fix with Eko.

C   to submit only   λC,D   (not   J (D)) to   A  and the messagehe receives from   B   later on, also contains   λC,D   only. Thisis sufficient given that the earlier enrolment protocol guar-antees authentic receipt of   λC,D. Also note that   B   sendsonly one message to  C  during the entire protocol (and nottwo, as discussed in the beginning of the section). Thus,the communication efficiency of the protocol is the same asthat of money transfers in Eko’s current system, modulo the

beep   sent by  C . (This is true for enrolments as well.) Thebeep  introduces very little overhead from an efficiency andcost perspective. Finally, note that C  receives a failure mes-sage not only for an unmatched  beep  (step 5) but also forforgetting to send a  beep  when required (step 6).6

5.1.2 SecurityOur main security claim is the following.

Proposition   5.1.   The basic protocol (depicted in figures  2 and  3 ) is sound with respect to customers.

A proof of this proposition appears in the appendix. We re-mark that our proof relies on the assumption that the com-munication between customers and the bank is reliable andin particular, that the failure message sent from the bank(step 5) always reaches its intended destination and does soinstantaneously. In practice, this can be ensured by using asuitable combination of voice calls and SMS to instantiatethe message (e.g., transmit one copy in a voice call, one inan SMS) instead of relying only on SMS. Additionally, thevoice call could involve a human operator to improve relia-bility over an automated solution. Since failure events arelikely to be infrequent in practice, such an implementationshould not raise costs significantly.

Our basic protocol is sound, but it is not complete, sincethe bank does not have a way to verify whether missed callssent by  C  are genuine or spoofed7.  We address the issue of completeness next.

5.2 Achieving CompletenessFor completeness to hold, the bank must be able to authen-ticate the customer during transactions. While authenticat-ing customers is less important for money transfers than forwithdrawals, it is still useful to satisfy this property to main-tain customer traceability. A natural approach for this is toassign passwords to customers which they would securelycommunicate to the bank during money transfers instead of sending a plain missed call. Given our constraints, this is dif-

ficult to achieve in a foolproof manner while still maintainingusability. Below, we discuss two extensions to the basic pro-tocol which achieve completeness in restricted threat modelsand still maintain some of its usability benefits.

6A slightly different approach to achieving security wouldbe to change step 5 of  B ’s money transfer code and have  Bsend details about the last transaction done by   C , insteadof a   fail   message. Both versions are sound but the versionwe have described offers a better UI since it rids   C   of therecall task required to infer that a transaction has failed.7Indeed, spoofing calls is as easy as spoofing SMS’es andnumerous automated solutions are available for this, e.g.,http://www.bluffmycall.com.

Page 8: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 8/12

Our first solution emulates the use of passwords. The bankreserves a set   S   of  N  phone numbers which act as its prox-ies for receiving missed calls. When customer C  enrolls formoney transfer for the first time, the bank selects a number I  uniformly at random from S  and assigns it to C . The bankincludes  I  in the message sent to  C  and  C  stores it secretly(e.g., in a private phonebook). For all future transactions,when   C   is required to send a missed call to   B,   C   dials   I 

and not I 

(B).   B  checks that every  beep   from C  comes viathe proxy assigned to him and when otherwise, ignores it8.This naturally reduces the probability of an attacker spoof-ing missed calls for  C  by a multiplicative factor of  N . Thedownside is that it does not work against eavesdropping ad-versaries; once C ’s secret phone number is leaked, a spoofercan fake missed calls on his behalf.

The second solution provides better guarantee against eaves-dropping by assigning secret phone numbers dynamically tocustomers, much like one-time passwords. There are twoinstantiations: one in which the secret phone number fora transaction is communicated during the same transactionand one in which it is sent in the previous transaction. Inthe first one, C  sends two  missed calls to  B  instead of one inevery transaction—the first call is made to I (B), in responseto which B  sends a randomly generated number  I j  from S  toC . In the second missed call, C  calls I j . Only if both missedcalls are received by the bank is the transaction deemed suc-cessful. A spoofer can only make the first call successfullysince he cannot receive  I j  without eavesdropping or stealingC ’s phone. Unlike the first solution, here, even if the secretnumber for one transaction is lost, other transactions doneby the same customer remain secure. An approach similarto this is used for customer verification in [4, 3], except thatthere the secret number is sent via a secure web channel.

The second instantiation saves bandwidth over the first oneby piggy-backing secret phone numbers with transaction re-

ceipt messages. Here, C  makes two missed calls for the firstenrolment it executes and subsequent to that, the transac-tion receipt for the j th transaction executed by  C  (and sentin step 4 of the bank’s code) contains a random number I j  to be used for missed calling in the ( j + 1)th transaction.While this solution increases communication efficiency, it of-fers a poorer UI because the customer must store  I j  till the( j + 1)th transaction is over.

We remark that for completeness to hold, we require everycustomer to communicate the loss of his phone—when thishappens—to the bank and the bank to block transactionsinvolving such phones. In practice, we expect completenessto be less of a concern in money transfer transactions than

soundness because the incentive to fake a customer in thesetransactions is limited. For example, an agent A  who fakesa customer to the bank must still suffer a deduction in hereffective balance   bal(A) for the transfer she reports. (Incontrast, her incentive to   not   report the transaction itself and break soundness is high.) As such, moderate solutionslike the ones above should provide sufficient security.

8An alternative implementation would be to have the bankassign a secret password I  to C  during enrolment and requireC  to call  I (B) and provide  I   to authenticate. We prefer theabove form due to its greater usability (fewer inputs requiredfrom the customer during transactions).

5.3 Addressing Missed Call FloodingOur protocol provides greater transactional security to sys-tems like Eko but it also introduces new possibilities of de-nial of service, which must be suitably addressed. First,there is the possibility of the bank’s phone number being

 jammed with calls from a malicious caller, which may causethe number to become unavailable to honest callers. A safe-guard for jamming would be to have the bank support a large

number of parallel channels on the same phone line and todisconnect incoming calls the moment they are registered,thus making each call extremely short-lived. Even with thissafeguard, jamming is difficult to prevent completely with-out operator support.

Besides jamming, there is the possibility of an attacker spam-ming the bank with spoofed missed calls and causing thebank to respond to them wastefully. Recall that in our pro-tocol, if the bank receives a missed call from a source   I 

and there is no pending transaction associated with   I , itresponds with a failure message. This feature is essential forensuring protocol soundness but when used by an attackerto send repeated spoofed calls, it could lead to a backscatterof failure messages to innocent targets. We list down somesafeguards that could be implemented to resist such attacks.

Segregation.  First, the missed call destination phone num-bers for enrolment and for money transfers should be keptseparate. Detecting spoof attempts during money transfersis easier than during enrolment, as we discuss below.

Filtering during money transfers.  During money trans-fers, the bank can apply a variety of authentication tech-niques to detect missed-call spoofing. A first-cut techniquewould be caller ID filtering—the bank maintains a list of genuine callers (viz. all customer phone numbers which wereused during successful enrolments) and a call from a sourceoutside this list should be discarded. This will defeat an

attacker who is generating spoofed caller IDs at random.Further filtering can be performed using the authenticationsolutions presented in Sect.   5.2.   Finally, instead of main-taining one fixed phone number for missed-calling, the bankcan maintain a pool of numbers partitioned based on agentgeography: a customer with phone number  I (C ) must sendmissed calls to the number  I   linked with agents in his geog-raphy and if a missed call from   I (C ) is received at a desti-nation other than  I , it should be treated as a failure event.Phone numbers assigned to a geography must be publicizedusing out-of-band approaches. In our field interactions, wehave found strong locality in agent selection by customers,which indicates that such a solution is feasible.

Filtering during enrolment.  Filtering out spoofed missedcalls during enrolments is harder because the bank does nothave enough information to authenticate the first missed callmade by a customer. Even simple caller ID filtering can-not be easily performed at this stage. One approach thatwould work in practice is to have customers communicatetheir phone numbers to the bank using out-of-band methods(e.g., by making a phone call to a human-operated system)which may be difficult for a spoofer to execute in an auto-mated manner. Other approaches would involve increasingthe level of trust in agents (e.g., having the customer miss-call using the agent’s phone, followed by a missed call from

Page 9: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 9/12

his own phone) and could be used when the DoS threat isperceived as being more severe than that of malicious agents.

5.4 Alternate ApproachesOur basic approach to authenticate transaction receipts viamissed calls is strikingly simple but we are unaware of anybranchless banking provider that has deployed such an ap-proach in practice. Although most systems do provide usersthe   option   of pulling information about their account bal-ance from the provider (using USSD or SMS messages), innone of these systems is a pull message integrated into thetransaction workflow as we propose here. Furthermore, userswho perform only money transfer transactions do not needto maintain an account with the provider (since they neverwithdraw money from the system), so this option is usuallynot available to such users. This is true in the case of Ekoand similar systems in India.

Protection from spoofing attacks can also be achieved usingone-time passwords (OTPs), as briefly discussed in [20]. Oneapproach would be to have the bank provide each user witha list of OTPs on a token device (e.g., paper booklets as used

in [21]) during enrolment and tag every transaction receiptsent to that user with a fresh OTP picked from the corre-sponding list. If the OTPs can be given to users in a securemanner (without compromise by agents) and if a suitabletechnique is used to synchronize each user with the bankserver (users should know which OTP to match against theOTP in an incoming message), this could lead to a secure so-lution to tackle spoofing. However, the usability challengesassociated with managing OTP devices are significant andthe cost of distributing them securely an additional over-head, which makes such a solution inferior to ours. Someof the usability issues associated with this solution can bemitigated by distributing OTPs dynamically over the net-work, as transactions occur. But this would not eliminate

the problem of secure OTP distribution (OTPs would needto be secretly transmitted over the network), which seemsessential to solve in order to prevent spoofing. In contrastto OTP-based solutions, the missed-call solution is simple,usable and extremely economical from the point of view of providers and users alike.

6. MITM ATTACKSOur protocol from the previous section does not provide se-curity against man-in-the-middle (MITM) attackers: suchattackers can divert missed calls from customers away fromthe bank and respond with spoofed messages. Still, themissed-call approach could be extended to foil MITM at-

tacks of a certain kind which seem most relevant to prac-tice. In this section, we propose a technique to accomplishthis. The technique works only for money transfers, and notfor deposits and withdrawals. We consider MITM attacksmounted on the air interface by the use of fake base stationslike the IMSI catchers devised by BlackHat researchers [24].We make 3 assumptions:

•   In any money transfer, the recipient D   is distant fromthe sender  C  and owns a personal phone. This is rea-sonable given that money transfer recipients own bankaccounts, which usually implies possession of a phone.

•  The adversary uses fake base stations to mount MITMattacks. MITM attacks of other types require accessinto operator networks, which is normally difficult.

•  The adversary mounts MITM attacks one location ata time; multiple simultaneous fake base stations at dif-ferent locations in the network are ruled out.

Our proposal is the following: when   C   executes a moneytransfer to  D   via agent  A  (or enrolls  D  via agent  A), bothC   and   D   are required to send a missed call to the bank.Only if the bank receives missed calls from both users will itproceed with the transaction and send success notificationsto all users (including D). In all other events, the transactionwould be aborted and users informed suitably. A missed callfrom either C  or  D  that does not  follow a request for moneytransfer from C  to D will be treated as an indicator of a spoof attempt and the caller informed accordingly. The order inwhich  C   and  D  send the missed call is less important; thatthey send one each and that both verify that the responseis not  fail   is key.

This approach can be used to build a modified protocol thatis provably secure against MITM attacks under the assump-tions listed above. (We omit details for lack of space.) Al-though the approach involves synchronization between themoney-sender and the recipient, the incremental effort re-quired for ensuring this is small—in our field visits at Eko,we have found that a phone conversation between the twousers is common practice during money transfers and fromD’s perspective, making a missed call is a bearable over-head given the usual eagerness to receive money. Also, themodification for handling MITM attacks is compatible withother protocol modifications discussed in Sects. 5.2  and  5.3,although a combination of all the techniques may lead toa noticeable drop in usability. In particular, enrolling newmoney transfer recipients will require verification of both themoney-sender and the recipient’s phone numbers.

6.1 Cryptographic SolutionsThere is a variety of cryptographic tools one could use toguarantee security against MITM attacks and not just of thespecific kind discussed above. We have considered these ap-proaches and found that all of them are fraught with deploy-ment challenges. First, we cannot easily assume that cus-tomer phones in these systems are universally programmableand as discussed in Sect.   3, dumb phones continue to beused by customers of Eko. Second, programming SIMs of customers with cryptographic programs may provide somelevel of security but it cannot be implemented without theco-operation of mobile operators. In Eko, the customer baseuses phone services from at least 7 different operators!

There is a third possibility which has been less studied, intheory and in practice, which is that of using human-assistedsignature schemes. Even if a customer’s phone cannot ver-ify digital signatures for him in software, it may be possiblefor the customer to do the verification himself, using hisown computing abilities. The idea of human-verifiable andcryptographically-secure signatures is not new and differentapproaches have been proposed in past work. A classic ap-proach is to use random functions: give the user a list of secret random functions   f 1, f 2, . . .   over the message space

Page 10: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 10/12

and for the   ith transaction message  m, send  m  and   f i(m);the latter serves as a signature on  m. It is well-known thatrandom functions make provably-secure MACs [10] and con-ceivably they can be implemented in a human-computablemanner, albeit with bulky keys. Another approach (basedon the classic idea of secret sharing), is that of visual au-thentication  [18]. In this approach, the user is provided atransparency with random images imprinted and the sig-

nature of a message   m   is computed as an image   f i(m) insuch a manner that “overlaying” the transparency on f i(m)produces a visual depiction of   m. Visual authentication isplausibly more usable than the use of random functions, al-though it requires the transmission of graphical data, whichmay be difficult on dumb phones. Paper receipts would beneeded to carry visual signatures.

While these are all interesting approaches to explore froma theoretical perspective, their biggest failing is the asso-ciated lack of usability. Any approach to human-assistedsignatures must require the user to either carry additionaldevices or remember long keys (or both) for otherwise prov-able security against MITM attacks would be unachievable.Second, such an approach must require cognitive work fromthe user at the time of transactions. These usability barriersare made more acute by the limited education of our targetaudience, who will require careful training in understanding,maintaining and using secret keys. We believe that from apractical perspective, it makes most sense to make the secu-rity objective slightly modest (e.g., aim for security againstspecific types of MITM attacks, as discussed earlier) in fa-vor of making schemes more usable by the developing-worldaudience. We currently don’t know of any real incidents of MITM attacks in branchless banking and even in web-basedcommerce, the incidence of MITM attacks is rare.

7. RECEIPT RELIABILITYAlthough the use of missed calls in our protocol is motivatedby security reasons, it seems possible to extend this use forimproving reliability of receipt messages in current systems.We propose a simple technique for this. The idea is to en-able customers to make multiple missed calls during a singletransaction and to have the bank re-transmit the computedreceipt message for each missed call received by it from thesame customer. Varying the method for re-transmission canincrease the probability of successful delivery. For example,the bank could tier its responses as follows: for the firstn1   missed calls from the customer, respond with an SMS;for the next   n2   missed calls, respond with a voice call andfor the (n1  +  n2 + 1)th missed call have a human operatorcall back the customer. Based on our early conversationswith network managers of a leading operator in India, ourunderstanding is that congestion on the SMS channel tendsto occur independently of congestion on the voice channel(being caused usually by SMSC overload) and that SMSre-transmissions alone could increase message arrival ratesin some networks. Thus, we believe that our technique islikely to increase the overall reliability of receipts for suc-cessful transactions. It would be interesting to evaluate theeffectiveness of re-transmissions on message delivery ratesin a real network—and through the evaluation, converge onsuitable values for   n1, n2   for our technique—but we leavethis problem open for future work.

We remark that introducing the possibility of multiple missed-calling in our protocols must be done with care for this couldaffect security adversely e.g., it could increase the chancesof abusive calling by customers or lead to security gaps dur-ing back-to-back transactions. Additional safeguards will beneeded to retain security if this facility is implemented.

8. CONCLUSION

Receipt authentication is a fundamental security issue inbranchless banking systems and recent events have demon-strated that there is sufficient incentive amongst attackers todisrupt systems which leave receipts unauthenticated. Theunique constraints of the developing world have made cryp-tographic solutions to authentication—widely used in otherforms of electronic commerce—difficult to use in addressingthis issue. In this paper, we presented one solution thatuses the simple concept of missed calls to protect branchlessbanking systems from receipt spoofing attacks and also sat-isfies the deployability constraints surrounding them. Ourprotocol is easy to use, cheap to implement and bandwidth-friendly and it achieves provable security against an impor-tant class of attacks which have affected real systems. The

protocol can also be generalized to provide security againststronger (MITM) attacks and, potentially, to increase relia-bility of mobile-based receipts as well.

In ongoing work, we are collaborating with Eko on deploy-ing our protocol as part of their current architecture. In-dependent of this paper, Eko had piloted a slightly differ-ent protocol which also requires customers to make missedcalls during transactions. (See the appendix of the paperfor details.) Although the protocol used by Eko is neithersound nor complete, results from the pilot indicate that amissed call is an overhead customers are willing to bear dur-ing transactions. Eko currently plans to discontinue thatprotocol and deploy the basic protocol from Sect.   5.1   in-

stead. Together with them, we plan to test some of theextensions to the basic protocol with real users and studythe associated performance and usability issues.

Going forward, our biggest challenge is not technology butensuring that technology gets used the way it is prescribedto be used. Our belief is that shielding branchless bankingsystems from agent fraud requires a combination of securetechnology, customer education and careful agent selectionand management and this paper addresses only the first in-gredient of the three. We hope to work with Eko to ensurethat some of the other ingredients are also put in place.

9. REFERENCES

[1] Eko India Financial Services Pvt. Ltd.http://www.eko.co.in.[2] M-Pesa.   http://www.safaricom.co.ke/index.php?id=257.[3] Onering. http://www.onering.in.[4] Zipdial.   http://www.zipdial.com.[5] Reserve Bank of India (RBI) Guidelines for engaging of 

Business Correspondents (BCs).   http://rbidocs.rbi.org.in/rdocs/notification/PDFs/CPC28092010.pdf,  Sept.2010.

[6] Global mobile statistics 2012.  http://mobithinking.com/ mobile-marketing-tools/latest-mobile-stats,  2012.

[7] Y. Chen, W. Trappe, and R. P. Martin. Detecting andlocalizing wireless spoofing attacks. In   Proc. of SECON .ACM, June 2007.

Page 11: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 11/12

[8] T. Dierks and E. Rescorla. The Transport Layer Security(TLS) Protocol Version 1.2. RFC 5246 (ProposedStandard).  http://www.ietf.org/rfc/rfc5246.txt, 2008.

[9] GMeltdown. Tribulations of the M-Pesa agent.http://www.gmeltdown.com/2010/11/tribulations-of-m-pesa-agent.html, Nov. 2010.

[10] O. Goldreich.   The Foundations of Cryptography - Volume 2 . Cambridge University Press, 2004.

[11] S. Gollakota, H. Hassanieh, B. Ransford, D. Katabi, and

K. Fu. They can hear your heartbeats: Non-invasivesecurity for implantable medical devices. In  Proc. of SIGCOMM . ACM, Aug. 2011.

[12] A. Karnani. Microfinance Misses its Mark.  Stanford Social Innovation Review , 2007.

[13] S. Kent. IP Authentication Header. RFC 4302.http://www.ietf.org/rfc/rfc4302.txt, 2005.

[14] S. Kent, C. Lynn, and K. Seo. Secure Border GatewayProtocol (S-BGP).   IEEE Journal on Selected Areas in Communications, 18(4):582–592, 2000.

[15] D. Kumar, D. Martin, and J. O’Neill. The times they area-changin’: Mobile payments in India. In  Proc. of CHI .ACM, May 2011.

[16] I. Martinovic, P. Pichota, and J. B. Schmitt. Jamming forgood: A fresh approach to authentic communication inWSNs. In   Proc. of WiSec . ACM, Mar. 2009.

[17] C. McKay and M. Pickens. Branchless banking 2010:Who’s Served? At What Price? What’s Next?   CGAP Focus Note , 66, Sept. 2010.

[18] M. Naor and B. Pinkas. Visual authentication andidenitification. In  Proc. of CRYPTO . Springer-Verlag, Aug.1997.

[19] M. Paik. Stragglers of the herd get eaten: Security concernsfor GSM mobile banking applications. In  Proc. of HotMobile ’10 . ACM, Feb. 2010.

[20] S. Panjwani. Towards end-to-end security in branchlessbanking systems. In  Proc. of HotMobile ’11. ACM, Mar.2011.

[21] S. Panjwani and E. Cutrell. Usably secure, low-costauthentication for mobile banking. In   Proc. of SOUPS .ACM, July 2010.

[22] S. Panjwani, M. Ghosh, P. K., and S. Singh. Receipt usage

practices and user perceptions in a branchless bankingsystem in India. Bell Labs Technical ReportITD-12-53632W, 2012.

[23] Y. Thorat and H. Jones. Remittance needs andopportunities in India.http://www2.gtz.de/wbf/4tDx9kw63gma/RemittanceNeedsandOpportunitiesinIndiareport2011.pdf, 2011.

[24] Wired News. Hacker Spoofs Cell Phone Tower to InterceptCalls.  http://www.wired.com/threatlevel/2010/07/intercepting-cell-phone-calls/ , July 2010.

[25] T. Ylonen and C. Lonvick. The Secure Shell (SSH)Authentication Protocol. RFC 4252.http://www.ietf.org/rfc/rfc4252.txt, 2006.

APPENDIX

A. PROOF OF PROPOSITION 5.1Consider an honest customer   C   who reports a successfulmoney transfer worth x to  D when running a money transferprotocol with agent   A. Since the customer is honest andfollows our protocol, there must exist an identifier λC,D  suchthat

•  during the protocol, C  received a message (ok, λC,D, x , i)for some i; and

•   during a previous enrolment protocol—involving thesame or a different agent  A—C   received a message

(ok, J (D), λC,D) after submitting ( I (C ), J (D)) to  A.

The key observation is that both these messages are receivedby   C  only after he sends a missed call to   B   during the re-spective protocols. Each missed call must trigger a responsefrom the bank according to step 3 of   B’s code. The re-sponse could not have been to send   fail   to the missed-callsender (here,   I (C )) in either case since otherwise,  C  would

have reported failure, which he didn’t. In other words, inboth cases, step 4 of  B ’s code must have been executed andwith   I  being set to  I (C ). This must have produced a fresh

entry of the form (i, I (C ), I ( A), D[ A], y[ A], ∗) in   T  2   in thecase of the transfer protocol, and a fresh entry of the form(λ, I (C ), D[ A], ∗) in   T  1   in the case of the enrolment proto-col. Also, in keeping with step 4, B  must have sent messagesof the form (ok, λ[ A], y[ A], i) and (ok, D[ A], λ) to   I (C ) re-spectively to   I (C ). Given the messages that were actuallyreceived by C  in the two protocols, we deduce that the freshentry was of the form (i, I (C ), I ( A), D[ A], x, ∗)  ∈ T  2  for thetransfer and (λC,D, I (C ), J (D), ∗)  ∈ T  1  for the enrolment.

Note again that in the case of the transfer, C  received a mes-

sage (ok, λC,D, x , i), which means the identifier  λ[ A] linkedwith (C[ A], I ( A), D[ A]) has value λC,D. Finally, observe that

for this link to hold, there must exist an entry (λ[ A], C[ A], D[ A], ∗)

i.e. (λC,D, I (C ), D[ A], ∗) in  T  1  in keeping with step 2 of  B ’scode. But the pair (λC,D, I (C )) can be mapped to onlyone account number in  T  1  (given the definition of  generate)

which, in this case, would be   J (D). Thus,  D[ A] must havevalue  J (D) and we conclude that the fresh entry in   T  2   cre-

ated during the money transfer was of the form (i, I (C ), I ( A),J (D), x, ∗), as desired.

The message  m must have originated at the bank since thebank generates such a message after receiving a missed callfrom a phone with ID   I (C ) (during a money transfer of 

amount   x   from   C   to   D   via   A) and send it to the samephone. The bank generates such a message only if it recordsa fresh entry of the form (i, I (C ), I (A), λC,D, x) in  T  2.

B. EKO’S PILOT WITH MISSED CALLSIn order to ensure traceability of customer phones, Eko hasstarted experiments with a protocol to authenticate thesephones during money transfer transactions. The protocolinvolves the use of missed calls wherein a fixed phone num-ber is provided to all customers (and displayed on a paperprintout in agent shops) and customers are required to callthis number right before  an agent makes the transaction re-quest to the Eko server. Only if the missed call is received bythe server, and followed up by the transaction request fromthe agent, is the transaction processed. The intention is toverify that the owner of the phone whose phone number isprovided by the agent in the transaction request is, in fact,present and aware of the transaction being requested and, inparticular, that the phone number is not being faked. Thisis essentially the same as the completeness requirement westipulated in Sect.   5.2.   The protocol has been piloted inabout 100 agent sites.

Although soundness was not a design criterion for this proto-col, it may appear that the protocol still achieves this prop-erty. But it does not. In Eko’s implementation, if a missed

Page 12: INDIA SP BranchlessBanking 2013

7/23/2019 INDIA SP BranchlessBanking 2013

http://slidepdf.com/reader/full/india-sp-branchlessbanking-2013 12/12

call from an honest customer is not followed up by a trans-action request (containing that customer’s phone number)from any agent within a fixed period of time, the transactionis aborted, but no failure message is sent to the customer.Thus, it may still be p ossible for a malicious agent to launchthe following attack: after the customer sends a missed callto Eko’s server, don’t send anything to the server but insteadsend a spoofed transaction receipt to the customer stating

that the transaction record has been created. After receiv-ing the receipt, there is no way for the customer to find outif the receipt is genuine or not. Soundness fails because themissed call is required to happen before  the agent’s transac-tion request rather than after  it (as required by our protocolin Sect. 5).

We mention that even the completeness achieved by thisprotocol is of a weak kind: it is complete only under theassumption that missed calls from a given customer’s phonenumber cannot be spoofed. We do not make such an as-sumption in our discussions on completeness in this paper.

Based on our discussions with Eko till now, it is clear thatthis protocol will not be pursued beyond the pilot. Theprotocol we have proposed in this paper is being consideredfor deployment.