TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

30
TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練 API整合說明與申請流程 1

Transcript of TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

Page 1: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

TAIWAN FidO臺灣行動身分識別服務

技術整合教育訓練

API整合說明與申請流程

1

Page 2: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

FIDO2 規格與API安全性提升

• UAF➔FIDO2• 金鑰提升為FIDO2標準

• 認證通訊方式提升為FIDO2規格

• API安全性提升• 認證API增加一次性交易序號防止重送

• 增加Checksum認證訊息防止內容遭竄改

• 增加API基碼以識別應用單位來源

• API使用性提升• 增加查詢用戶註冊狀態

• 增加查詢用戶使用紀錄

2

Page 3: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

API清單 – 新增8支(原有5支可以繼續使用)

3

行動身分識別系統

Web

應用系統使用者

Form Post RP-API-FWEB-01

轉回約定網址(於申請時填寫)

RP-API-FEXCH-01

RP-API-FEXCH-02

RP-API-FATH-01

RP-API-FATH-02

RP-API-REG-01

RP-API-QUE-01

RP-API-QUE-02

Page 4: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

(一) 應用系統網頁導頁至身分識別API服務

4

1.民眾操作做身分驗證/登入等

2. Form Post RP-API-FWEB-01

3. 導頁驗證畫面至應用系統網頁

4. 民眾打開TW FidOAPP打開驗證功能,掃QR Code進行驗證 5. APP回傳驗證結果到FIDO

6. 轉回約定網址(於申請時填寫)

行動身分識別系統

Web

應用系統使用者

Page 5: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

(二) 應用系統自行產生QR Code

5

1.民眾操作做身分驗證/登入等

2. RP-API-FEXCH-01

4. 民眾打開TW FidOAPP打開驗證功能,掃QR Code進行驗證 5. APP回傳驗證結果到FIDO

6. RP-API-FEXCH-02

行動身分識別系統

Web

應用系統使用者

3.產出QR Code畫面於應用系統網站

Page 6: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

(三) 應用系統整合身分識別API服務(由本服務進行推播至APP)

6

1.民眾操作做身分驗證/登入等

2.RP-API-FATH-01

3.FIDO把應用系統驗證請求推播到TWFidO APP

4. APP回傳驗證結果到FIDO

5.RP-API-FATH-02

行動身分識別系統

Web

應用系統使用者

7.把身分驗證結果回應到APP或網頁上

Page 7: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

防火牆 – 正式環境\驗證環境

7

發送端 發送端IP

接收端 接收端IP/Domain

接收端port

備註

應用系統 發動API的政府單位IP

行動身分識別系統(正式環境)

https://fido.moi.gov.tw(117.56.7.69、117.56.7.122)

443 API: RP-API-FEXCH-01API: RP-API-FATH-01

行動身分識別系統(正式環境)

117.56.7.69 應用系統 接收API的政府單位IP 443 API: RP-API-FEXCH-02

發送端 發送端IP

接收端 接收端IP/Domain

接收端port

備註

應用系統 發動API的政府單位IP

行動身分識別系統(測試環境)

https://fido-test.moi.gov.tw(223.200.23.209、117.56.7.122)

443 API: RP-API-FEXCH-01API: RP-API-FATH-01

行動身分識別系統(測試環境)

117.56.7.69 應用系統 接收API的政府單位IP 443 API: RP-API-FEXCH-02

Page 8: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

3-DES-2KEY-CBC加密運算(取末16碼)

8

https://www.eftlab.com/BP-Tools/#download

1.以「應用系統API基碼」為金鑰,「系統服務代碼(SysCode)」為壓碼資料,將資料進行3-DES-2KEY-CBC加密運算。2.計算所產生之資料,取最右邊8個byte (16個hex字元)資料即為驗證碼chksum。

Page 9: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

3-DES-2KEY-CBC加密運算(取末16碼)

9

http://tripledes.online-domain-tools.com/

Page 10: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-FWEB-01

10

輸入

syscode 應用系統代碼

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介

接單位自行編輯,不可重複)

chksum

