Het probleem
Omdat ik, waarschijnlijk net als jullie, vaak wachtwoorden moet invullen op diverse plaatsen op het internet, gebruik ik vaak eenzelfde wachtwoord of een variatie daarop.
Dat komt de veiligheid uiteraard niet ten goede: als de een of andere geinponem een van die wachtwoorden achterhaalt, dan kan hij onderhand overal inloggen (uiteraard voor zolang de reisduur van mijn deur tot zijn deur, maar dan kan het kwaad al geschied zijn).

Het idee
Om dat te voorkomen, wilde ik zelf iets schrijven: een programmaatje dat willekeurige wachtwoorden aanmaakt, die gecodeerd opslaat in een bestand/database op mijn harde schijf (of op het internet via een beveiligde verbinding) en bijhoudt op welke websites welk willekeurig aangemaakt wachtwoord ingevuld moet worden. Het programmaatje kan dan bijvoorbeeld om een 'superwachtwoord' vragen voordat ingelogd kan worden of zoiets. Uiteraard dienen er regelmatig backups plaats te vinden om te voorkomen dat de wachtwoorden kwijtraken :)

Voordelen:
* wachtwoorden zijn random: niet (makkelijk) te raden
* overal een ander wachtwoord: weet iemand er een, dan is er relatief weinig aan de hand
* je kent de wachtwoorden zelf niet: zelfs als je gemarteld wordt kan je de wachtwoorden niet verklappen
* ???

Nadelen:
* Het script moet vrij goed in elkaar steken wil het veiliger zijn dan steeds hetzelfde wachtwoord gebruiken
* Encryptie van de willekeurige wachtwoorden (moet ook decodeerbaar zijn)
* Rekening houden met verschillende inlogformulieren
* ???

Mijn gedachtes
Ikzelf zat te denken aan een userscript voor Greasemonkey, en ben er ook al een beetje mee begonnen, maar JavaScript is niet mijn sterkste kant dus dat moet ik eerst wat meer leren (kan ik bv. verbinding maken met een database of hoe lees ik een bestand uit, dat soort dingen).
Een Greasemonkey script heeft wel als voordeel dat je vrij makkelijk formulieren op internet kunt invullen en dat het in principe onafhankelijk werkt van het gebruikte besturingssysteem (ik gebruik zowel Linux als Windows vanaf diverse locaties (vandaar zou ik ook liefst één bestand op internet hebben, zodat die altijd up-to-date en bij de hand is), dus het onafhankelijk zijn is wel een redelijk belangrijk vereiste).

Request for comment
Wie heeft zin om hierover te brainstormen? Wie kent nog meer nadelen? Zie ik iets verschrikkelijks over het hoofd? Kent iemand al programma's/scripts die iets dergelijks doen (ik weet dat zulke programma's bestaan)? Zijn er andere, makkelijkere oplossingen? kortom: commentaar graag! :)
Ze zijn iets vergeten trouwens
De invloed van C is zo groot dat sindsdien de meeste nieuwe talen zoals C++, Objective-C, Java, JavaScript, C# en PHP grotendeels de syntaxis van C gebruiken.

Daar mag ASP ook bij :)
ASP lijkt er nog veel meer op dan dat PHP dat doet :)
Maar ASP is wel klote ^^
Ik vraag me af of het wel veilig is als je wachtwoorden ook decodeer baar zijn is het natuurlijk nooit er veilig. Ik zou de wachtwoorden iig niet op internet opslaan.

@Luke: ASP syntax lijkt veel op die van C ?
Ik ken persoonlijk niet de syntax van C maar ik weet wel dat de syntaxis van Java en PHP totaal niet op iets wat met ASP te maken heeft lijken.
Ik heb het vermoeden dat luke ASP.net bedoeld
Ik vind van wel.
Maarja, dat is een kwestie van wat jij er van vind ;-)
[edit]
@Jacco
Nee ik bedoel ASP ;-)
*Controleert het nog even*
Nouja, het lijkt eigenlijk toch niet zo :p
[/edit]
ff terug ontopic (zie mijn vorige post :P)

Re: Programma om wachtwoorde.. op 29.12.2006 09:59 wijzig bericht quote bericht
Of je download het pc programma 2Remember
ASP? C?

