summaryrefslogtreecommitdiff
path: root/proper-random/upgrade-notes.txt
diff options
context:
space:
mode:
authorausiv4 <ausiv4@eb105b4a-77de-11de-a249-6bf219df57d5>2009-07-24 13:57:46 +0000
committerausiv4 <ausiv4@eb105b4a-77de-11de-a249-6bf219df57d5>2009-07-24 13:57:46 +0000
commit40fd75696b548d18057a289e849be98dd2af12dd (patch)
tree33ba504f1f4f84d9703f1229e26a085dc5a118a3 /proper-random/upgrade-notes.txt
parent0cb5d281c18588c3b6567e8773ebad8acdb263a9 (diff)
Not what I meant to do...
Diffstat (limited to 'proper-random/upgrade-notes.txt')
-rw-r--r--proper-random/upgrade-notes.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/proper-random/upgrade-notes.txt b/proper-random/upgrade-notes.txt
new file mode 100644
index 0000000..99fe411
--- /dev/null
+++ b/proper-random/upgrade-notes.txt
@@ -0,0 +1,19 @@
+###
+### Upgrade
+###
+
+# We would like people to be able to upgrade an existing system to use SRP, without losing their user database.
+# We can detect existing users who cannot authenticate with SRP because they will appear in the django.auth
+# table without appearing in the srp table. Ultimately, we would like to do this without the user sending his plaintext password.
+
+# The server sends the client its salt for the database password, along with the hash algorithm that was used to store it.
+# The client hashes the salt and password, and gets P = H(s,p). The client proceeds with SRP treating P as if it were
+# its secret password. The server can do the same thing, and confirm the user's password.
+
+def ugprade(request):
+ user = django.contrib.auth.models.User.objects.get(username=request.POST["I"])
+ shadowpass = user.password.split("$")
+ srpsalt = generate_salt()
+ algorithm = shadowpass[0]
+ shadowsalt = shadowpass[1]
+ passhash = shadowpass[2]