問題タブ [hmac]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
7652 参照

c++ - Qt で HMAC-SHA1 アルゴリズムを実装する方法

C++/Qt アプリケーションに HMAC-SHA1 アルゴリズムを実装しようとしています。Sha1 アルゴリズムのメソッドを利用できます。その HMAC 部分を理解する必要があるだけです。

この疑似コードはウィキペディアからのものです。

ブロックサイズは?ゼロ関数は 8 行目で何をしますか? C++ で 12 ~ 13 行をどのように表現しますか?

0 投票する
2 に答える
7757 参照

java - GAE/J で OAuth HMAC-SHA1 署名を作成するには?

編集: PHP の hmac-SHA1 に相当する Java
(うまくいけば、atm を試してください)

私の理解では、署名を作成するには「ベース文字列」と「キー」が必要です。基本文字列を作成する方法を知っていると思います.Googleがアプリにキーとして割り当てた「OAuth Consumer Secret」を使用することになっていると思います.

しかし、署名を得るには、この 2 つをどうすればよいのでしょうか。GAE/Java に HMAC クラスはありますか?

OAuth Playgroundが生成したものをどこかに保存しただけで再生できますか? それはあなたがそれを行う方法ですか?または、OAuth 署名には有効期限がありますか?

(私は以前に AuthSub を試しましたが、非常に単純に見えても失敗しました。また、OAuth は私にとってより「標準的」に思えるので、OAuth に固執したいと思います。)

0 投票する
1 に答える
317 参照

oauth - HMAC SSL Certificate Question with OAuth

I'm kinda new to this topic so please be gentle ;) I'm attempting to use a 3rd-party Health API called Dossia (http://dossia.org).

I setup a test account and have received my OAuth Consumer Key and Secret, in the config there's a line which says

define('USER_SIG_METHOD','HMAC-SHA1');

My question is how do I make my server's "Signature Method" HMAC-SHA1?

This is just a non-ssl dev box with Fedora, I do have a production box with SSL on it, but I was hoping to get a sandbox post before moving it to production.

When I curl a post, I get a 404 error and the curl handle's info reads this:

So I'm assuming this is the issue, I have scoured their wiki, which is found here however the only thing it says about the signature method is that they only support HMAC, do I need to include a certificate like the one on my prod box? Or am I going in completely the wrong direction?

Any advice would help me, Thank you!

0 投票する
2 に答える
41976 参照

security - メッセージ ダイジェスト、メッセージ認証コード、および HMAC の違いは何ですか?

メッセージ ダイジェストについての私の理解では、これは暗号化されたデータと共に送信される一部のデータの暗号化されたハッシュであるため、データが改ざんされていないことを確認できます。これと、メッセージ認証コード (MAC) およびハッシュ MAC (HMAC) の違いは何ですか?

0 投票する
1 に答える
963 参照

java - hmac メッセージの暗号化ですが、独自のキーを使用します

上記のコードは、HMAC を使用してメッセージをダイジェストするためのキーを提供します。ここで、ユーザーがキーを指定する HMAC ロジックを Java に実装したいと考えました。何か案は?

0 投票する
1 に答える
1075 参照

encryption - データがストリーミングされている場合、または HMAC に対して大きすぎる場合の「パディングオラクル」攻撃を防止しますか?

パディング オラクル攻撃に対する最善の解決策は、完全な暗号化メッセージに HMAC をラップして追加することです。しかし、他にどのような解決策がありますか? データが大きすぎてストリーミングする必要がある場合はどうすればよいですか? 最後に HMAC をチェックすることはできますが、ファイル全体を 2 回ロードして、最初に HMAC をチェックしてからストリーミングしてユーザーに復号化する余裕はありませんか?

さまざまな方法がありますか?

AES_CBC(zlib(data)) を使用すると、攻撃者はパディング オラクル攻撃も行うことができますか? 圧縮されたデータが最終的に文字化けすると、zlib はエラーを出力します。攻撃者は zlib のそのエラーを使用して、わずかな情報を取得することもできますか?

0 投票する
1 に答える
159 参照

base64 - 一部のアプリケーションが HMAC を Base 64 でエンコードするのはなぜですか?

一部のアプリケーションは、メール目的ではないのに HMAC を base 64 でエンコードするのはなぜですか? 古い実装や慣行の痕跡ですか?

「HMAC」、「base」、「64」という言葉を使ってグーグルで少し調べてみると、多くの人がそうしていることがわかりますが、その理由はわかりません。それを保存したり出力したりすることとは何の関係もないと確信しています。

0 投票する
3 に答える
11201 参照

erlang - ErlangはHMAC-SHA1の例を計算していますか?

Erlang で HMAC-SHA1 を計算する例やライブラリはありますか?

Crypto Module を試してみましたが、どうやら正確には一致しません。例はありますか?

0 投票する
3 に答える
6677 参照

php - hmac で JavaScript クライアントを保護する

私が取り組んでいる JavaScript アプリケーションを保護する方法を研究しています。このアプリケーションは、バックエンドとして APE (Ajax Push Engine) を使用するチャット クライアントです。

現在、誰でもページにアクセスして APE サーバーに GET/POST リクエストを行うことができます。チャット クライアントを登録ユーザーにのみ提供したいので、そのユーザーの要求だけが受け入れられるようにしたいと考えています。PHP でユーザー名/パスワード認証を使用して、ユーザーにページを提供できます。しかし、彼らがページを手に入れたら、彼らが JavaScript を変更したり、悪意のある人の手に渡ったりするのを防ぐにはどうすればよいでしょうか?

クライアント/サーバーアプリケーションを保護するためのこの方法は有望に見えます: http://abhinavsingh.com/blog/2009/12/how-to-add-content-verification-using-hmac-in-php/

秘密鍵の送信に依存しないため、これは JavaScript クライアントに理想的であるという別の情報源があります。しかし、これはどうしてですか?上記のチュートリアルによると、クライアントは秘密鍵を提供する必要があります。JavaScriptを持っている人は誰でもそのユーザーの秘密鍵を持っているので、これはあまり安全ではないようです. 私が理解していることから、次のように機能します。

  1. ユーザーはユーザー名とパスワードでログインします
  2. PHP はユーザー名とパスワードを検証し、ユーザーの秘密鍵を検索して、それを JavaScript に挿入します。
  3. Javascript は、(秘密鍵を使用して) 署名を提供し、すべての APE 要求で公開鍵を提供します。
  4. APE は、計算された署名を受信した署名と比較し、要求を処理するかどうかを決定します。

JavaScriptアプリケーションが秘密鍵を認識する必要がある場合、これはどのように安全ですか?

助けてくれてありがとう!

0 投票する
3 に答える
12244 参照

c# - C# の HMAC ベースのワンタイム パスワード (RFC 4226 - HOTP)

私は、大文字と小文字を区別しない 6 桁/文字の有効期限のあるワンタイム パスワードを生成することに頭を悩ませようとしています。

私のソースはhttps://www.rfc-editor.org/rfc/rfc4226#section-5です

まずパラメータの定義

次に、HOTP を生成するアルゴリズムがあります。

次に、Truncate を次のように定義します。

次に、6 桁の HOTP の例を示します。

これを、ワンタイム パスワードを生成するための便利な C# コードに変換しようとして、途方に暮れています。次のように、期限切れの HMAC を作成するためのコードが既にあります。

上記のアルゴリズムで提案されているように、そこから6桁になる方法がわかりません。