Lyo Kato
Lyo Kato
Currently it doesn't support SSL itself, assumes that it runs behind of some load-balancer (AWS ALB, nginx, etc)
Hi, Thank you for your report. But it's not enough to dig into the problem. Did you make sure to write require 'sinatra' or require 'sinatra/base' before require 'sinatra/formkeeper' On...
ありがとうございます。 ざっと確認しましたが、効率化などに関する部分は問題ないかと思いました。 しかし、プロトコル部分に関する修正は以下の2点かと思いますが、意図が読めないところがありました。プロトコルに関する修正は、W3C仕様書のどの記述に基づいての修正なのか参照先を頂きたいです。あるいは他のライブラリとのInterOpで失敗する場合はどういった失敗が発生するのか具体的な情報を頂きたいです。 ### AttestationObjectのフォーマット変更 https://github.com/lyokato/WebAuthnKit-iOS/blob/8301b1306cc2157510cf1698ed2c6efacabe9c20/WebAuthnKit/Sources/Authenticator/Attestation.swift#L57-L60 CBORのMapフォーマットの部分で、キーに当たるStringをIntに変更しているようですが、このIntの各数値はどの仕様を参照されたものでしょうか? 自分も改めてこのあたりを確認してみましたが、キーは文字列で合っているように見えますし、 https://www.w3.org/TR/webauthn/#sctn-attestation Yubicoのライブラリなども確認してみましたが、やはり文字列がキーになっています。 https://github.com/Yubico/python-fido2/blob/master/test/test_ctap2.py#L166-L168 ### makeCredentialのパラメータ修正 https://github.com/lyokato/WebAuthnKit-iOS/blob/8301b1306cc2157510cf1698ed2c6efacabe9c20/WebAuthnKit/Sources/Client/Operation/ClientCreateOperation.swift#L256 hash計算した値ではなく、サーバーから受け取ったchallenge値をそのまま渡すように修正されていますが、こちらもどの情報を参照されての修正なのかを明示頂きたいです。 こちらも仕様を確認いたしましたが、 https://www.w3.org/TR/webauthn/#op-make-cred こちらのパラメタータに ``` hash The hash of the serialized client data, provided by the...
情報ありがとうございます! 状況よく理解できました。ご指摘のポイントも非常にわかりやすかったです。 自分の方でもあとで該当箇所、読み込んでみたいと思いますが、 とりあえずFIDO2 CTAP側の仕様ということですね。 ちなみに現時点で自分がConfirmationToolについての知見がないので申し訳ありませんが、 実行されたテストというのはAuthenticatorに該当する部分のみのテストでしょうか? 本来WebAuthnのフローは ``` Server Client Authenticator ``` の三者間のフローですが、このSwiftライブラリはInternalなAuthenticatorのみ現在対応していて、 Client部分とAuthenticatorの2つの両方のコンポーネントを内包しています。 ConfirmationToolによる該当のテストがどのように行われたかを確認したいと考えています 1. Authenticator部分のみに対してのvalidationなのか 2. Client部分も含めての振舞いに対するvalidationをしてくれるのか CTAPの仕様はClientとAuthenticator間の通信仕様ですので、 「Client Authenticatorの通信データはご指摘のように修正する必要がある、ただしAuthenticatorからの情報を受け取ったClientがサーバーにデータを渡す際に、W3C側の仕様に基づいてなんらかの変換を行う」という必要があるかないかを調査したいためです。 また、既存のサーバー実装とのInterOpもあらためてしたいと思います。 自分も1年前に既存のサーバー側ライブラリいくつかとInterOpをして、問題なかったので現在の実装にしてありました。しかし当時はConfirmationToolに対応したライブラリが存在しませんでした。 現在ですとwebauthn4jなど公式のテスト通過済みのライブラリもいくつかあると思いますので、 あらためて確認しようと思います。 ---- というわけで以下のように進めたいと思います -...
I was using the following - Use with request/response style APIs. - However, to avoid the cost of establishing a connection each time, once a channel is created, it is...