認定!その困難を処理するあなた


Cookie認証プロセス:


Cookieどこで聞いたの?特にGoogle Chromeを使ったことがある人は聞いたことのある単語かもしれませんが、何なのかよく分かりません.
Cookieは、サーバが応答的にクライアントブラウザに伝達するデータのほんの一部である(최대 4kb라...).
小さな情報や相手を識別するために使用されます.
Cookieに関する内容はMDN 正式な書類に詳細に記載されている.
問題はなぜビスケットが必要なのかということです
これは私たちが使用しているHTTP特性のためです.いくつかの特性において、特にStateless와 Connectionlessであるからである.これは、サーバとクライアントが互いに識別できるデータの一部を交流させるクライアントを識別するスキームです.その小さなデータブロックはクッキーです.
クッキーを送信および受信する方法は、ヘッダを介して直接受信することができる.
=======================================
쿠키를 보낼 때:
response.status(200)
response.write({
	'Content-Type': 'text/html',
	'Set-Cookie': ['id=ledgku', 'pw=cookie']
	});
=======================================
쿠키를 받을 때:
let cookies = request.getCookies();
// 또는 querystring.parse(request.headers.cookie, ': ')
// 배열형식으로 받아진다
Cookieとは、サーバがクライアントのユーザ情報(個人情報等)を記憶・管理する場合に、認証手段Cookieをクライアントに渡す場合である.つまり、Cookieはクライアントのみが所有しているということです.
しかし、最大の欠点は、このビスケットには安全性が全くなく、すべての人に露出できることです.

セッション認証プロセス:


セッションはCookieと似ていますが、少し違います.すぐにハッシュ(Hashing,暗号化)処理を行うことができ、クライアントとサーバはストレージと管理を行うことができます.ただし、これは永続的なものではありません.サーバがオフになると、セッションはすべて消えます.
一般的なセッションの転送手順は次のように考えられます.
  • クライアントが登録されると、サーバはユーザのパスワードをデータベースで復号する(sha 256やsecretなど).
  • ログイン時にユーザ情報を復号し、データベースで比較操作を行う.
  • 同じ場合、ログインは承認されます.
  • サーバは、この情報を使用してセッションid(別の秘密によって作成されたトークン)を作成し、クッキーに渡す.
  • JWT認証:


    JWTはJSON Web Tokensの略で、Auto 0が提供するセキュリティ方法です.
    JWTは以下の3つの部分に分かれています.
    1) Header: 해시알고리즘 정보
    2) Payload: 서버가 담고 싶어하는 정보(Public / Private한 정보)
    3) Signature: Header + Payload + 나만의 Secret_Key
    最終結果(トークン=JWT)は既存の検証内容を暗号化したものであるため,最後の署名が一致していることを検証すればすべての情報が検証されたと考えられる.
    JWT転送のプロセスは次のように考えられます.
  • 会員入力:クライアント登録時、サーバはユーザのパスワードをデータベースにハッシュ(sha 256やsecretなど)して格納する.
  • ログイン:クライアントログイン時にコミットされたユーザ情報がサーバによって復号された後、データベースが比較される.
  • 承認:同じ場合、サーバはログイン承認を通過します.
  • トークンの生成:サーバは、対応する情報を使用してトークン(jwt:ハッシュアルゴリズム、別の秘密)を生成し、トークンをヘッダに配置して伝達する.
  • 検証:ユーザは常にヘッダにトークン情報を伝達する.ただし、サーバは毎回検証を必要とするのではなく、必要な部分で対応するヘッダを使用して検証します.
  • OAuth 2.0


    認証を第三者に委託する方式です.通常、スモールビジネスや個人では、強力なセキュリティを構築することは困難です.すなわち、攻撃から非常に脆弱である.それを補うために、より強力なセキュリティ能力を持つ第三者に検証を依頼します.
    0Auth2.0サービスはGithubとともに検証されます.
    ただし、検証のみを行い、ユーザー情報の格納と管理は完全にサーバが担当します.
    検証に成功した場合、Githubはユーザーに関連するトークンをサーバに支払う.