2016-11-03 8 views
0

すべて、複数のユーザー

私は、マイクロコントローラに取り組んでいます(PIC32MZは、具体的には)。マイクロコントローラはTCP/IPスタックの実装を提供しており、ブラウザを使用してマイクロコントローラと通信することができます。

複数のユーザーがマイクロにアクセスしている場合、複数のユーザーを安全に区別するためのガイドラインが設定されていますか?

私がいない再発明ホイールしたいと思います...私は少し基本的なアクセス制御に見えた - しかし、それは大きなノーノー...

である私はまた、ログインページの作業を持っていますだから私はuserNameとパスワードを求めることができますが、私はローカルに作成し、さまざまなユーザーを管理するためのデータ構造を維持する必要がありますか?

問題がどこにあるのかを考えれば、組み込み環境で複数のユーザーを区別して管理するためのガイドラインが確立されていると思います。

ご協力いただきありがとうございます。敬具

、 ヴィンチェンツォ

---- EDIT ----

P.S. - 私は本当に自分ですべてをコーディングしなければならないとしたら、これは私が(フィードバックが再び評価されて)初めて

browser requests web page and sends a (possibly uninitialized) sessionID 

server extracts IP/sessionID 

if IP is blacklisted 
{ 
    deny web page and (re)start timer 
} 
else          // possible legit request 
{ 
    if IP/sessionID is valid    // existing user ! 
    { 
     process request 
    } 
    else         // new user? 
    { 
     if activeConnections < max AND globalNumberOfFailures < max  // if we have connections available and we are not under attack 
     { 
      request credentials 

      if credentials are valid   // legit user 
      { 
       create new unique sessionID 

       update IP/sessionID table 

       process request (and return sessionID) 

       activeConnections++ 
      } 
      else        // distracted user ? 
      { 
       deny request 

       globalNumberOfFailures++ (start timer) // system wide attack ? 

       if first fail for that IP 
       { 
        add IP to list of suspicious IPs 
       } 
       IP_failCounter++ 

       if IP_failCounter > max 
       { 
        blacklist IP, start timer 
       } 
      } 
     } 
     else 

      deny request 
    } 
} 
+0

[これが適用されます](http://ww1.microchip.com/downloads/en/AppNotes/00833c.pdf)の場合は、cgiセッションコード用のGoogleだけです。 – xvan

+0

'globalNumberOfFailures'(あなたはそれをやっていないようです)を決して再設定しない場合は、DoS攻撃の被害を受けやすくなります。これはおそらく反生産的です – tofro

+0

あなたのPic32MZをインターネットに接続することを*決して*しないでください。驚いたことに、インターネットアクセスを適切に保護していないというニュースの中にあなたのデバイスが入ってしまって、インターネット忘却の世界へのセキュリティバック通路としてのIoTの悪化に貢献するようになるのは驚くべきことです。 PICからWebページを提供できるという理由だけで、適切なセキュリティ保護されたWebサーバーであるとは限りません。 – barny

答えて

0
  1. 人A訪問しているサイトを思い付いたフローチャートであり、彼はログインを参照してください形。 彼はそれを記入し、http POSTメソッドを使用してサーバーに送信します。

  2. サーバーがPOSTメソッドを取得し、資格情報が有効であるかどうかを確認してください。 すべてが正常であれば、サーバーは現在の日付と時刻で連結されたユーザーログインの文字列からハッシュを作成します。ハッシュ、ログイン、日付&の認証時間は、サーバ上の何らかの種類のテーブルに追加されます(テキストファイルでも可能です)。この小さな貴重なハッシュは、 'Set-Cookie' httpヘッダーを介してユーザーに返されます。

  3. サーバーがhttp要求を受け取るたびに、サーバーはハッシュで指定されたCookieもあるかどうかを確認します。サーバーこの要求はログインVIPによってなされる心に留めておく、テーブルのエントリでクッキーを比較した時間が満了していないかどうかを確認し、サーバー。

上記を実装し、あなたが行ってもいいです。それがどんなに楽しいか見てください。どのように 'sessionID'と呼んでいるかをユーザipとペアにしないでください。何とかそれを追跡するのは良いですが、異なるipから有効なsessionidを渡したユーザーを拒否しないでください。モバイルデバイスを持つ人は、しばしば自分のIPアドレスを変更する傾向があります。

私はもっと簡単な方法はないと思います。
それは楽しい運動かもしれません。

+0

あなたの提案をありがとう...: ) – Vincenzo

関連する問題