View Issue Details

IDProjectCategoryView StatusLast Update
0006899Talerobsolete componentpublic2022-11-04 19:53
ReporterFlorian Dold Assigned ToMS Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Versiongit (master) 
Target Version0.9Fixed in Version0.9 
Summary0006899: bank requires expensive computation on every API call with authorization
DescriptionThe bank uses hashed+salted passwords for API authentication.

Unlike with human users, where the authentication check is done once at login (and then only a signed cookie is verified), checking a password for *every* request is rather expensive.

We could:
* move to plain text API keys
* cache hashes of successful logins in memory

As a further complication in the pybank, we need to somehow work around the built-in django authentication system and do our own checks.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2021-06-10 12:30

manager   ~0017946

What I do not get is that usually (in a good design), the (expensive) hash should be done on the client-side ONLY. After all, the HASH is what should be sent over the network, and a HASH of the password/passphrase is what we should store locally on the server-side. So why is this a problem in the first place?

Christian Grothoff

2021-07-19 12:53

manager   ~0017999

This will be fixed when we migrate to libeufin as the existing Pybank should just die.

Christian Grothoff

2022-07-18 15:46

manager   ~0018960

Moved to libeufin.

Issue History

Date ModifiedUsernameFieldChange
2021-06-09 13:38Florian DoldNew Issue
2021-06-09 13:38Florian DoldStatusnew => assigned
2021-06-09 13:38Florian DoldAssigned To => Christian Grothoff
2021-06-10 12:30Christian GrothoffNote Added: 0017946
2021-07-13 04:47Christian GrothoffAssigned ToChristian Grothoff =>
2021-07-13 04:47Christian GrothoffStatusassigned => implementing
2021-07-19 12:53Christian GrothoffSummarymerchant and bank require expensive computation on every API call with authorization => bank requires expensive computation on every API call with authorization
2021-07-19 12:53Christian GrothoffDescription Updated
2021-07-19 12:53Christian GrothoffNote Added: 0017999
2021-07-19 12:53Christian GrothoffAssigned To => MS
2021-07-19 12:53Christian GrothoffStatusimplementing => assigned
2021-08-01 13:15Christian GrothoffCategoryother => bank (demonstrator)
2021-08-01 13:15Christian GrothoffProduct Version => git (master)
2021-08-01 13:15Christian GrothoffTarget Version => 0.9
2022-07-18 15:46Christian GrothoffStatusassigned => informing
2022-07-18 15:46Christian GrothoffResolutionopen => fixed
2022-07-18 15:46Christian GrothoffFixed in Version => 0.9
2022-07-18 15:46Christian GrothoffNote Added: 0018960
2022-08-23 18:26Christian GrothoffCategorybank (demonstrator) => py bank (demonstrator, obsolete)
2022-11-04 19:53Christian GrothoffStatusinforming => closed
2023-12-03 00:23Christian GrothoffCategorypy bank (demonstrator, obsolete) => obsolete componet
2023-12-11 19:08Florian DoldCategoryobsolete componet => obsolete component