驗證碼,3DES(syscode+tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳

(16碼(hex),8-Bytes(bin))

範例

{"syscode":"20190326031900012556","tranSeq":"20200801000000","chksum":"FDE9EF0FB0AAC328"

}

輸出

qrid 本次身分識別token

op Qrcode掃描類型

sysaction 執行動作,APP掃碼後判別

sysname 系統名稱,APP掃碼後取得此資訊顯示於畫面

msg 回應訊息

rcode

0000:成功

5002:認證失敗

5003:認證逾時

範例

{"qrid":"2f37e3ab-069c-41c0-b50b-5d7804afed1c","op":"Auth","sysaction":"您是否正在嘗試登入","sysname":"行動身分識別系統","msg":"成功","rcode":"0000"

}

Page 11: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-FEXCH-01

11

輸入

syscode 系統代碼

pid 使用者身份證字號

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介接

單位自行編輯,不可重複)

chksum驗證碼,3DES(pid + syscode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"syscode":"20190326031900012556","pid":"A123456789","tranSeq":"20200801000000","chksum":"2582C839C34F3B81"

}

輸出

qrid 本次身分識別token,用來勾稽確認

op Nty

sysaction 應用系統行為

sysname 系統服務名稱

rcode0000:傳送成功

4002:無此使用者註冊資料

msg 回應訊息

tranSeq 介接單位帶過來的交易唯一序號

chksum驗證碼,3DES(qrid + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"qrid": "d5895bd2-6ce9-437a-b4cd-cad8bb727b20","op": "Nty","sysaction": "您是否正在嘗試登入","sysname": "行動身分識別系統","pid": "A123456789","rcode": "0000","msg": "成功","tranSeq": "1598859539761","chksum": "1D77668DE40DDD20"

}

Page 12: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-FEXCH-02

12

輸入

qrid 本次身分識別token,用來勾稽確認

tranSeq

介接單位發動身分識別請求時帶過來的交易唯一序

RP-API-FATH-01、RP-API-FEXCH-01

status

0000:成功

2001:尚未驗證

2002:認證失敗

2003:逾時

9000:驗證通過,等待呼叫介接系統

9004:使用者取消

9999:系統錯誤

chksum驗證碼,3DES(qrid + tranSeq + status)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"qrid":"f3d2d9e8-1fb7-4449-962f-22c4f4a721f6","tranSeq":"4768880612706121990","status":"0000","chksum":"EA9615CF975B2415"

}

輸出

rcode0000:成功

9999:系統錯誤

msg 回應訊息

範例

{"rcode":"0000","msg":"成功"

}

Page 13: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-FATH-01

13

輸入

syscode 系統代碼

pid 使用者身份證字號

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介接

單位自行編輯,不可重複)

chksum驗證碼,3DES(pid + syscode + tranSeq)

API基碼為運算金鑰,IV值為0,取後16碼(hex)傳遞

範例

{"syscode":"20190326031900012556","pid":"A123456789","tranSeq":"20200801000000","chksum":"2582C839C34F3B81"

}

輸出

qrid 本次身分識別token,用來勾稽確認

op Nty

sysaction 應用系統行為

sysname 系統服務名稱

rcode0000:傳送成功

4002:無此使用者註冊資料

msg 回應訊息

tranSeq 介接單位帶過來的交易唯一序號

chksum驗證碼,3DES(qrid + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"qrid": "0e6623d9-69b7-4b53-8caf-efbfc38861e3","op": "Nty","sysaction": "您是否正在嘗試登入","sysname": "行動身分識別系統","pid": "A123456789","rcode": "0000","msg": "成功","tranSeq": "1598859194685","chksum": "622CF88316F41C9E"

}

Page 14: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-FATH-02

14

輸入

syscode 系統代碼

qrid 本次身分識別token,用來勾稽確認

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介接

單位自行編輯,不可重複)

chksum驗證碼,3DES(qrid + syscode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"syscode":"20190326031900012556","qrid":"85cf3c68-bb09-4330-ae18-f72c204fbb17","tranSeq":"20200801000000","chksum":"35BCF3EADB01C0BA"

}

輸出

rcode

0000:成功

2001:尚未驗證

2002:認證失敗

2003:逾時

9000:驗證通過,等待呼叫介接系統

9004:使用者取消

9999:系統錯誤

msg 驗證結果內容說明

transeq交易唯一序號(本syscode下之唯一交易序號,請介接單位

自行編輯,不可重複)

chksum驗證碼,3DES(rcode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"rcode": "0000","msg": "成功","pid": "A123456789","tranSeq": "1598857834533","chksum": "9B2E048F0AB251D9"

}

Page 15: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-REG-01

15

輸入

syscode 系統代碼

qrid 本次身分識別token,用來勾稽確認

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介接

