Smart-ID API:RP API v3 開発者ガイド
開発者向けのSmart-ID API(RP API v3)解説です。エンドポイント、デバイスリンクと通知のフロー、レスポンスの検証、デモ環境でのテスト、受け取るデータ、保証レベル、AML規則、料金を取り上げます。

要点
Smart-ID APIは、SK ID SolutionsがSmart-IDアプリによるユーザーのログインと署名の取得のために公開しているRelying Party(RP)APIです。バージョン3では、プッシュ通知に加えてQRコードと同一端末リンクが追加されました。[12]
- エストニア、ラトビア、リトアニアで3,853,329人がSmart-IDを利用しています(カウンター、2026年10月5日)。[1]
- APIは、ユーザーの氏名と国コード付きの個人識別コードを含む署名済み証明書を返します。住所も顔写真も含まれません。[15][5]
本記事は、Smart-ID APIをコード中心で解説するガイドです。エンドポイント、セッション、レスポンスの検証、デモ環境でのテスト、法的位置付けを扱います。国別の契約とAML規則については、Smart-ID導入ガイドをご覧ください。
Smart-IDの概要
Smart-IDはSK ID Solutions ASのモバイルアプリです。サービスはSKのRelying Party APIを通じて、ユーザーのログインや署名の取得に利用します。[13] 各鍵の一部はSKのサーバー上にあり、エストニアの情報システム庁(RIA)はこれを「Smart-ID鍵管理サーバーサービス」と呼んでいます。[4]
Smart-ID
バルト三国とベルギーで使われるアプリ型の電子ID
普及状況:利用者数と取引件数
smart-id.com のライブカウンターによると、2026年10月5日時点で Smart-ID の最大市場はリトアニアで、利用者数は1,857,471人です。次いでラトビアが1,198,463人、エストニアが797,395人です。[1] SK は「毎月ほぼ1億件の取引」があると報告しています。[2]
ERR Newsによると、エストニアではSmart-IDが認証の「60パーセント近い市場シェア」を占めています。カウンターが示すのは合計値のみです。各国の成人に占めるSmart-ID利用者の割合を示す一次情報源はありません(2026年10月5日)。
ユーザーに表示される画面
RP API v3は3つの方法でアプリに接続します。端末をまたぐ動的QRコード、同じスマートフォン上のWeb2AppまたはApp2Appリンク、プッシュ通知です。[12] SKはQRとアプリ間連携の体験をSmart-ID+として展開しており、「ウェブサイトで個人IDコードを入力する必要がなくなった」と説明しています。[8]
Smart-IDでログイン
Smart-IDアプリでコードをスキャンしてください。
1サイトに動的なQRコードが表示され、毎秒再描画されます。[18]
スキャンしてログイン
画面上のコードにカメラを向けてください。
2アプリがスキャンできるのはSmart-IDのログイン用QRコードのみです。また、ユーザーがログインを開始した場合に限られます。[9]
貴社サービス
貴社サービスにログインします。ご自身で開始した場合のみ続行してください。
続行
3アプリは常に、リクエスト文とともに貴社のサービス名を表示します。[36] このQRフローとは異なり、通知フローでは、PIN入力の前に4桁のコード、または選択肢となる3つのコードも表示されます。[17][10]
PIN1を入力
貴社サービスへのログインを確認してください。
確認
4その時点で初めて、ユーザーはPIN1を入力します。入力はアプリ内で行い、貴社サイト上で行うことはありません。[8]
ログインしました
- 氏名共有
- 個人識別コード共有
- 住所非共有
- 顔写真非共有
5貴社のバックエンドは、証明書から氏名と個人識別コードを読み取ります。[15]
動画準備中:flow-app-code
照合コードを使ったアプリでのサインインの流れ(開始から完了まで)。
Smart-ID API v3の仕組み
このAPIは、UTF-8のJSONを用いたHTTPS上のRESTです。[19] 4つのPOSTエンドポイント群がセッションを開始してsessionIDを返し、1つのGETが結果を返します。[13]
| エンドポイント群 | 機能 |
|---|---|
POST v3/authentication/device-link/anonymous | QRコードまたは同一端末リンクでログイン。個人識別コードの入力は不要 |
POST v3/authentication/notification/etsi/{id} | 個人識別コードで特定したユーザーにログイン要求をプッシュする |
POST v3/signature/... | 文書ダイジェストに署名する(ASiC-E または PAdES) |
POST v3/signature/certificate/{document-number} および certificate-choice | 先に署名用証明書を取得する |
GET v3/session/{sessionID} | ステータスと結果を読み取る |
RP API v3 のエンドポイント群(SK の概要より)。[13]
ユーザーが PIN1 を入力
デバイスリンクを使ったクロスデバイスログイン(簡略版)。[12][18]
注意点:
- v3 の初回リクエストには、毎回貴社で生成したランダムな
rpChallengeを含めます。これはリプレイ攻撃対策として v2 のnonceに代わるものです。[20] sessionSecretをフロントエンドに渡してはなりません。また、QR とリンクを同時に表示する場合でも、1つのフローにつきセッションリクエストは1つです。[18]- 通知フローでは、
rpChallengeの SHA-256 から4桁のコードを算出します。[17] - SK は送信元 IP と
relyingPartyUUIDによって貴社を認証し、HTTPS の鍵ピンニングを必須としています。[19] - SK のドキュメントによると、アカウントを持たないユーザーには HTTP 404 が返ります。また、列挙攻撃対策として、すべてのエラーケースで同一のメッセージを表示するよう求めています。[19]
Smart-ID API から事業者が受け取る情報
完了したセッションは、state、result.endResult、cert に格納されたユーザーの証明書、および signature オブジェクトを返します。サブジェクトの serialNumber には識別コードが入ります。例は PNOEE-30001010004 で、プレフィックスが国を示します。[15]
| 属性 | 返却値(セッション COMPLETE、結果 OK) | 取得箇所 |
|---|---|---|
| 国コードの接頭辞付き個人識別コード | はい | 証明書サブジェクトの serialNumber[15] |
| 名と姓 | 証明書サブジェクト内 | SKの証明書プロファイルに記載されたサブジェクトフィールドによる |
| 証明書レベル | はい | cert.certificateLevel。例:ADVANCED または QUALIFIED[15] |
| 貴社のチャレンジまたはダイジェストに対する署名 | はい。拒否またはタイムアウトの場合はなし | signature オブジェクト[15] |
| 生年月日 | 個人コードによる | エストニアのコードについては文書化されている。ラトビアのテストアカウントには、日付フィールドがあるものとないものがある[5][16] |
| 住所、国籍、顔写真 | なし | 証明書にもレスポンスにも含まれない[5] |
SKのレスポンス検証では、次の対応が求められます:[15]
stateがCOMPLETE、endResultがOK、プロトコルがACSP_V2(ログイン)またはRAW_DIGEST_SIGNATUREであることを確認してください。- 証明書チェーンは、OCSPまたはCRLを用いて、SKのCAのみを基準に検証します。
- Smart-IDのすべてのポリシー識別子を必須とし、SKの他の証明書が検証に失敗するようにします。
certificateLevelを貴社が求めるレベルと比較します。- 署名対象のペイロードを再構築し、署名を検証します。
- 同一デバイスのフローでは、コールバックURLの値を検証します。
保証レベルと法的位置付け
Smart-IDは、EUの通知済みeIDスキームのリストに掲載されていない。エストニアの通知済みスキーム(保証レベル「高」、2018年11月7日)が対象とするのは、IDカードとMobile-IDである。[6]
| 国 | 評価 | 出典 |
|---|---|---|
| エストニア | エストニアの個人識別コードを持つ者については「high」(RIA専門家グループ) | RIA[4] |
| ラトビア | 適格eIDプロバイダー。2023年5月から国内の適格ステータスを保有 | 国防省、SK[25][26] |
| リトアニア | 保証レベル「High」(2024年12月19日付のSKニュース) | SK(RRTを引用)[27] |
| ベルギー | 「保証レベル『高』で正式に評価された」 | SK[2] |
注意点:e-レジデントは「居住者と区別できない」。[5]
エストニアのAML顧客デューデリジェンス
エストニアのマネー・ローンダリング及びテロ資金供与防止法(RahaPTS)は、§ 31(3)で非対面のルートを定めています。[23]
§ 31(3)RahaPTS(エストニア)
「1) e-identimise süsteemi, millest on teatatud ... (EL) nr 910/2014 ... artikli 9 kohaselt ja mis vastab ... artikli 8 lõike 2 punktis b või c sätestatud usaldusväärsuse tasemele」または「2) kvalifitseeritud usaldusteenust」
出典:Riigi Teataja, RahaPTS[23]
平たく言えば:保証レベル「substantial」または「high」で通知されたeIDスキーム、または適格トラストサービス。ルート1は該当しません。Smart-IDの適格証明書がルート2に該当するかについては、2026年10月5日時点で公式見解がありません。Finantsinspektsioonまたは弁護士に確認してください。リトアニアのAML法(第11条)とラトビアの内閣規則第392号(第7.1項)は、複数の非対面ルートの一つとして適格電子署名または安全な電子署名を挙げています。[28][29]
2027年から:AMLR第22条(6)
マネー・ローンダリング防止規則(AMLR)は2027年7月10日から適用されます。第22条(6)(b)は「保証レベル「substantial」または「high」に関して規則(EU) No 910/2014の要件を満たす電子識別手段および関連する適格トラストサービス」を認めています。[30]マネー・ローンダリング防止機関(AMLA)の2026年9月30日付の最終ドラフト基準は、まだ法律ではありませんが、「第9条に基づき通知されているか否かにかかわらず」保証レベル「substantial」または「high」のeIDを認めています。[31]当社のEUDIウォレットのページで、eIDAS 2のタイムラインを解説しています。
事業者の接続方法:直接のRP契約またはブローカー
SKの手続き:契約なしで無料でテストし、セキュリティ対策を選び、IPアドレスとサービス名を送り、署名し、RP UUIDを受け取り、「最初の問い合わせから数日以内に」本番稼働します。[21]認定ブローカーもSmart-IDを再販しており、エストニアの公的機関はRIAのTARAゲートウェイを利用できます。[5]
直接
SKとのRP契約
- 貴社でRP APIを呼び出す
- IP許可リスト、RP UUID
- 検証を貴社で構築
公開価格表
ブローカー経由
アグリゲーターまたはeIDハブ
- 1つのAPIで複数のeID
- 契約はブローカーが保有
- 検証は代行される
料金は一箇所にまとめて公開されていない
公共部門
TARA(エストニア)
- OpenID Connect、RIAが運営
- 登録、デモ、本番の順
- 民間企業:越境利用のみ
国家機関
Smart-IDに接続する3つの方法。[21][5]
SKの料金表(2026年6月1日から適用)では、「Smart-ID認証または署名リクエスト」ごとに課金されます。単価は€0.109で月額最低料金は€60です。3百万件プランでは€0.0106まで下がり、5百万件を超える場合は個別契約となります。[11] SKは、既存のRPにとってSmart-ID+は「追加費用なしで提供される」と述べています。[7]
デモ環境でのテスト
デモ:https://sid.demo.sk.ee/smart-id-rp/v3/、relyingPartyUUID 00000000-0000-4000-8000-000000000000、名称 DEMO。本番:https://rp-api.smart-id.com/v3/。[14] 結果別のテストアカウント:[16]
| 最終結果 | ドキュメント番号の例(エストニア) | テスト内容 |
|---|---|---|
OK | PNOEE-40504040001-DEM2-Q | 成功 |
USER_REFUSED | PNOEE-30403039917-MOCK-Q | ユーザーがキャンセル |
WRONG_VC | PNOEE-30403039972-MOCK-Q | 誤ったコードを選択 |
TIMEOUT | PNOEE-30403039983-MOCK-Q | 回答なし |
ユースケースとセクター別の規則
- KYCおよびAMLのオンボーディング。署名付きの氏名と個人識別コード。AMLへの適合性は国によって異なる。[23][28][29]
- ギャンブルと年齢。エストニアの賭博法は21歳未満の者による運に基づくゲームへの参加を禁止し(§ 34(2))、リモート事業者に対して全プレイヤーの確認と個人識別コードの登録を義務付けている(§ 53(1))。[24] API内に年齢のみを示すクレームは見当たらなかった。
- 署名。適格アカウントは
v3/signatureを通じて署名する。「2025年にリトアニア人の10人中4人が適格電子署名を使用した」。[13][33] - 通信。SIM登録にSmart-IDを指定するバルト諸国の規則はない(2026年10月5日)。
制限とフォールバック
「エストニアとラトビアでは、Smart-IDは現在、エストニアまたはラトビアの国民ID番号を持つ人に限定されている」。リトアニアの非居住者は2つの銀行でSmart-ID Basicを取得できる。[22] Smart-IDに年齢制限はないが、登録経路には年齢制限がある(ラトビアのIDカードは14歳から)。18歳未満のアカウントには親の承認が必要である。[32]
2026年10月5日時点で、文書化された障害は確認できなかった。リスクはフィッシングである。ERR Newsによると、2025年にPIN詐欺によりエストニアの銀行口座から約€23百万が盗まれた。2026年4月29日以降、エストニアでの登録ではカードリーダーではなくNFCでIDカードを読み取る。[34]
1まずSmart-IDを提示する
バルト諸国の個人識別コード保有者。
セッションが結果OKでCOMPLETEとして終了する
結果を検証して保存する
すべてのチェックに合格。
本人確認書類に切り替える
NFCチップ読み取り、ライブネス検知、顔照合。
2スクリーニングして判断する
AMLスクリーニングの後、貴社が判断する。
電子IDを優先し、書類をフォールバックとする。各フォールバックが必要になった理由を記録する。[31]
Smart-ID API実装チェックリスト
まずSKの無料デモで構築する。そうすればコードが動作するまで契約を待てる。[21] レスポンス検証が作業の中核である。[15]
- デモURLと公開されているテストアカウントを使って構築する。[14][16]
- デバイスリンクフローを優先し、通知は既知のデバイスでのみ許可する。[13]
- ログインごとに新しいランダムな
rpChallengeを生成する。[20] - SKのHTTPS鍵をピン留めし、
sessionSecretはサーバー側で保持する。[19][18] - SKのレスポンス検証の全ステップを実行する。[15]
- IPアドレスとサービス名をSKに送り、その後署名する。[21]
- 各国におけるAML用途の法的根拠を書面に残す。[23]
- Smart-IDを持たないユーザー向けに、本人確認書類によるルートを追加します。
DiditによるSmart-ID導入支援
Smart-IDは、エストニア、ラトビア、リトアニア、ベルギーで、DiditのeID認証として提供中です。DiditがSKとの接続を保持しているため、RP契約、IP許可リスト、証明書処理のコードは不要です。
コンソールでは、Workflows、ID Verificationステップ、Countriesの順に進み、国を選択して「Wallets accepted」でSmart-IDにチェックを入れます。APIでは、methods.EST.walletを設定してセッションを作成し、GET /v3/session/{id}/decision/またはWebhookで結果を読み取ります。verification_methodは"wallet"となり、wallet_verificationオブジェクトが含まれます(デジタルIDウォレットのドキュメント参照)。[35] ユーザーはSmart-IDアプリで照合コードを承認します。DiditがPINを求めることはありません。
スクリーンショット準備中: hosted-flow-wallet-chooser
Diditホステッドフローの認証方法選択画面。
スクリーンショット準備中: hosted-flow-smartid-code
ユーザーがSmart-IDアプリで一致を確認する照合用コード。
スクリーンショット準備中: console-wallets-accepted
DiditコンソールでSmart-IDを有効にする画面。
取得できるのは、氏名(フルネーム)、生年月日、バルト諸国の個人識別コード、保証レベル(Highと表示)、署名検証の結果です。住所と顔写真は含まれません。Smart-IDを持たないユーザーには、本人確認書類の検証、NFCチップ読み取り($0.15)、ライブネス検知、顔照合による確認で対応します。フルKYCは$0.33、AMLスクリーニングは$0.20です。課金対象は完了したeIDサインインのみです。完了したSmart-ID認証は$0.20です(料金ページ)。すべてのeIDはデジタルIDウォレットのページに掲載しています。
Diditが提供するもの
- Smart-IDとの接続と署名検証
- 本人確認書類によるルート
- AMLスクリーニングとすべてのチェックの証跡
貴社に残るもの
- リスク評価とAML上の判断
- オンボーディングの可否判断
- 各フォールバックの理由
重要ポイント
- Smart-ID API(RP API v3)は、
POSTでセッションを開始し、GETで結果を読み取ります。 - SKは、プッシュ通知よりもデバイスリンクフロー(QRコードまたは同一デバイス上のリンク)を推奨しています。
- 取得できるのは氏名と個人識別コードを含む証明書です。住所や顔写真は含まれません。
- 国内では高い保証レベルと評価されていますが、EUには通知されていません。AML上の適合性は国によって異なります。
よくある質問
公開されているSmart-ID APIはありますか。
はい。SKはRelying Party APIのドキュメントを公開しており、現行バージョンは3.2.3です。[20] 本番環境での呼び出しには、契約、RP UUID、許可済みIPアドレスが必要です。[21][19]
Smart-ID APIの費用はいくらですか。
SKの2026年6月1日からの料金表では、1リクエストあたり€0.109からで、月額最低料金は€60です。300万件プランでは€0.0106まで下がります。[11]ブローカーの料金は一か所にまとめて公開されていません。Diditでは、完了したSmart-ID認証は$0.20です。
Smart-ID APIはどのようなデータを返しますか。
利用者の氏名とPNOEE-30001010004のような個人識別コードを含む署名付き証明書、および署名です。[15] 住所、国籍、顔写真は含まれません。[5]
Smart-ID APIはどのようにテストしますか。
SKが公開しているデモ用RP UUIDを使ってデモ環境を利用します。無料で、契約は不要です。[14][21] エストニア、ラトビア、リトアニア、ベルギーのテストアカウントは、成功、拒否、誤ったコード、タイムアウトの各結果を返します。[16]
Smart-ID RP API v3で何が変わりましたか。
バージョン3では、プッシュ通知に加えて、専用のエンドポイントを持つデバイスリンクフロー(QR、Web2App、App2App)が追加されました。[13][20] また、リプレイ対策として、v2のnonceに代わり、すべての初回リクエストでランダムなrpChallengeが必須になりました。[20] バージョン3.2はHTTP/1.1とHTTP/2の両方に対応し、エラーの詳細をRFC 9457形式で返します。[20]
デバイスリンクフローと通知フローのどちらを使うべきですか。
すべての場面でデバイスリンクを使うと、フィッシングに対する保護が最も高くなります。複数のデバイスにまたがる場合は、新しいデバイスではデバイスリンク、既知のデバイスではプッシュ通知という組み合わせも推奨されています。プッシュ通知のみは推奨されていません。[12]
Smart-IDの保証レベルはどの程度ですか。
エストニア、ラトビア、リトアニアの国内評価では「高」です。[4][25][27] EUの通知済みeIDスキームのリストには掲載されていません。[6]
エストニアのAML顧客デューデリジェンスにはSmart-IDで足りますか。
RahaPTS § 31(3)は、「substantial」または「high」の通知済みeID、または適格トラストサービスを認めています。[23] Smart-IDが後者に該当するかどうかを示す公式見解はありません(2026年10月5日時点)。Finantsinspektsioonまたは弁護士に確認してください。
外国人はSmart-IDを使えますか。
エストニアとラトビアでは、現地の個人識別コードを持つ人だけが登録できます。リトアニアでは、非居住者は2つの銀行でSmart-ID Basicを取得できます。居住許可の保有者と電子居住者は、国民と同じ方法で登録します。[22]
未成年者はSmart-IDを使えますか。
Smart-ID自体に年齢制限はなく、登録方法によって決まります。例えばエストニアでは、パスポートを使えば6歳から登録できます。[32] 18歳未満のアカウントには親の承認が必要で、SKのテストアカウントには未成年者も含まれています。[32][16]
Smart-ID APIの統合にはどのくらいの期間がかかりますか。
SKは「最初のお問い合わせから数日以内」としています。[21] 開発工数は公表されていません。
出典
- Smart-IDホームページ、リアルタイム利用者数カウンター、SK ID Solutions、2026年10月5日閲覧。
- 2025年:国境を越えたデジタルトラストの推進、SK ID Solutions、2026年1月19日。
- 欧州のデジタルアイデンティティにおける信頼と競争、e-Estonia、2026年。
- 電子ID(eID)、情報システム庁(RIA)。
- TARA技術仕様、RIA。
- eIDASに基づく事前通知済みおよび通知済みeIDスキームの概要、欧州委員会、2026年10月5日閲覧。
- Smart-ID+、SK ID Solutions。
- 新しいSmart-IDはどのように詐欺から利用者を守るか、Smart-ID FAQ。
- エストニア政府、セキュリティ強化のためSmart-ID+を採用、SK ID Solutions、2026年1月28日。
- 確認コードが1つ表示される場合と3つ表示される場合があるのはなぜか、Smart-ID FAQ。
- 料金表、SK ID Solutions、2026年6月1日から有効。
- Relying Party API:はじめに、SK ID Solutions、バージョン3.2.3。
- Relying Party API:APIエンドポイントの概要、SK ID Solutions。
- 環境の技術パラメータ、SK ID Solutions。
- Relying Party API:レスポンスの検証、SK ID Solutions。
- 自動テスト用のテストアカウント、SK ID Solutions。
- Relying Party API:通知ベースのフロー、SK ID Solutions。
- Relying Party API:デバイスリンクフロー、SK ID Solutions。
- Relying Party API:APIの技術説明、SK ID Solutions。
- Relying Party API:変更履歴、SK ID Solutions。
- eサービス事業者向けの統合プロセス、Smart-ID。
- 外国人および非居住者はSmart-IDを利用できるか、Smart-ID FAQ。
- Rahapesu ja terrorismi rahastamise tõkestamise seadus (RahaPTS), § 31、Riigi Teataja。
- Hasartmänguseadus(賭博法)、Riigi Teataja。
- Elektroniskā identifikācija、ラトビア国防省。
- Smart-IDがラトビアで認証に関する国内の適格ステータスを取得、SK ID Solutions、2023年5月29日。
- Smart-IDとMobile-IDがリトアニアで国の承認ツールとして認定、SK ID Solutions、2024年12月19日。
- マネー・ローンダリングおよびテロ資金供与防止法 第11条、リトアニア、INFOLEX統合版。
- 内閣規則第392号、ラトビア、likumi.lv。
- 規則(EU)2024/1624(AMLR)、EUR-Lex、2024年6月19日付官報。
- 最終報告書:AMLR第28(1)条に基づくRTS草案、AMLA、2026年9月30日。
- Smart-IDの利用に関する年齢制限、Smart-ID FAQ。
- SK ID Solutions、2025年にリトアニアで三百万件近くの証明書を発行、SK ID Solutions、2026年5月7日。
- エストニアIDカードによるSmart-IDの登録がNFCで可能に、Smart-ID、2026年4月29日。
- デジタルIDウォレット、Didit ドキュメント。
- Relying Party API:インタラクション、SK ID Solutions。
Smart-IDは、Didit のeID認証で稼働中の5つのeIDの1つです。あわせてeID認証とは何かとBankID Sweden APIガイドもご覧ください。