Ich muss das Passwort des Benutzers in meiner iPhone App speichern.
Wenn ich eine App im App Store posten muss, muss ich Apple mitteilen, ob es in der App eine Verschlüsselung für den Export gibt.
Ich möchte nicht, dass meine App auf die USA beschränkt ist, aber ich möchte auch keine Passwörter über das Netz im Klartext speichern oder senden.
Die Frage ist im Grunde: Kann ich Passwörter so verschlüsseln, dass meine App nicht eingeschränkt wird?
Sieht so aus, als könnte die angegebene crypt () - Funktion für Passwörter verwendet werden:
Diese Bibliothek (FreeSec 1.0) wurde außerhalb der Vereinigten Staaten von Amerika als ein unbelasteter Ersatz für die US-amerikanische Libcrypt-Verschlüsselungsbibliothek entwickelt. Programme, die mit der Schnittstelle crypt () verbunden sind, können nur dann aus den USA exportiert werden, wenn sie crypt () ausschließlich für Authentifizierungszwecke verwenden und die Verwendung der anderen oben aufgeführten Programmierschnittstellen vermeiden. In der Bibliothek wurde besonders darauf geachtet, dass Programme, die nur die crypt () - Schnittstelle verwenden, die anderen Komponenten nicht einbeziehen.
(aus der iPhone Dokumentation für crypt (3))
Speichern Sie das Passwort einfach im Schlüsselbund. Es ist eine System-API, die Apple bereitstellt, und Sie müssen nichts über die Verschlüsselung wissen. Apple versendet es, ist ihre Verantwortung, die Einhaltung der System-Frameworks zu gewährleisten. Vermutlich verwenden sie eine schwächere (oder keine) Verschlüsselung, wenn sie das Gerät irgendwo verkaufen, wo es verboten ist, aber wenn Sie die verfügbaren APIs verwenden, werden Sie keinen exportbeschränkten kryptografischen Code in Ihrer Binärdatei versenden, und die einzige Art, wie Sie interpretiert werden könnten weil dies bedeutet, dass Apple es mit jedem iPhone versendet.
Nachdem ich gesagt habe, dass ich kein Anwalt bin, empfehle ich, einen zu konsultieren, wenn Sie sich darüber Sorgen machen. Keine Menge anderer Programmierer Beratung ist besonders relevant, was grundsätzlich eine rechtliche Angelegenheit ist.
Erstens, wenn der Benutzername und das Passwort auf dem Telefon verschlüsselt und entschlüsselt werden, dann ist der Entschlüsselungsschlüssel offensichtlich auch auf dem Telefon und ziemlich wertlos. Ich würde mir keine Sorgen darüber machen, Benutzernamen und Passwörter verschlüsselt auf dem Telefon zu speichern.
Für eine sichere Kommunikation sollten Sie SSL verwenden, das sich wahrscheinlich in einer Bibliothek befindet, die sich bereits auf dem Telefon befindet. Wenn Sie eine Bibliothek verwenden, die Teil des Telefonsystems ist, bedeutet das nicht, dass Ihre App "Verschlüsselung" enthält.
Natürlich bin ich kein Anwalt. Wer weiß - das Gesetz könnte "Schwein Latein" als eine gültige Verschlüsselungstechnologie betrachten.
Tags und Links iphone encryption