Steamログイン用パスワードの暗号化メカニズム解析と実装復元

Steamプラットフォームの認証フローでは、送信前のクレデンシャルに対してクライアントサイドでの非対称暗号化が強制されている。通信パケットを観察すると、RSA方式による公開鍵暗号化が採用されており、公開鍵パラメータはセッション単位で動的に配布される。ここでは通信手順の解析結果に基づき、暗号化ロジックを復元し、Python環境からJavaScript実行Engine経由で呼び ...

10月26日 21:19 投稿

OpenSSLを使用したRSAとSM2の鍵ペア生成およびPKCS形式の変換

OpenSSLは暗号化ツールキットとして広く使用されており、GmSSL(SM2/SM3/SM4/SM9/ZUC/SSLをサポートする暗号ツールキット)とともに使用されることもあります。 OpenSSLのバージョンを確認するには以下のコマンドを使用します: openssl version 1.1 使用例 Java開発者は、PKCS#8形式のヘッダーや改行、空白を取り除き、キーをロードすることが多いです。一方で、.NET ...

9月10日 14:15 投稿

SSLプロトコルの仕組みと基礎

概要 本記事では、SSL(Secure Socket Layer)プロトコルについて詳しく説明します。このプロトコルはWebブラウザとWebサーバ間で安全な情報交換を可能にするために設計されています。 1. 暗号学の基本概念 暗号化技術はデータの保護に不可欠です。以下にいくつかの重要な用語を紹介します。 平文(Plain Text): 全てのユーザーが理解できる形式のメッセージ。 暗号文(C ...

9月9日 10:11 投稿

実践的攻防演習:LinuxでのSSHキー設定とログイン利用

実践的攻防演習:LinuxでのSSHキー設定とログイン利用 はじめに SSHキー認証は、公開鍵と秘密鍵のペアを利用した認証方式です。公開鍵をサーバーの特定のアカウントに追加し、クライアント側で秘密鍵を使用することで認証とログインを完了できます。これにより、秘密鍵がない限り、誰もSSHパスワードをブルートフォースしてリモートログインすることはできません。さらに、 ...

8月8日 07:46 投稿

2023年紅明谷CTF「It Takes Two!」問題の解法

2023年紅明谷CTF「It Takes Two!」問題の解法 競技中の問題 本問題は行列演算と暗号理論を組み合わせたクリプトグラフィ challenge です。競技中、行列除算の方向を間違えてしまい、時間切れとなりました。 問題のコード: #task from sage.all import * from Crypto.Util.number import * from os import urandom from secret import flag n = 16 bound = 2^15 A = [ZZ. ...

7月19日 18:57 投稿

Vueでのログインパスワード暗号化機能の実装

実際の運用シナリオでは、HTTPS経由のフォーム送信は既に暗号化されていますが、プロキシサーバー経由で平文が取得される可能性があるため、このような暗号化機能が必要となりました。技術的な詳細については、ご質問があればお気軽にお問い合わせください。技術面接の履歴書に記載するための実践的な内容として共有します。Vueに関する技術的な問題については、いつでもお ...

7月11日 18:37 投稿

CTF暗号学チャレンジ:RSA攻撃と古典暗号の解析

RDSA派生アルゴリズムと攻撃手法 連続素数を利用したRSA (MRCTF2020 babyRSA) この課題では、RSAの鍵生成に連続する素数と特殊な演算が使用されています。まず、公開情報から17個の連続した小さな素数を復元し、それらの積からなる $n$ を算出する必要があります。与えられた $p^{65537} \pmod n$ という値を利用し、離散対数問題的なアプローチあるいは既知の構造を利用 ...

7月10日 20:25 投稿

サーバー側でのデバイスデータ保護と改ざん防止の実装

概要 IoTや組み込みデバイスとの通信において、サーバー側でデバイスから送信されるデータを盗聴・改ざんから守るための実践的なセキュリティ実装手法を紹介します。TLSによる安全な通信、HMAC-SHA256によるデータ整合性検証、RSAによるデジタル署名、およびリプレイ攻撃対策を統合した企業向けソリューションを提供します。 技術スタックとアーキテクチャ フレームワ ...

5月31日 05:59 投稿

JavaScriptにおける暗号化・ハッシュ処理の実装パターンとサンプル

概要 Webアプリケーション開発でよく使われるJavaScriptによるデータ保護手法を整理し、即座に使えるコード例を提供します。単なるエンコードから本格的な暗号化まで、目的に応じた選択が可能です。 1. 対称鍵暗号 Base64は厳密には暗号化ではなく、バイナリデータのテキスト表現です。一方、AESは強力な対称鍵暗号として広く利用されています。 <html> <body&g ...

5月30日 20:27 投稿

REST API通信におけるRSA非対称暗号化の実装

Webアプリケーションにおいて、クライアントとサーバー間で送受信されるデータが平文のままでは、パスワードや個人情報などの機密データが第三者に傍受されるリスクがあります。これを防ぐため、通信時にデータを暗号化する必要があります。 代表的な対策として、RSAのような非対称暗号方式を用いた暗号化が有効です。この方式では、サーバー側が公開鍵と秘密鍵のペアを生 ...

5月29日 11:43 投稿