50色のパラノイアまたは保存せずにパスワードを保存する方法

Hi%username%



孤独とパラノイアは、素晴らしい創造的な素材になります。

アン・ラモット


私たちはそれぞれ、 パラノイアのパスワード保存のいくつかの段階を通過します。 最初の段階では、単純ではないが覚えやすいパスワードを作成するプロセス。 2番目には、2番目のパスワードが表示され、1つは個人(一部のプライベートメールボックス)になり、2番目は公開(フォーラム、ソーシャルネットワークなど)になります。 2つのパスワードを使用すると、追加のメールボックスが表示されます-個人用と公開。 第三に、各リソースのパスワードを作成する価値があると考えられますが、人間の記憶はストレージに制限があるため、パスワードを保存するプログラムが武器庫に表示され、マスターパスワードが彼らのために考案され、誰かがファイルキーを使用しますまた、パスワードで保護されており、その中でも、パスワードを深く掘り下げることが可能であることを理解し始めます。 この問題をどのように解決したのだろうかと思ったら、猫にようこそ。



まず、一般的な状況を見てみましょう。 識別できるリソースがあります。 たとえば、Webリソースはhttps://login.awesome.site.com/



などのスキーム、ホスト、ポートによって識別され、デスクトップアプリケーションはawesom-app.exe



やウィンドウタイトルなどの実行可能ファイルの名前によって識別できます。またはその一部。 そのため、識別子が整理されています。 次に、ユーザー名とパスワードを入力します。 ユーザー名は、ユーザーを識別するためのユーザー名とメールアドレスの両方にすることができます。 次に、パスワードを見てみましょうが、一方で。 パスワードは、ハッシュを生成するためのゼロレベルソルトの一種です。 例:



 hash(username + ':' + password + ':' + salt)
      
      





ここから、ハッシュ関数の塩の量のアイデアを提示できます。 最終的なパスワードのサイズ、時間(時、日、月、または年)を取得し、地球上の任意の地点の地理的な緯度と経度を取得できます。 その結果、着信パスワードの複雑さの要件は低下しており、代わりに、たとえば4桁の単純な文字シーケンスを使用できます(レベル2以上の妄想では推奨されません)。

それでは、これらすべてで何ができるかを見てみましょう。 実験のために、Google Chromeを選択し、そのための簡単な拡張機能を作成しました。 アイコンをクリックすると、パスワード生成ウィンドウが表示され、拡張機能はアクティブなタブのアドレスを受け取ります。



 chrome.tabs.query({active: true, currentWindow: true}, tabs => generate(tabs[0].url) );
      
      





次に、JavaScript URL



オブジェクトとパラメーターの配列を作成して、ハッシュを生成します。 url.origin



を使用して、スキーム、ホスト、およびポートをurl.origin



します。



 const username = 'username'; const pin= '1234'; const size = 16; const expired = 2016; const latitude = 40.771426; const longitude = -73.9771395; function generate(url) { const url = new URL(url); const params = [ url.origin, username, pin, size, expired, latitude, longitude ]; const hash = sha512(params.join(':')); const password = Base85(hash).slice(-size); document.getElementById('password').value = password; }
      
      





sha512関数-sha512アルゴリズムを使用してハッシュを生成し、Base85関数-16進数システムを8進10進形式[A-Za-z0-9] +および句読文字を含む25個の句読文字に変換します。パスワードは永続的で(同じ関数引数に対して一定)、再現が困難です。

現時点では、拡張機能は次のようになっています。

画像

しかし、サイト自体からのパスワードはどこにも保存されておらず、私の妄想は平和に眠っています。



PSこのアイデアを改善する方法についてのアイデアがあれば、コメントを見て喜んでいます。

PPSのタイプミスとエラーはPMでお願いします。

PPPS復号化の複雑さに関する疑問を未然に防ぐために、パスワードを生成するために私のニックネームとピン1234が使用されたと仮定しますが、ピンがわからないと仮定しましょう。 次に、私のパスワードは何ですか?

PPPPSこの場合、フィッシングサイトが私のパスワードに転送されていることに気づきました



UPD

生成スキーム:

画像




All Articles