ASP: Geen accolades, heel on overzichtelijk
C: Bijna alleen maar accolades...

Als ik jou dit stukje geef:

if(henk == annie) {
printf("De 2 variabelen waren hetzelfde!\n");
}

Lijkt dat dan meer op ASP of op PHP?
Het enige verschil in dat stukje, is, dat C geen dollars ($) voor de variabelen heeft.


Voor de rest, @ Kasper:
Hier in de script libary staat een encryptie/decryptie die bitwise werkt. (zo heet dat ding dacht ik ook) er komt echt total rubbish uit daar als je niet het goede wachtwoord invult. ahh,gevonden: http://www.phphulp.nl/php/scripts/8/341/

Maar, wil je het nou doen in PHP, of in C? (C++ of dergelijke?)

Tommy schreef op 29.12.2006 09:47
Ik wil C++ gaan leren, zou je daarmee zoiets kunnen maken? In PHP, dat is in een dag gedaan, alhoewel ik niet weet hoe ik de wachtwoorden op kan slaan (geëncrypt) en dan later weer kan decrypten..

Maar ik wil wel iets maken maar ik ben nu heel druk met een nieuw PM systeem..

En later werdt ergens iets gezegd over MD5 en SHA1?


Ok, mijn commentaar:
MD5, SHA1, maar ook bijvoorbeeld het commando crypt() (kennen jullie van PHP) zit gewoon in C!
Je moet alleen de juiste headers includen. (maakt niet zo veel uit, als ik hier een lijstje neer zet met alle headers die ik gebruik voor een project die ik nu heb, zien jullie wel dat je voor bijna ieder ander commando een andere header nodig hebt.)
En, MD5 en SHA1 zijn allemaal one-way-encryptions. Dus daar heeft de TS (Kasper) niet zo veel aan;-)
Ten eerste: ik ben blij dat ik vergeten was om een mezelf een mail te laten sturen bij een nieuwe reactie. :) Bedankt voor alle reacties :)

Ontopic:
Met Java kan ik haast niet uit de voeten, met C++ iets meer dus daar zou ik iets mee kunnen proberen. Een library voor versleuteling van wachtwoorden is ongetwijfeld wel ergens te vinden :)

Mocht ik de wachtwoorden opslaan via internet, dan zal ik de enige zijn die erbij kan. Ten eerste maak je zo voor jezelf de kans op aanvallen kleiner, ten tweede wil ik niet de verantwoordelijkheid dragen om zoveel wachtwoorden van iedereen te beheren en zo zijn er nog tig redenen te bedenken om het kleinschalig te houden. Dat mensen je niet vertrouwen is nog zo'n reden, dan moet je met certificaten gaan werken en zo, voordat het een beetje veilig overkomt.

Zoals ik al zei in mijn startpost: de wachtwoorden zullen dan ofwel lokaal in een bestand/database (ik draai toch overal MySQL) worden opgeslagen. Dat zal dan versleuteld worden opgeslagen, maar het zal ook weer gedecodeerd moeten worden. Geen MD5 of SHA1 daar dus. Je kan dat soort encryptie wel gebruiken als random wachtwoord, gesteld dat het aantal karakters wat daaruit komt ook gebruikt mag worden als wachtwoord op een internetsite (dat kan verschillen per site natuurlijk).
In eerste instantie zal ik kijken of het buiten mijn webserver om kan gaan, stel dat die een keer niet zou werken kan ik nergens inloggen :)

[edit]Het programma 2Remember lijkt mij op het eerste gezicht voor Mac OSX te zijn, het besturingssysteem wat ik juist niet draai :)[/edit]
ik kan je wel helpen met C++ en MySQL daarbij... Eigenlijk sowieso wel een leuk idee voor een console applicatie. Overigens bestaat het al wel. http://keepass.sourceforge.net/
Dit soort programma's bestaat allang hoor.

[google]Password manager[/google]
Kasper schreef op 29.12.2006 12:31
Ten eerste:

.......

[edit]Het programma 2Remember lijkt mij op het eerste gezicht voor Mac OSX te zijn, het besturingssysteem wat ik juist niet draai :)[/edit]


Google -> 2Remember windows

Het is want ik draai het zelf ook ;)

Reageren