單位自行編輯,不可重複)

chksum驗證碼,3DES(qrid + syscode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{”syscode”:”20190326031900012556”,”pid”:”A123456789”,

“ tranSeq “:”2020074523215”,“ chksum “:”2907751D1BF51AF7”

}

輸出

rcode

0000:成功

1002:失敗

9003:資料格式錯誤

9999:系統錯誤

msg 回應訊息

tranSeq 應用系統帶入之交易序號

chksum驗證碼,3DES(rcode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

isDevice

使用者裝置綁定狀態

Y:此ID存在有效金鑰綁定

N:此ID無有效金鑰綁定

範例

{"rcode": "0000","msg": "成功","tranSeq": "1598862786456","chksum": "1203B25D1C3A560C","isDevice": "Y"

}

Page 16: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-QUE-01

16

輸入

syscode 應用系統代碼

startdate起始日期(為確保資料量,檢查日期區間最長不得超

過三六個月)

enddate 結束日期(檢查startdate~enddate不得超過三個月)

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介接

單位自行編輯,不可重複)

chksum驗證碼,3DES(syscode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{”syscode”:”20190326031900012556”,

“startdate”:”20200610”,”enddate”:”20200812”,

“ tranSeq “:”2020074523215”,“ chksum “:”2907751D1BF51AF7”

}

輸出

rcode

0000:成功

1002:失敗

9003:資料格式錯誤

9999:系統錯誤

msg API錯誤回應訊息

data

JSON物件格式之資料:

success:成功筆數

fail:失敗筆數

unhandled:未完成筆數

tranSeq 應用系統帶入之交易序號

chksum驗證碼,3DES(rcode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"rcode": "0000","msg": "成功","data": {

"success": 33,"fail": 15,"unhandled": 37

},"tranSeq": "1598869322661","chksum": "AED358B5BB41CD5D"

}

Page 17: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-QUE-02

17

輸入

syscode 應用系統代碼

pid 使用者身份證字號

startdate起始日期(為確保資料量,檢查日期區間最長不得超

過三個月)

enddate 結束日期(檢查startdate~enddate不得超過三個月)

tranSeq交易唯一序號(本syscode下之唯一交易序號,請介接

單位自行編輯,不可重複)

chksum驗證碼,3DES(pid + syscode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{”syscode”:”20190326031900012556”,

“pid”:”A123456789”,”startdate”:”20200810”,”enddate”:”20200812”,

“ tranSeq “:”2020074523215”,“ chksum “:”2907751D1BF51AF7”

}

Page 18: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

RP-API-QUE-02

18

輸出

rcode

0000:成功

1002:失敗

9003:資料格式錯誤

9999:系統錯誤

msg 回應訊息

result

JSON Array格式呈現的交易結果

success:成功

fail:失敗

unhandled:未完成交易

tranSeq 應用系統帶入之交易序號

chksum驗證碼,3DES(rcode + tranSeq)

API基碼為運算金鑰,IV值為0,取末16碼(hex)傳遞

範例

{"rcode": "0000","msg": "成功","result": [

{"status": "success","txnDate": "20200812","txnTime": "165846782"

}, {

"status": "unhandled","txnDate": "20200812","txnTime": "133331511"

},…….多筆紀錄

{"status": "success","txnDate": "20200810","txnTime": "175404923"

},{

"status": "fail","txnDate": "20200810","txnTime": "175225540"

}],"tranSeq": "1598868871959","chksum": "C96FAB49CD4F4963"

}

Page 19: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

內政部一站式線上申請畫面簡介

19

Page 20: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

驗證環境申請

20

Page 21: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

驗證環境申請

21

Page 22: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

驗證環境申請

22

Page 23: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

正式環境申請

23

Page 24: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

正式環境申請

24

Page 25: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

正式環境申請

25

Page 26: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

紙本申請流程

26

Page 27: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

申請流程

27

詢問訪談

提供規格書申請書同意書

發函申請書同意書

驗證環境參數提供

系統上線正式環境參數提供

繳交申請書

Page 28: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

申請書

28

Page 29: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

申請書

29

Page 30: TAIWAN FidO臺灣行動身分識別服務 技術整合教育訓練

問題與討論

30

承辦窗口:內政部資訊中心企劃科林宗本02-2513-2228

[email protected]

申請窗口:臺灣網路認證股份有限公司顧問服務部藍天浩02-23708886#752

[email protected]