並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 320件

新着順 人気順

ハッシュ関数の検索結果1 - 40 件 / 320件

  • 高木浩光@自宅の日記 - 緊急速報:マイナンバー法の「裏番号」禁止規定、内閣法制局でまたもや大どんでん返しか

    ■ 緊急速報:マイナンバー法の「裏番号」禁止規定、内閣法制局でまたもや大どんでん返しか まえがき 個人番号(マイナンバー)を、法定された目的(税とか社会保障とか)以外で他人に対して提供を求めることが禁止されていることは、わりと広く知られており、みんな遵守してきたところだろう。だが、今、どう見ても目的外で提供を求めている(自社サービスの利用者登録の目的とされている)スマホアプリがあるということで、個人情報保護委員会の出方が問われているところ、宇賀説(宇賀克也『番号法の逐条解説』有斐閣)によれば合法ということになるのではないか?(おそらく弁護士らもそれを参考にしていたのでは?)という話が出ているのだが、これについて、番号法(行政手続における特定の個人を識別するための番号の利用等に関する法律、平成25年法律第27号)の立案過程で、内閣法制局で二転三転していたことが判明したので、至急、速報的に、こ

    • ブラウザからDBに行き着くまでただまとめる

      はじめに あなたはブラウザからデータベース(DB)に情報が行き着くまでにどんな技術が使われているか説明できますでしょうか? どのようなプロトコルが用いられ、どの技術を駆使してサーバと通信しているのか、Webサーバでは何が行われ、どのようにして負荷が分散されているのか、トランザクションはどのように管理されているのか、そしてデータベースではシャーディングや負荷対策のためにどのような対策が取られているのか… なんとなくは理解しているものの、私は自信を持って「こうなっている!!」とは説明ができません。 そこで今回は「大規模サービス」を題材としてブラウザからデータベースに至るまでの、情報の流れとその背後にある技術について、明確かつ分かりやすく解説していきたいと思います。 対象としてはこれからエンジニアとして働き出す、WEB、バックエンド、サーバーサイド、インフラ、SREを対象としております。 1.

        ブラウザからDBに行き着くまでただまとめる
      • 何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog

        不正アクセスによるIDとパスワードの漏洩を受けて、MD5によるハッシュ化について話題になっていました。システムを作る上で、パスワードの管理や認証はどう設計すべきかを考えるために、少し整理をしてみます。もし事実誤認があれば、どしどしご指摘ください。 == 2023/8/21追記 == この記事は、ハッシュの保存の仕方一つとっても、沢山の対策方法が必要であるということをお伝えするために記載しています。そして、これから紹介する手法を取れば安全とお勧めしている訳ではないので、その点をご留意いただければと思います。攻撃手法に応じての対応策の変遷を知っていただくことで、セキュリティ対策は一度行えば安全というものではないことを知って頂くキッカケになれば幸いです。 == 追記終わり == パスワードのハッシュ化 まず最初にパスワードの保存方法です。何も加工しないで平文で保存するのは駄目というのは、だいぶ認

          何故パスワードをハッシュ化して保存するだけでは駄目なのか? - NRIネットコムBlog
        • 図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書

          この本の概要 テレビ会議やリモートワークが普及する中,情報を守る暗号や本人確認のための認証技術の重要性が増しています。本書は公開鍵暗号や署名などの理論を基礎から詳しく解説し,TLS1.3やHTTP/3,FIDOなどの新しい技術も紹介します。更にブロックチェーンで注目されている秘密計算,ゼロ知識証明,量子コンピュータなど最先端の話題も扱います。 こんな方におすすめ 暗号と認証の基礎を学習したい人 Web担当者やセキュリティ担当者など 1章 暗号の基礎知識 01 情報セキュリティ 情報セキュリティの三要素 情報セキュリティと暗号技術 利便性とコスト 追加された要件 02 暗号 暗号とは よい暗号と使い方 暗号の動向を知る 03 認証 パスワードによる認証 パスワード攻撃者の能力 パスワードの攻撃手法 認証の分類 認可 OAuth 04 古典暗号 シフト暗号 換字式暗号 符号化 2章 アルゴリズ

            図解即戦力 暗号と認証のしくみと理論がこれ1冊でしっかりわかる教科書
          • アニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」

            電子証明書の暗号化やブロックチェーンは、入力された値からまったく異なる値であるハッシュ値を算出する「ハッシュ関数」によって成り立っています。エンジニアのGreg Walker氏が、代表的なハッシュ関数である「SHA-256」のハッシュ値算出の過程をアニメーションで表示できるプログラム「SHA-256 Animation」を公開しています。 GitHub - in3rsha/sha256-animation: Animation of the SHA-256 hash function in your terminal. https://github.com/in3rsha/sha256-animation 実際にプログラムを動かしてみたムービーが以下のものです。 ハッシュ値が生成される様子を「SHA-256 Animation」で観察するとこんな感じ - YouTube プログラムを動かす

              アニメーションで感覚的にハッシュ関数「SHA-256」の算出過程を理解できる「SHA-256 Animation」
            • 朝マックの「ハッシュポテト」は悪魔の食べ物 - kansou

              朝マックの「ハッシュポテト」がうますぎて怖い。 丸く揚げられたイモ…サクサクとホクホク…「奇跡」としか言いようのない最高極まりないバランス…初めてハッシュポテトを口にしたとき「こんなにうまい食べ物がこの世に存在していいのか」とこれまでの人生の価値観が180度変わったのを今でも覚えている。 そしてなにより、こんなカロリー爆弾のような食い物を「朝に食う」という背徳感…これがたまらない。 「朝はスムージーしか口にしないんで…」 とほざく腐れ自称青年実業家の無駄にテカったツーブロックの頭をポテトでフルスイングする感覚…金?地位?名声?そんなものはハッシュポテトの前ではまるで「無」。朝にハッシュポテトを食べることができる自分、それが全てだった。 が…毎朝のようにハッシュポテトを食べるたびに、いつしかある衝動に駆られる自分がいた。 「朝以外もハッシュポテトが食いたい」 食いてぇ…朝だけじゃなく昼も夕方

                朝マックの「ハッシュポテト」は悪魔の食べ物 - kansou
              • IPA高度資格「情報処理安全確保支援士」暗記すべき用語を体系整理 - Qiita

                はじめに ◆この記事は何? IPA高度資格「情報処理安全確保支援士」のシラバスに掲載されている用語の備忘録です ◆対象は? 情報処理安全確保支援士の試験勉強をされる方 ◆この記事のねらい 試験範囲の用語の階層を整理します 試験勉強の一助となれば幸いです ◆この記事について シラバスの用語を参考書等を読みながら自分なりに整理した私の暗記用のノートです 試験に向けて高頻度で更新しています ご助言、誤り等あればご指摘いただけると幸いです 試験範囲全体 試験範囲の分解 暗号 認証 ネットワークセキュリティ データベースセキュリティ クライアントセキュリティ httpセキュリティ メールセキュリティ 攻撃と対策 注目技術 ※参考文献の目次をベースに、試験範囲を分解 暗号技術 共通鍵暗号方式 ブロック暗号 ECBモード CBCモード CTRモード(Counterモード) ストリーム暗号 公開鍵暗号方式

                  IPA高度資格「情報処理安全確保支援士」暗記すべき用語を体系整理 - Qiita
                • 暗号アルゴリズム「SHA-1」の廃止を発表、NIST

                  米国国立標準技術研究所(NIST: National Institute of Standards and Technology)は12月15日(米国時間)、「NIST Retires SHA-1 Cryptographic Algorithm|NIST」において、暗号アルゴリズム「SHA-1」を廃止すると伝えた。SHA-1の暗号ハッシュ関数はすでに脆弱と評価されており米国政府機関での利用廃止が発表されている。 電子情報を保護するために初期に広く使われた手法の一つであるSHA-1アルゴリズムは、耐用年数が終了しているとして廃止が決定されている。SHA-1がまだ使用されているという現状から、より安全性の高い新しいアルゴリズムに置き換えることが推奨されている。 SHA-1という名称は「Secure Hash Algorithm」の頭文字からきており、1995年から連邦情報処理規格(FIPS:

                    暗号アルゴリズム「SHA-1」の廃止を発表、NIST
                  • メールアドレスをハッシュ化したものを公開してもよいのか - しまたろさんの掃き溜め

                    注意 この記事は攻撃の実行を教唆する目的で書かれたものではなく、特定の状況におけるセキュリティ上の問題点を指摘するために公開しているものです。この記事に書かれた内容を実行して発生した結果について、筆者は一切の責任を負いません。 はじめに インターネット上で他人のメールアドレスをmd5で二重ハッシュしたものを公開されている方を見かけたため、解析する実験を行いました。 メールアドレスのユーザー名部分は多くの場合小文字のアルファベットと数字のみ(36文字)のそれほど長くない列で構成されており、ブルートフォース攻撃(総当り攻撃)によって簡単に特定できてしまうと考えられます。 またドメイン部分に関しても、一般の方が使うメールプロバイダが限られていることを考慮すると、サイズの小さい辞書でも十分な確率で当たるものと考えられます。 実験 今回はhashcatという、GPUでハッシュ値を解読するソフトウェア

                      メールアドレスをハッシュ化したものを公開してもよいのか - しまたろさんの掃き溜め
                    • RSA署名を正しく理解する

                      初めに 「署名とはメッセージのハッシュ値を秘密鍵で暗号化したものであり、検証は署名を公開鍵で復号してハッシュ値と等しいかを確認することである」という説明(×)をよく見かけます。 正しい署名の定義と実際のRSA署名がどのようなものであり、上記説明(×)がなぜよくないのかを理解しましょう。 署名の定義 署名の解説は署名の概要でも解説しましたが、再掲します。 署名(方式)は鍵生成(KeyGen)、署名(Sign)、検証(Verify)の3個のアルゴリズムからなります。 KeyGenではアリスが署名鍵sと検証鍵Sを生成します。署名鍵sは自分だけの秘密の値なので秘密鍵、検証鍵Sは他人に渡して使ってもらう鍵なので公開鍵ともいいます。 Signは署名したいデータmに対して署名鍵sを使って署名と呼ばれるデータσを作ります。 データmと署名σのペアを他人(ボブ)に渡します。 Verifyはボブが検証鍵Sを使

                        RSA署名を正しく理解する
                      • 乱数について本気出して考えてみる|TechRacho by BPS株式会社

                        プログラミングをやっていると、様々な乱数に出会います。乱数に関しては大勢の研究者が色々な研究結果を出しているため、種類も増え、いったいどれを使えばいいのかと悩む原因にもなります。 大勢が研究し利用している分野ですから、私以外でも大勢が乱数に関する記事を書いているため、あえて新しい記事を書く価値は高くないかもしれません。まあ、既に理解している人はここで記事を閉じるか、暇つぶし程度の感覚で読んでいただくと良いかと思います。 真乱数と疑似乱数 プログラミングの世界の中でいわゆる "乱数" として扱われることが多いのは擬似乱数です。疑似、と付くからには、これは実のところ乱数ではないと言えます。とは言え、擬似乱数を乱数でないと言ってしまうと話が終わってしまうので、疑似乱数を含む乱数を広義の乱数とします。この記事で扱うのは広義の乱数です。逆に、狭義の乱数、本物の乱数は真乱数と言います。 本物と言いまし

                          乱数について本気出して考えてみる|TechRacho by BPS株式会社
                        • 公開鍵暗号関連のテキストの間違いの典型例 - Qiita

                          はじめに 背景 世間一般の公開鍵暗号関連の解説書・サイトは99%あてになりませんが、一例として、とある情処対策の解説動画の添削を行います。 ※twitterで問題点を説明する機会があったので、折角なら記事として共有できる形にしようという動機からです。 対象 対象の動画は https://www.youtube.com/watch?v=rgK4FGENzMo で、2021/3/1時点の内容を元にしています。 ※後日修正される可能性もあるため。 なお、先に断っておくと、この動画が特別酷いわけではなくて、大体どれもどんぐりの背比べです。如何にみんな真面目に情報を検証していないか、ということが実感できます。 動画のスライドの添削 スライド1: ディジタル署名(~0:48) 第1段落「公開鍵暗号方式を使って」 ディジタル署名とは、公開鍵暗号方式を使ってデジタル文書の正当性を保証する技術です この表現

                            公開鍵暗号関連のテキストの間違いの典型例 - Qiita
                          • あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ

                            初めに サイボウズ・ラボの光成です。 いきなりですがクイズです。次のうち正しい説明はどれでしょう。 SSHやFIDO2などの公開鍵認証はチャレンジを秘密鍵で暗号化し、公開鍵で復号して認証する。 ビットコインでは相手の公開鍵を用いてハッシュ値を暗号化して相手に送る。 TLS1.3ではサーバ公開鍵を用いてAESの秘密鍵を暗号化する。 答えはどれも間違いです。 公開鍵認証は、(デジタル)署名を使って相手先の正しさを検証するものであり、暗号化は行われません。 同様にビットコインもデータや相手の正当性を確認するために署名が用いられ、暗号化は行われません。 TLS 1.3ではRSA暗号の公開鍵を用いて暗号化する方式(static RSA)は廃止され、ECDH鍵共有された値を元に秘密鍵を生成し、AES-GCMなどの認証つき暗号で暗号化します。 公開鍵暗号とは いわゆる公開鍵暗号には大きく2種類の意味があ

                              あなたの「公開鍵暗号」はPKE? それともPKC? - Cybozu Inside Out | サイボウズエンジニアのブログ
                            • DNSpooqの脆弱性詳細と攻撃コード解説 - knqyf263's blog

                              概要 要約 詳細 背景 前提 インターネット上に公開されたdnsmasq LAN内のマシンが攻撃者の支配下にある LAN内のマシンに攻撃者管理のWebサイトを閲覧させることができる 影響 中間者攻撃 汚染拡大 DDoS/Reverse DDoS CVE-2020-25684: ポートの多重化 CVE-2020-25685: 脆弱なCRC32の利用 CVE-2020-25686: 同一ドメイン名に対する複数クエリ発行 DNSフォワーダにおけるレスポンスの未検証 組み合わせる ドメイン名の登録 ソースIPアドレスの偽装 CRC32の衝突 攻撃の流れ ブラウザからの攻撃 検証端末 攻撃の成功確率 PoC fowarder cache attacker 大量クエリの送信 偽装レスポンスの送信 高速化の話 実行 対策・緩和策 余談 まとめ 概要 先日DNSpooqという脆弱性が公開されました。 ww

                                DNSpooqの脆弱性詳細と攻撃コード解説 - knqyf263's blog
                              • タイムスタンプの再発見と「いわゆるブロックチェーン」

                                (第三者)検証可能な形で情報の非改ざんを保証することブロックチェーン技術の登場により、「情報が改ざんされずに検証できる形で残る」という機能が注目を集めている。しかし、ブロックチェーン技術の文脈でこの機能との関係を考える時に、多くの議論において技術史を踏まえない曖昧な議論が散見され、これが様々な場面で無用なディベートを生み出しているように見られる。そこで、この機能についての歴史を紐解きながら、「いわゆるブロックチェーン」をどう理解したらいいのかを述べたい。 この節のタイトルのように、第三者検証可能な形で情報の非改ざんを保証すること、という要請はもちろん古くから存在する。その多くは、信頼される第三者機関が、ある時点で文書が存在したことを証明するというもので、日本では法務省が所轄する公証制度が存在する[1]。[1]では、公証制度のことを以下のように書いている。 公証制度とは,国民の私的な法律紛争

                                  タイムスタンプの再発見と「いわゆるブロックチェーン」
                                • ISUCON9 レギュレーション違反の対応について [追記あり] : ISUCON公式Blog

                                  9/12 22:00 自己申請による失格について再度検討を行った結果を追記しました 9/12 18:00 平文での格納について一部表現を変更しました 9/11 21:38 本選出場の取り消し無効にする対応を追記しました 9/11 17:30 bcrypt についての一部表現を訂正しました 9/11 17:09 経緯についての追記を行いました ISUCON9 予選においてレギュレーション違反があり、本選出場者の繰り上がり対応を行いました。 経緯としては、マニュアルの制約事項にあった「パスワードを平文で保存すること禁止する」が該当しました。パスワードの保存の規定については、ISUCONの競技の性質上すべてをチェックすることは難しく、参加者の申告に基づき判断をしております。そのため、競技終了後すぐに判断することは出来ずこのタイミングとなりました。 [9/11 17:30 追記] 運営の対応につい

                                    ISUCON9 レギュレーション違反の対応について [追記あり] : ISUCON公式Blog
                                  • PHPサーバーサイドプログラミングパーフェクトマスターのCSRF対策に脆弱性

                                    サマリ PHPサーバーサイドプログラミングパーフェクトマスターには、PHP入門書としては珍しくクロスサイト・リクエストフォージェリ(CSRF)対策についての説明があるが、その方法には問題がある。アルゴリズムとして問題があることに加えて、実装上の問題があり、そのままコピペして用いると脆弱性となる。 はじめに 古庄親方の以下のツイートを見て驚きました。 CSRF用のトークンの作成 $token = password_hash(mt_rand(), PASSWORD_DEFAULT); ってのを書籍で見た………もンのすンげぇなぁ(苦笑 書籍名でググって調べる……評判が悪いので、まぁ、納得っちゃぁ納得。 — がる (@gallu) July 17, 2019 CSRFトークンの生成に、password_hash関数を使うですと? 親方に書籍名を教えていただき、購入したのが、この記事で紹介する「PH

                                    • iptablesの後に来るものは何か?: nftables - 赤帽エンジニアブログ

                                      この記事はRed Hat DeveloperのWhat comes after ‘iptables’? Its successor, of course: nftablesを、許可をうけて翻訳したものです。 ::: By Florian Westphal October 28, 2016 ::: パフォーマンス: ユーザビリティ: nftablesとは何ですか? 何が置き換えられますか? なぜiptablesを置き換えるのか? nftablesでの高水準な機能 判断マップ(ジャンプテーブル) flow文 inetファミリー はじめる チェーンの追加 NAT 既知の制限 関連記事 nftablesは、既存のiptables、ip6tables、arptables、ebtablesを置き換えることを目指した、新たなパケット分類フレームワークです。これは、長く使われてきた ip/ip6table

                                        iptablesの後に来るものは何か?: nftables - 赤帽エンジニアブログ
                                      • プログラマのための公開鍵による暗号化と署名の話

                                        初めに 公開鍵による暗号化と署名をプログラマ向け(?)に書いてみました。ちまたによくある暗号化と署名の話はインタフェースと実装がごちゃまぜになっていることが分かり、暗号化と署名の理解が進めば幸いです(と思って書いたけど、余計分からんといわれたらすんません)。登場する言語は架空ですが、多分容易に理解できると思います。 公開鍵による暗号化PKE 早速、公開鍵による暗号化(PKE : Public Key Encryption)を紹介します。登場するのは暗号化したいデータのクラスPlainText, 暗号文クラスCipherText, 秘密鍵クラスPrivateKeyと公開鍵クラスPublicKeyです。PKEは次の3個のインタフェースを提供しています。 abstract class PKE { abstract keyGenerator(): [PrivateKey, PublicKey];

                                          プログラマのための公開鍵による暗号化と署名の話
                                        • pixivに脆弱なパスワードで登録できないようにしました - pixiv inside

                                          図1: 脆弱なパスワードを入力した場合のエラー画面 こんにちは、pixiv開発支援チームのmipsparcです。 パスワード、もしかして使いまわしていますか? 複数のサービスで同じパスワードを利用していると、「パスワードリスト型攻撃」によって不正アクセスの被害を受けてしまうかもしれません。 パスワードリスト型攻撃の被害にあわないためには、ブラウザやパスワード管理ツールで自動生成された安全なパスワードを利用するのが好ましいです。 しかし、実際には多くの人が「使いまわしたパスワード」や「簡単なパスワード」(以下、脆弱なパスワード)を利用していますし、啓蒙活動にも限界があります。 pixivではサイバー攻撃への対策を複数とっていますが、根本的な対策のひとつとして、脆弱なパスワードを新しく設定できないようにしました。 脆弱なパスワードの判定方法 脆弱なパスワードの利用はどのように防ぐことができるで

                                            pixivに脆弱なパスワードで登録できないようにしました - pixiv inside
                                          • 初級者向け:データベース選択の必要性について - Qiita

                                            はじめに 本記事では、データベースに求められる要件の多様化についてまずは触れ、なぜ最適なデータベースを選択する必要があるのかについてお伝えします。 こちらはAWS Summit Tokyo 2019 Breakout Session 「【初級】 AWSにおけるデータベース選択指針」を基にした内容となっております。 目的 なぜデータベースの選択が必要なのかを理解すること 各種データベースの特徴と考えられるユースケースを理解すること 対象 データベースの選定を行う方 リレーショナルデータベースを使ったアプリケーション開発経験をお持ちの方 リレーショナルデータベース以外のデータベースの知識はお持ちでない方 アプリケーション要件の多様化 人事システムやCRM、ERPなど、主に社内ユーザ向けのエンタープライズシステムで使われるデータベースといえば、Relational Database(RDB)が主

                                              初級者向け:データベース選択の必要性について - Qiita
                                            • SSL/TLS実践入門 ──Webの安全性を支える暗号化技術の設計思想

                                              2024年4月25日紙版発売 2024年4月25日電子版発売 市原創,板倉広明 著 A5判/456ページ 定価3,740円(本体3,400円+税10%) ISBN 978-4-297-14178-3 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle 楽天kobo honto この本の概要 SSL/TLSは,通信の秘密を守るために利用されている通信プロトコルです。HTTPSやHTTP/3にも利用されており,今日のWebでは利用が一般的になっています。本書では,その最新バージョンであるTLS 1.3のしくみと,その使い方を解説します。SSL/TLSは公開されている実装例などを真似すれば基本的な動作はさせられますが,それを応用していくには技術に関する理論の理解が必須になります。しかしSSL

                                                SSL/TLS実践入門 ──Webの安全性を支える暗号化技術の設計思想
                                              • 新型コロナの接触確認アプリCOCOAは、どうあるべきだったのか?

                                                COVID-19対策接触確認アプリ「COCOA」は残念ながら不具合が報道されて話題になりました。そのOSS開発については、誤解が蔓延しているようです。今回はOSSと社会との関係について考察します。(まつもと ゆきひろ) 昨今の新型コロナウイルス感染症の広がりを防ぐ手段の一つとして導入されたのが、接触確認アプリ「COCOA」(COVID-19 Contact Confirming Application)です。 このアプリケーションは、プライバシーを維持したまま、ユーザー同士の接触を記録します。もし過去14日の間で、距離1m以内に15分以上とどまっていた人が、後に感染が分かれば通知してくれます。 もし社会全体で6割以上の人がこのアプリを使えば、大幅な感染拡大の抑制が期待されるとのことでした。 COCOAはAndroid版とiOS版が提供されていますが、日本では2020年現在、スマートフォンユ

                                                  新型コロナの接触確認アプリCOCOAは、どうあるべきだったのか?
                                                • SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか?

                                                  リモートでコンピューターにアクセスするためのプロトコルであるSSHは、コンピューターの認証を行うために公開鍵暗号を利用しています。公開鍵暗号の方式には「RSA」「DSA」「ECDSA」「EdDSA」があり、それぞれの仕組みと「SSHに適した方式」についてソフトウェア企業「Gravitational」のVirag Mody氏が解説しています。 Comparing SSH Encryption Algorithms - RSA, DSA, ECDSA, or EdDSA? https://gravitational.com/blog/comparing-ssh-keys/ 公開鍵暗号は、暗号化と復号に別々の鍵を用いる暗号方式のこと。例えば、ボブとアリスがやり取りを行う時、アリスは秘密鍵と公開鍵を作成し、公開鍵をボブに渡しておきます。ボブはアリスの公開鍵でメッセージを暗号化してアリスに送信。暗号

                                                    SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか?
                                                  • 2020年版 チーム内勉強会資料その1 : JSON Web Token - r-weblife

                                                    おはようございます。ritou です。 5月下旬ぐらいにチーム内勉強会としてJSON Web Token(JWT)についてわいわいやりました。 その際に作成した資料に簡単な説明を添えつつ紹介します。 このブログではJWTについて色々と記事を書いてきましたが、その範囲を超えるものではありません。 ちょっとだけ長いですが、ちょっとだけです。お付き合いください。それでは始めましょう。 JSON Web Token boot camp 2020 今回の勉強会では、JWTについて概要、仕様紹介という基本的なところから、業務で使っていくにあたって気をつけるべき点といったあたりまでカバーできると良いなと思っています。 JSON Web Token 概要 まずは概要から紹介していきます。 JSON Web Tokenの定義とはということで、RFC7519のAbstractの文章を引用します。 JSON W

                                                      2020年版 チーム内勉強会資料その1 : JSON Web Token - r-weblife
                                                    • Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ

                                                      Real World HTTP 第2版が2020/04/20出版されました。第2版が出版されるというのは、初版をみなさまが買ってくださったおかげです。どうもありがとうございます。紙媒体は先行入荷する書店さんではすでに入っているようです。オライリーのウェブサイトから電子版を購入することもできます。 4/17新刊『Real World HTTP 第2版 歴史とコードに学ぶインターネットとウェブ技術』オライリー(978-4-87311-903-8)渋川よしき 著◆「オライリー」棚にて展開中!Webテクノロジーの基礎となるHTTPの仕様を網羅的に学べる学習書が内容を充実させて改訂! pic.twitter.com/k86zXGaHe9 — 書泉ブックタワーコンピュータ書 (@shosen_bt_pc) April 17, 2020 Real World HTTPの初版の執筆時にも、ネットで見かける

                                                        Real World HTTP 第2版はなぜ1.5倍になったのか | フューチャー技術ブログ
                                                      • 知られざる王小雲。米国の暗号学的ハッシュ関数MD5、SHA-1を過去に葬り去った女性研究者 - 中華IT最新事情

                                                        第4回未来科学大賞で多額の賞金が、数学者、王小雲に授与され、彼女の名前がにわかにメディアに注目をされた。王小雲は2004年に米国のハッシュ関数「MD5」の脆弱性を発見した研究者だったと資訊咖が報じた。 ネット社会に必須のハッシュ関数 デジタル時代、ハッシュ関数はさまざまなところで使われる。最もよく知られているのは、パスワードの保管や書類の改竄検知などだ。 ハッシュとは「混ぜこぜ」という意味で、元のデータを混ぜこぜにして、まったく別のデータに変換をしてしまうというものだ。例えば、「元の数値を2倍にして1を引く」という単純なアルゴリズムでもハッシュ関数に近いことができる。2であれば3になるし、7であれば13になる。元の数字とは異なったものになる。 しかし、これでは何かの役に立つことはできないため、暗号学者、数学者たちは、複雑なアルゴリズムを考案し、ハッシュ関数としてさまざまな応用をしてきた。こ

                                                          知られざる王小雲。米国の暗号学的ハッシュ関数MD5、SHA-1を過去に葬り去った女性研究者 - 中華IT最新事情
                                                        • 試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab

                                                          世界中のエンジニアから愛されるオブジェクト指向スクリプト言語Ruby。多くの人々がこの言語にコントリビューションし、その成長を支えてきました。なかでも、特定バージョンのリリースの責任を持つ“リリースマネージャー”の功績はとても大きいものです。彼らの存在があったからこそ、Rubyのリリースは滞りなく行われてきました。 しかし、リリースマネジメントの歴史はけして平坦な道のりではありませんでした。歴代の担当者たちが、適切な運用方法について試行錯誤しながら、少しずつ改善を続けてきたのです。その過程には、全てのエンジニアにとって参考になるプロジェクトマネジメントの知見が詰まっています。 今回は、歴代のRubyリリースマネージャーである卜部昌平さん(@shyouhei)、園田裕貴さん(@yugui)、遠藤侑介さん(@mametter)、成瀬ゆいさん(@nalsh)にインタビュー。これまで担ってきた役割

                                                            試行錯誤と改善を続けたRubyリリースマネジメントの歴史。その歩みを歴代の担当者たちが振り返る - Findy Engineer Lab
                                                          • レゴブロックでブロックチェーンを説明する

                                                            1975年宮城県生まれ。元SEでフリーライターというインドア経歴だが、人前でしゃべる場面で緊張しない生態を持つ。主な賞罰はケータイ大喜利レジェンド。路線図が好き。(動画インタビュー) 前の記事:桃太郎のきびだんごは経費で落ちるのか > 個人サイト 右脳TV 裏切りものが何人いるかわからない世界 のっけからダジャレで恐縮である。でもそんなに遠くない気がするのだ。レゴブロックでなんとかイケるのでは?というぼんやりした確信を頼りに進めよう。 というわけで担当編集の古賀さんに説明します。ブロックチェーンについては「ビットコインが盛り上がったときに本を読んだがさっぱりわからん」とのこと。 いやしかし、仮想通貨(最近は暗号資産と呼ぶ)には苦い思い出もある人も多かろう。トラウマを刺激するつもりはないので、ここは最初に言っておこう。 実はブロックチェーンは「データを安全に保管する仕組み」であって、仮想通貨

                                                              レゴブロックでブロックチェーンを説明する
                                                            • RFC7938 - 大規模データセンター内でのルーティングのためのBGPの利用方法 - show log @yuyarin

                                                              はじめに この文書は RFC7938 - Use of BGP for Routing in Large-Scale Data Centers の日本語訳です。 翻訳者はデータセンターネットワークの専門家ですが翻訳の専門家ではありません。技術的な意味を維持した上でなるべく読みやすい日本語になるようにしているため、英文の直訳ではなく一部のニュアンスがかけている場合がありますのでご了承ください。オリジナルの目次、謝辞、参考文献等は省略しています。 免責 いつものやつ 目次 はじめに 免責 目次 概要 1. 導入 2. ネットワーク設計の要件 2.1 帯域とトラフィックのパターン 2.2 CAPEXの最小化 2.3 OPEXの最小化 2.4 トラフィックエンジニアリング 2.5 要件の要約 3. データセンタートポロジーの概要 3.1 従来のDCトポロジー 3.2 Closネットワークトポロジー

                                                                RFC7938 - 大規模データセンター内でのルーティングのためのBGPの利用方法 - show log @yuyarin
                                                              • ハッシュ関数「SHA-256」の計算プロセスをわかりやすく視覚化してくれる「Sha256 Algorithm Explained」

                                                                アメリカの国家安全保障局(NSA)によって開発された「SHA-2」は電子署名やブロックチェーンに応用される暗号学的ハッシュ関数の1つです。そのSHA-2の中でも特に使われているSHA-256でハッシュを生成するための計算プロセスがよくわかるサイト「Sha256 Algorithm Explained」を、Domingo Martin氏が公開しています。 Sha256 Algorithm Explained https://sha256algorithm.com/ Sha256 Algorithm Explainedにアクセスするとこんな感じ。 上部にある入力欄に、好きな文字列を入力します。今回はGIGAZINEのURLである「https://gigazine.net/」を入力してみました。すると、入力したURLをバイナリに変換したメッセージブロックが表示されます。メッセージブロックは32b

                                                                  ハッシュ関数「SHA-256」の計算プロセスをわかりやすく視覚化してくれる「Sha256 Algorithm Explained」
                                                                • NewSQLのコンポーネント詳解 - Qiita

                                                                  4.2.1 Shardingの手法 先ほどの表1を理解するにはSharding手法の列にあげられた各用語の理解が必要となる。 YugaByteDBのブログ「Four Data Sharding Strategies We Analyzed in Building a Distributed SQL Database」には、非常に詳しくShardingの手法が紹介されている。この記事では、大きく以下4つの分類があるという。 Algorithmic Sharding (例: Memcached/Redis) Linear Hash Sharding (例: 過去のCassandra) Consistent Hash Sharding (例: DynamoDB、Cassandra) Range Sharding (例: Spanner、HBase) 詳細は割愛するが、1つ目のアルゴリズム・シャー

                                                                    NewSQLのコンポーネント詳解 - Qiita
                                                                  • OWASPに学ぶパスワードの安全なハッシュ化 | DevelopersIO

                                                                    Dropbox はソルトとペッパーを利用 次の Dropbox 技術ブログによると、2016年9月時点の Dropbox は、パスワードをソルト化とペッパー化のコンボで保存していました。 How Dropbox securely stores your passwords - Dropbox 具体的には パスワードを SHA512 でハッシュ化 このハッシュ値をソルトとともに bcrypt でハッシュ化 最後にペッパーを鍵に AES256 で暗号化 というようにパスワードを多段で保護してデータベースに保存していました(AES256(BCRYPT(SHA512(PASSWORD) + SALT), PEPPER))。 ※ 図はブログ記事より引用 Dropbox はあくまでもペッパーの実例として紹介しました。 bcrypt の項でお伝えしたように、bcrypt 処理前にパスワードをハッシュ化す

                                                                      OWASPに学ぶパスワードの安全なハッシュ化 | DevelopersIO
                                                                    • スタンフォードのコンピュータサイエンスの授業の感想(後編)|Rui Ueyama

                                                                      2017年にも同じタイトルの記事を書いたのだけど、その後無事にスタンフォード大学院のコンピュータサイエンス学部を卒業することができたので、前回の記事以降に取った授業について、僕なりの感想をちょっとまとめたい。 CS255 暗号入門 (2018Q1)文字通り暗号についての授業。対称鍵暗号、公開鍵暗号、メッセージ認証、一方向ハッシュ関数などのトピックについて学ぶ。プログラミングではなく理論中心の授業。 宿題では、例えばこういう手順で暗号化される通信が安全であることを証明せよ、みたいな問題が出た。こういう問題は、もし安全ではないとしたらそれを利用して安全とされている暗号(AESとか)を破れてしまう、みたいな背理法で証明を行う。そういう巧妙な証明を考えるのは結構面白かった。あるいは逆に、このように暗号化された通信方式の穴を見つけよ、みたいな問題も出た。 AESやSHA256そのものがなぜ安全と思わ

                                                                        スタンフォードのコンピュータサイエンスの授業の感想(後編)|Rui Ueyama
                                                                      • フルスクラッチでSHA-256を作る

                                                                        ハッシュ値の利用者として中身のアルゴリズムを知っておきたいと思ったのでTypeScriptで1からSHA-256を作ろうと思います。SHA-256は名前そのまま、どんな長さのメッセージでも256bitsのハッシュ値を返す関数です。 完成版はこちら 前提知識 論理演算(論理積とか論理和とか排他的論理和とか)とシフト演算が分かっていれば大体いけます。 論理積はAND。数式上では\land、コードでは&で表します。 論理和はOR。数式上では\lor、コードでは|で表します。 排他的論理和はXOR。数式上では\oplus、コードでは^で表します。 左シフト演算はビット列を左にnビット動かすやつです。値は2^n倍になります。数式上では\ll、コードでは<<で表します。 右シフト演算はビット列を右にnビット動かすやつです。値は2^{-n}倍になります。数式上では\gg、コードでは符号なしの右シフト演算

                                                                          フルスクラッチでSHA-256を作る
                                                                        • NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術

                                                                          ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! 山下郁矢です。2018年新卒で入社し、現在はNoSQLデータベースエンジニアとして働いています。 サービスを作るにあたってデータベースは必要不可欠ですよね。ヤフーでは100を超えるサービスで毎日生み出される膨大なデータを、データベースを用いてリアルタイムで蓄積し、運用管理しています。 今回は、その中でも利用規模の大きい、NoSQLデータベースの1つであるApache Cassandraを皆様に知ってもらうべく、ヤフーでどのようにして利用されているのかをお伝えしたいと思います。 NoSQLの立ち位置 Cassandraについてご紹介する前に、NoSQLについて軽く説明します。 NoSQLデータベースは一般的に非RDBM

                                                                            NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術
                                                                          • ブロックチェーン:膨張する看板に偽りはないか - 誠実なプロセスの必要性 -

                                                                            夢と応用の概念が膨張したブロックチェーンの2021年2021年は、ブロックチェーンに関係する概念や言葉が、改めて注目を集めた年だったのではないだろうか。2008年に公開されたSatoshi Nakamotoによる未査読の論文によってビットコインが誕生し、その後ビットコインの基盤的機構をブロックチェーンという形で抜き出し、さまざまな応用への検討がなされたが、一方でブロックチェーンを利用する必然性を持った応用が見つけられない状況が続いていた。しかし、2021年になって、必ずしも新しい言葉や概念ではないものの、ビットコインが目指している方向である「正しい運用を仮定できるサーバを不要とする」という概念に基づく様々な言葉と、その言葉に関係する技術開発やプロジェクトが登場した。その多くは、プラットフォーマーによる独占からの解放、社会的な活動の民主化、陽が当たらなかった人へのインセンティブづけ、金融包摂

                                                                            • ロスレス画像圧縮: QOI(Quite OK Image) format

                                                                              QOI(Quite OK Image) format 2021年11月にDominic Szablewski氏(@phoboslab)の手による新しいロスレス画像圧縮「QOI(Quite OK Image) format」がアナウンスされました。 C言語のヘッダオンリー・ライブラリとしてわずか300行たらずで実装され、PNGフォーマットに近いデータ圧縮性能でありながら、20~50倍のエンコード速度、3~4倍のデコード速度を実現しています(作者自身によるアナウンス記事より)。 アナウンス記事: Lossless Image Compression in O(n) Time ソースコード: GitHub phoboslab/qoi ベンチマーク結果: QOI Benchmark Result この記事ではQOIフォーマットに関する個人的評価と、その画像圧縮アルゴリズムをざっくりと解説します。

                                                                                ロスレス画像圧縮: QOI(Quite OK Image) format
                                                                              • パスワード解析などに使われる「レインボーテーブル」の仕組みとは?

                                                                                パスワードやアクセスキーなどの重要なデータは「ハッシュ関数」で一方向の変換を行うことで、漏えいの被害を最小限に抑えることができます。しかし、パスワードとハッシュ値の組み合わせを記録したレインボーテーブルによって、ハッシュ値からパスワードを解析される攻撃を受ける危険性もあります。そんなレインボーテーブルの仕組みについて、ソフトウェアエンジニアのKestas "Chris" Kuliukas氏が図解しています。 How Rainbow Tables work http://kestas.kuliukas.com/RainbowTables/ ハッシュ関数は文字列を別の文字列に変換することができる関数で、変換前の文字列から変換後の文字列を計算することはできますが、変換後の文字列から変換前の文字列を計算することはできません。変換前の文字列は「平文(Plaintexts)」、変換後の文字列は「ハッシ

                                                                                  パスワード解析などに使われる「レインボーテーブル」の仕組みとは?
                                                                                • ビットコインは世界中でどれだけの電力を使っているのか?|Rui Ueyama

                                                                                  ビットコインのような暗号通貨は、取引所で購入するだけではなく、PCやマイニング機器を使って「掘り出す」こともできる。しかし、ビットコインをマイニング(採掘)するとは、そもそもどういうことなんだろうか? また、ビットコインのマイニングのために世界中でどれくらいのエネルギーが使われているのだろうか? このエッセイではそれについて解説してみようと思う。 ビットコインの仕組みまずは簡単にビットコインの仕組みについて説明しておこう。 ビットコインの実体のデータベースは「ブロックチェーン」と呼ばれていて、そこにビットコイン上で行われた今までのすべての送金記録が入っている。送金記録というのは、たとえばアドレスAが持っている3ビットコイン(BTC)のコインを使って、1 BTCのコインをアドレスBに、2 BTCのコインをアドレスCに送ったといった情報で、1件1件の送金記録はトランザクションと呼ばれる。ビット

                                                                                    ビットコインは世界中でどれだけの電力を使っているのか?|Rui Ueyama