Government Security Monitoring - ____________________________

Document Sample
Government Security Monitoring - ____________________________ Powered By Docstoc
					การเขาถึงระบบบริการอิเล็กทรอนิกส์
     ้
  แบบรวมศูนย ์ (Single Sign-On)
                         คืออะไร?
 คือ ความสามารถของระบบการยืนยันตัว
 บุคคล (Authentication Service) ที่
                         ่ ้
 รองรับการให้ผูใช้งานลงชือเขาใช้งาน
              ้
                   ้
 ระบบ (Login) ครังเดียว แลวสามารถ
                            ้
 เขาใช้งานระบบหลายระบบได้ โดยไม่
    ้
         ่
 ตองลงชือเขาใช้งานซาอีก
  ้        ้         ้

                  2
การเขาถึงระบบบริการอิเล็กทรอนิกส์
     ้
  แบบรวมศูนย ์ (Single Sign-On)
                         คืออะไร?
 ระบบเว็บไซตกลางฯ ไดนาเทคโนโลยีนี้
             ์       ้
 มาประยุกตใช้ โดย สมาชิกระบบ
             ์
 เว็บไซตกลางฯ สามารถเขาสู่ระบบ
         ์               ้
 เว็บไซตกลางฯ แลวสามารถเขาใช้งาน
           ์       ้         ้
 บริการอิเล็กทรอนิกส์
                           ่ ้ ่
 (e-Services) ของหน่วยงานทีเขารวม
                               ่ ้
 โครงการไดทันที โดยไมตองลงชือเขาใช้
               ้       ่ ้
 งานกับระบบบริการของหน่วยงานซาอีก
                     3           ้
                             เป้าหมาย
            ้ ่             ่
 ผูใช้งานทังทีเป็ นประชาชนทัวไป
   ้
 สามารถเขาถึงบริการอิเล็กทรอนิกส์ตางๆ
             ้                    ่
 ของหน่วยงานภาครัฐไดโดยอาศั ย
                       ้
 หลักฐานอางอิง (Authentication
           ้
 Credential) ชุดเดียว โดยหลักฐาน
 อางอิงดังกลาวอาจเป็ น Login/Password
  ้            ่
 หรือ (ในอนาคต) Smart Card,
 ใบรับรองอิเล็กทรอนิกส์ ฯลฯ
                    4
                          เป้าหมาย
 กาวหนึ่งใน e-Government Cloud:
   ้
 Authentication Service
                          ่
 หน่วยงานภาครัฐไมจาเป็ นทีจะตองพัฒนา
                   ่          ้
  ระบบสาหรับยืนยันตัวบุคคลดวยตนเอง
                            ้
 ลดคาใช้จายในการพัฒนาและดูแลรักษา
     ่    ่
  ฐานขอมูลผูใช้งาน และระบบการ
       ้     ้

                  5
แนวทางการเขาถึงระบบบริการ
              ้
  อิเล็กทรอนิกส์แบบรวมศูนย ์
       (Single Sign-On)
  ลักษณะการทางานของระบบ



              6
                     ่ ่
      องคประกอบหลักทีเกียวของ
         ์                 ้
 ระบบเว็บไซตกลางบริการอิเล็กทรอนิกส์ภาครัฐ (e-
             ์
  Government Portal)
               ่
   เป็ นระบบทีให้บริการขอมูลหน่วยงาน และบริการภาครัฐ
                         ้
                                ่
    ตางๆ ในรูปแบบเว็บแอพพลิเคชัน และมีบริการสื บค้นขอมูล
     ่                                              ้
             ่ ่       ่
    ตางๆ ทีอยูในระบบซึงอยูในรูปแบบของเว็บเซอรวิส
       ่                  ่                  ์
   http://www.egov.go.th
 ระบบยืนยันตัวบุคคลกลาง (e-Authentication
  Service)
               ่                                         ่
   เป็ นระบบทีใช้ในการยืนยันตัวบุคคล (Authentication) ซึง
                                               ่
    รองรับการทา Single Sign-On และการแลกเปลียนขอมูล
                                                  ้
             ่ ่
    ตางๆ ทีเกียวของกับการยืนยันตัวบุคคลไปยังระบบ e-
     ่             ้
    Service
                             7
   http://openid.egov.go.th
สถาปัตยกรรมในภาพรวม




       8
  ้
ขันตอนการทางาน




 9
แนวทางการเขาถึงระบบบริการ
              ้
  อิเล็กทรอนิกส์แบบรวมศูนย ์
       (Single Sign-On)
                 ี่
       เทคโนโลยีทใช้



             10
                                       ี่
                             เทคโนโลยีทใช้
 OpenId Protocol : ใช้ในการยืนยันตัวบุคคล
   สรอ. ไดพัฒนาระบบยืนยันตัวบุคคลกลาง (OpenId
           ้
                ้     ่
    Provider) ขึนมาเพือให้ระบบบริการภาครัฐ (e-service)
                                        ่ ื
    สามารถตรวจสอบ และอนุ ญาตให้ผู้ใช้ทียนยันตัวตนแลว ้
    สามารถเขาใช้ระบบบริการภาครัฐ (e-service) ได้
              ้
   ในการใช้งานระบบยืนยันตัวบุคคลกลาง ระบบบริการ
    ภาครัฐ (e-service) ตองทาการพัฒนาชุดคาสั่ งหรือระบบ
                           ้
    (OpenId Relying Party) ในการส่งและรับขอมูลจากระบบ
                                            ้
    ยืนยันตัวบุคคลกลาง
 OAuth Protocol : ใช้ในการรองขอขอมูลส่วนตัวของ
                            ้    ้
  ผู้ใช้บริการ
   ระบบบริการภาครัฐ (e-service) ตองทาการพัฒนา
                                   ้
                                           ่
    ชุดคาสั่ งหรือระบบ (OAuth Consumer) เพือใช้ในการรอง
                            11                       ้
                   ี่
         เทคโนโลยีทใช้
                 OpenID




OAuth
        12
      ้             ่     ้
    ขันตอนการทางานทีเกิดขึน



OpenI
  d



            OAut
            13
                 ่
  เว็บตางประเทศทีใช้ OpenID
       ่
                   และ OAuth
 OpenID (http://openid.net/get-an-openid/)
   Google
   Yahoo
 OAuth
   Facebook
   (http://developers.facebook.com/docs/reference/dialog
   s/oauth/)
   Twitter
   (https://dev.twitter.com/docs/auth/oauth)
                           14
แนวทางการเขาถึงระบบบริการ
              ้
  อิเล็กทรอนิกส์แบบรวมศูนย ์
       (Single Sign-On)
      OpenID Protocol



             15
                    ่ ่
     องคประกอบหลักทีเกียวของ
        ์                 ้
 ฝั่งระบบ e-Service “OpenID Relying Party”
   หน้าเว็บเพจ SSOLogin
           ่
   ไลบรารีสาหรับรองรับการใช้งาน OpenID
                     ่
      2.0 ตามแตภาษาทีใช้ (PHP, Java,
               ่
      ASP.NET)
 ฝั่งระบบเว็บไซตกลาง “OpenID Provider”
                 ์
   หน้าเว็บเพจ Server.aspx


                     16
  ้
ขันตอนการทางาน (กรณี
            login แลว)
                    ้




        17
  ้
ขันตอนการทางาน (กรณียง ั
            ไมได้ login)
              ่




          18
                  OpenID Request
 เป็ นการ Request ขอใช้งาน OpenID กับ
  OpenID Provider
 HTTP GET Request
 OpenID end point ของสรอ. อยูที่่
  https://openid.egov.go.th
 ใน Request จะตองแนบ OpenID
                    ้
  parameter ไปดวย ้
   - Basic Parameter
   - Attribute Exchange Extension Parameter
                     19
                       ตัวอยาง Request
                            ่
http://localhost:1807/EGA.EGA_CAS.Security.eAuthen/serv
  er.aspx?openid.claimed_id=http://specs.openid.net/auth/
  2.0/identifier_select&openid.identity=http://specs.openid.
  net/auth/2.0/identifier_select&openid.assoc_handle=nixR!
  IAAAAB56GYx_ecAUdoR3qhyvqAi9MZxO-
  Ahl00nqoeUcrtnQQQAAAAGNVREK0g4S_Zb8IgSlb96s
  YGjE4AYbsk
  GBPXGmwQ3yrBvH2CmwGL6bIW_6m2Ibh0cN5Zt5rl0h
  hM4hvHj6HDlZ&openid.return_to=http://localhost:4856/lo
  ginProgrammatic.aspx?dnoa.userSuppliedIdentifier=http
  %3A%2F%2Flocalhost%3A1807%2FEGA.EGA_CAS.Se
  curity.eAuthen%2F&openid.realm=http://localhost:4856/&
  openid.mode=checkid_setup&openid.ns=http://specs.ope
  nid.net/auth/2.0&openid.ns.alias3=http://openid.net/srv/a
  x/1.0&openid.alias3.required=alias1,alias2,alias3,alias4&
                               20
         Basic OpenID parameter
Parameter      Description
 openid.mode   (ตองมี) เป็ นการบอกให้ OpenId Provider รูวา
                 ้                                           ้ ่
               OpenId Provider นี้สามารถติดตอกับผูใช้ไดหรือไม่
                                                ่    ้     ้
               โดยมีคาดังนี้
                        ่
                    “checked_immediate” (ไมให้ติดตอกับผู้ใช้)
                                                  ่    ่
                    “checked_setup”(ให้ติดตอกับผู้ใช้ได)
                                              ่          ้
 openid.ns      (ตองมี) เป็ นการบอก verison ของ OpenId
                    ้
                Request โดยระบบยืนยันตัวบุคคลกลางใช้งาน
                รองรับ OpenId 2.0 ระบบบริการภาครัฐจึงควรใช้
                                        ่ ี่
                Relying Party ไลบรารีทรองรับ OpenId 2.0 แลว      ้
                ใส่คาเป็ น “http://specs.openid.net/auth/2.0”
                      ่

                             21
          Basic OpenID parameter
Parameter          Description
                                     ่
 openid.return_t (ตองมี) เป็ น URL ทีระบบยืนยันตัวบุคคลกลางจะส่ง
                     ้
 o                                                    ่ ้
                 ผู้ใช้กลับมาหลังจากผู้ใช้งานทาการลงชือเขาใช้แลว
                                                               ้
 openid.assoc_                       ่ ่
                   (ไมจาเป็ นตองมี) คาทีใช้ในการ sign response
                      ่       ้
 handle
                                              ้
 openid.claimed (ไมจาเป็ นตองมี) คานี้ตองถูกตังเป็ น
                    ่      ้      ่    ้
 _id            “http://specs.openid.net/auth/2.0/identifier_sele
                ct”
 openid.identity                                 ้
                   (ไมจาเป็ นตองมี) คานี้ตองถูกตังเป็ น
                       ่      ้      ่    ้
                   “http://specs.openid.net/auth/2.0/identifier_sele
                   ct”
 openid.realm      (ไมจาเป็ นตองมี)
                      ่       ้
                                 22
                      Attribute Exchange
                                Extension
Parameter                   Description

 openid.ns.<extension_ali (ตองมี) เป็ นการบอกระบบยืนยันตัวบุคคล
                              ้
 as>                      กลางให้ส่งคาคืนมาในรูปแบบของ
                                       ่
                          Attribute Exchange (ระบบยืนยันตัว
                          บุคคลกลาง สนับสนุ นการส่งคาคืนใน
                                                        ่
                          รูปแบบ Attribute Exchange เทานั้น)
                                                          ่
                                         ้
                          คานี้ตองถูกตังเป็ น
                            ่     ้
                          “http://openid.net/srv/ax/1.0”
                                                 ่
 openid.<extension_alias (ตองมี) เป็ นคาบังคับเพือใช้งาน
                                ้          ่
 >.mode                                                     ้
                          Attribute Exchange คานี้ตองถูกตังเป็ น
                                                   ่ ้
                          “fetch_request”


                               23
                    Attribute Exchange
                              Extension
Parameter               Description
 openid.<extension_al (ตองมี) เป็ นการบอกระบบยืนยันตัวบุคคล
                         ้
 ias>.required        กลางวาระบบบริการภาครัฐตองการ
                             ่                  ้
                      attribute อะไรคืนไปบาง โดยทุก attribute
                                           ้
                                     ่
                      ตองมีคาจริงเพือให้ใช้งานไดครอบคลุม
                       ้       ่                  ้

 openid.<extension_al   (ตองมี) เป็ นการบอกระบบยืนยันตัวบุคคล
                           ้
 ias>.type.             กลางวาระบบบริการภาครัฐมีการส่งชือ
                               ่                          ่
                        attribute อะไรบางโดยชือ
                                        ้       ่
 <attribute_alias>      attribute_alias ตองถูกกาหนดใน
                                          ้
                        openid.<extension_alias>.required
                        ถาระบบบริการภาครัฐตองการ attribute
                         ้                    ้
                        นั้น

                               24
                                 Attribute alias
ชื่อ Attribute                          ่ ่
                                       คาทีส่งคืน
 http://axschema.org/contact/email e-mail ของผู้ใช้
 http://axschema.org/namePerson        ่
                                     ชือ-นามสกุล ของผู้ใช้

 http://axschema.org/namePerson/f User name ในระบบ e-
 riendly                          portal ของผู้ใช้

 http://www.egov.go.th/2012/identifi เลขประจาตัวประชาชน
 er/citizenid
                                          ่
 http://www.egov.go.th/2012/identifi เลขทีหนังสื อเดินทาง (กรณี
 er/passportid                       ชาวตางชาติ)
                                            ่
                                           ิ
 http://www.egov.go.th/2012/identifi เลขนิตบุคคล
 er/juristicid                25
                                 Attribute alias
ชื่อ Attribute                          ่ ่
                                       คาทีส่งคืน
 http://www.egov.go.th/2012/identifi ประเภทของผู้ใช้ ในระบบ
 er/usertype                         e-portal
                                     คา 1 : บุคคลธรรมดา
                                       ่
                                     คา 2 : นิตบุคคล
                                         ่             ิ
                                     คา 3 : ชาวตางชาติ
                                           ่             ่
                                                           ่
                                     คา 4 : เจ้าหน้าทีของรัฐ
                                             ่
 http://www.egov.go.th/2012/identifi รหัสยืนยัน โดยรูปแบบ
 er/identity                                   ้
                                     ขึนอยูกับประเภทของผู้ใช้
                                                     ่
                                     ดังนี้
                                     บุคคลธรรมดา : เลข
                                     ประจาตัวประชาชน
                                                 ิ
                                     นิตบุคคล : เลขนิตบุคคล  ิ
                              26     ชาวตางชาติ : เลขทีหนังสื อ
                                                   ่           ่
                                    Attribute alias
ชื่อ Attribute                         ่ ่
                                      คาทีส่งคืน
 http://www.egov.go.th/2012/identifi ระดับการยืนยันของรหัส
 er/identityverifiedlevel            ยืนยัน
 http://www.egov.go.th/2012/identifi ระดับการยืนยันของเลข
 er/citizenidverifiedlevel           ประจาตัวประชาชน
 http://www.egov.go.th/2012/identifi ระดับการยืนยันของเลขนิต ิ
 er/juristicidverifiedlevel          บุคคล
 http://www.egov.go.th/2012/identifi ระดับการยืนยันของเลขที่
 er/passportidverifiedlevel          หนังสื อเดินทาง



                               27
              ระดับของการยืนยันบุคคล
ในปัจจุบน ระบบเว็บไซดกลางไดแบงระดับของ
           ั            ์    ้ ่
 การยืนยันบุคคล โดยไดประยุกตเนื้อหาจาก
                          ้    ์
 เอกสาร “Registration and Authentication:
 e-Government Strategy Framework Policy
 and Guidelines”
       ์ ่
  เวอรชัน 3.0 จัดทาโดยรัฐบาลอังกฤษ
                    ่
 กันยายน 2545 ซึงเป็ น 4 ระดับดังนี้
      - ระดับ 0 (Unverified)
      - ระดับ 1
      - ระดับ 2       28
                    ระดับ 0 (Unverified)
 เหมาะสมกับธุรกรรมอิเล็กทรอนิกส์ภาครัฐทีไม่
                                         ่
 ก่อให้เกิดความเสี ยหาย ถาเกิดขอผิดพลาดใน
                         ้     ้
  การยืนยันบุคคล
                                    ่ ้ ่ ่
 ไมกอให้เกิดความไมสะดวกตอผูทีเกียวของ
      ่ ่             ่                     ้
                            ่
 ขอมูลส่วนตัวหรือขอมูลทีสามารถนาไปใช้ประ
    ้               ้
  โยชนเชิงพาณิชยได้ ไมเกิดการรัวไหลไปยัง
                  ์           ่          ่
  บุคคลภายนอก
 ไมกอให้เกิดความเสี ยหายดานรางกายหรือ
       ่ ่                      ้     ่
  ทรัพยสิ น ์
 ไมกอให้เกิดความเสื่ อมเสี ยตอบุคคลใด
        ่ ่             29        ่
                                     ระดับ 1
 เหมาะสมกับธุรกรรมอิเล็กทรอนิกส์ภาครัฐทีอาจ
                                         ่
 ก่อให้เกิดความเสี ยหายเล็กน้อย ถาเกิด
                                 ้
  ขอผิดพลาดในการยืนยันบุคคล
    ้
                                 ่ ้ ่ ่
 อาจกอให้เกิดความไมสะดวกตอผูทีเกียวของ
              ่       ่                    ้
  เล็กน้อย
                           ่
 ขอมูลส่วนตัวหรือขอมูลทีสามารถนาไปใช้ประ
      ้             ้
                                     ่
  โยชนเชิงพาณิชยได้ ไมเกิดการรัวไหลไปยัง
                  ์          ่
  บุคคลภายนอก
 ไมกอให้เกิดความเสี ยหายดานรางกายตอผูที่
          ่ ่                  ้  ่      ่ ้
  เกียวของ
        ่       ้       30
                                    ระดับ 2
 เหมาะสมกับธุรกรรมอิเล็กทรอนิกส์ภาครัฐทีอาจ
                                         ่
 ก่อให้เกิดความเสี ยหายพอสมควร ถาเกิด
                                ้
  ขอผิดพลาดในการยืนยันบุคคล
    ้
                               ่ ้ ่ ่
 อาจกอให้เกิดความไมสะดวกตอผูทีเกียวของ
              ่       ่                  ้
  พอสมควร
                           ่
 ขอมูลส่วนตัวหรือขอมูลทีสามารถนาไปใช้ประ
      ้             ้
                                    ่
  โยชนเชิงพาณิชยได้ อาจเกิดการรัวไหลไปยัง
                  ์
  บุคคลภายนอก
 ไมกอให้เกิดความเสี ยหายดานรางกายตอผูที่
          ่ ่                ้  ่      ่ ้
  เกียวของ
        ่       ้       31
                                    ระดับ 3
 เหมาะสมกับธุรกรรมอิเล็กทรอนิกส์ภาครัฐทีอาจ
                                         ่
 ก่อให้เกิดความเสี ยหายอย่างมาก ถาเกิด
                                 ้
  ขอผิดพลาดในการยืนยันบุคคล
    ้
                               ่ ้ ่ ่
 อาจกอให้เกิดความไมสะดวกตอผูทีเกียวของ
            ่         ่                 ้
  อยางมาก ่
                           ่
 ขอมูลส่วนตัวหรือขอมูลทีสามารถนาไปใช้ประ
      ้            ้
                                   ่
  โยชนเชิงพาณิชยไดอาจเกิดการรัวไหลไปยัง
                  ์ ้
  บุคคลภายนอก
 อาจกอให้เกิดความเสี ยหายดานรางกายตอผูที่
              ่              ้   ่     ่ ้
  เกียวของ
        ่       ้       32
                    ตัวอยาง Response
                         ่
http://localhost:4856/loginProgrammatic.aspx?dnoa.userSu
  ppliedIdentifier=http://localhost:1807/EGA.EGA_CAS.Sec
  urity.eAuthen/&openid.claimed_id=http://localhost:1807/E
  GA.EGA_CAS.Security.eAuthen/user.aspx/Administrator
  &openid.identity=http://localhost:1807/EGA.EGA_CAS.Se
  curity.eAuthen/user.aspx/Administrator&openid.sig=P6+I
  Zf5yVHeOTnngzycP7vw8BRLJiBHF4ZSOm1Mauxg=&op
  enid.signed=claimed_id,identity,assoc_handle,op_endpoi
  nt,return_to,response_nonce,ns.alias3,alias3.mode,alias3
  .type.alias1,alias3.value.alias1,alias3.type.alias2,alias3.v
  alue.alias2,alias3.type.alias3,alias3.value.alias3,alias3.ty
  pe.alias4,alias3.value.alias4&openid.assoc_handle=nixR!
  IAAAAB56GYx_ecAUdoR3qhyvqAi9MZxO-
  Ahl00nqoeUcrtnQQQAAAAGNVREK0g4S_Zb8
  IgSlb96sYGjE4AYbskGBPXGmwQ3yrBvH2CmwGL6bIW
                                33
         ตัวอยาง Response (ตอ)
              ่             ่
&openid.mode=id_res&openid.ns=http://specs.openid.net/a
 uth/2.0&openid.ns.alias3=http://openid.net/srv/ax/1.0&op
 enid.alias3.mode=fetch_response&openid.alias3.type.ali
 as1=http://axschema.org/contact/email&openid.alias3.val
 ue.alias1=test@gits.net.th&openid.alias3.type.alias2=http
 ://axschema.org/namePerson&openid.alias3.value.alias2
 =Administrator eGov-
 Portal&openid.alias3.type.alias3=http://axschema.org/na
 mePerson/friendly&openid.alias3.value.alias3=administra
 tor&openid.alias3.type.alias4=http://www.egov.go.th/2012
 /identifier/citizenid&openid.alias3.value.alias4=



                            34
       การตรวจสอบความถูกตอง
                         ้
     ่ ้
 เพือปองกันการจูโจมแบบ url injection
                 ่
  ระบบ e-service ตองทาการตรวจสอบ
                       ้
          ่ ้
  ขอมูลทีไดมากับระบบเว็บไซดกลางทุกครัง
    ้                              ์     ้
  โดยการแก้ parameter “openid.mode”
  ให้เป็ น “check_authentication” พรอม ้
      ้           ่          ้
  ทังแนบขอมูลทีไดรับมาทังหมดส่งให้ระบบ
             ้
  เว็บไซดกลางแบบ Http post request
           ์
 ระบบ e-service จะไดรับคา     ้ ่
                                     ้
  “Is_valid” เป็ น “true” ถาขอมูลทังหมดถูก
                            ้ ้
                         ไซด ์
  ส่งมาจาก ระบบเว็บ35 กลางจริง
                  ่ ้
      การนาขอมูลทีไดไปใช้งาน
            ้
 สรอ.แนะนาให้ e-service ใช้คาตอไปนี้
                             ่ ่
             ่   ่
  ไปเทียบเพือเพือยืนยันบุคคล
   - อีเมล
   - เลขประจาตัวประชาชน
 กรณีท ี่ e-service ไมไดเก็บคาเหลานั้น
                         ่ ้     ่
  หรือเทียบไมพบผูใช้
               ่     ้
 กรณีขอมูลเหลานั้นไมมีอยูทีเว็บไซดกลาง
         ้         ่   ่     ่ ่   ์

                   36
                   ่ ี่
            ไลบรารีทสรอ.เคยใช้
 ASP.NET -> DotNetOpenAuth
 PHP -> LightOpenID
      -> PHP OpenID Library
 Java -> JOpenID
      -> OpenID4Java




                  37
แนวทางการเขาถึงระบบบริการ
              ้
  อิเล็กทรอนิกส์แบบรวมศูนย ์
       (Single Sign-On)
      OAuth Protocol



             38
                     ่ ่
      องคประกอบหลักทีเกียวของ
         ์                 ้
 ฝั่งระบบ e-Service “Oauth Consumer”
   หน้าจอ SSORegister
           ่
   ไลบรารีสาหรับรองรับการใช้งาน OAuth
                          ่
      v1.0a ตามแตภาษาทีใช้ (PHP, Java,
                   ่
      ASP.NET)
   OAuth Consumer “key” และ “secret” ที่
      ทางสรอ.ส่งให้
 ฝั่งระบบเว็บไซตกลาง “Service Provider”
                     ์
   หน้าเว็บเพจ OAuth.ashx
      (https://openid.egov.go.th/ OAuth.ashx)
                         39
  ้
ขันตอนการทางานของ Oauth
    (http://oauth.net/core/1.0/)




         40
                            ้
                Request ในขันตอน A.

 HTTP POST ->
  http://testopenid.ega.or.th/OAuth.ashx
 oauth_callback=http://localhost:61420/code/
  SSORegister.aspx&oauth_consumer_key=s
  ampleconsumer&
  oauth_nonce=MqoTuozw&
  oauth_signature_method=HMAC-SHA1&
  oauth_signature=1q259ZnTlWXaI97HDG73
  6KFKqRI=&
                       41
  oauth_version=1.0&oa
       A. การขอ “Request Token”จาก
                   ระบบเว็บไซตกลาง
                              ์
Parameter          Description
                        ่
 oauth_consumer “key” ทีทางสรอ.ส่งให้
 _key
                     ี
 oauth_signature_ วิธการ Sign Request (ควรใช้คาเป็ น HMAC-
                                              ่
 method           SHA1)

 oauth_signature   ่ ่
                 คาทีในการ Sign Request ตาม
                 oauth_signature_method (โดยทัวไป่
                                     ้ ่             ิ ้
                 parameter นี้จะถูกตังคาให้อัตโนมัตในขันตอน
                 สราง Request ของแตละไลบรารี)
                    ้                    ่         ่
                       ่
 oauth_timestamp เวลาทีทาการ Request
 oauth_nonce                                         ่ ู     ้
                   เป็ นชุดของตัวหนังสื อภาษาอังกฤษทีถกสุ่มขึนมาให้
                   ไมซากันในแตละ Request ของแตละระบบ
                       ่ ้        ่                   ่
                                     ่
                   บริการภาครัฐ เพือเอาไว้ตรวจสอบวา Request
                                                        ่
                                 42
                                       ่
                   นี้เป็ น Request ทีไมเคยถูกใชมากอน และ
                          ้
             Response ในขันตอน B.

 HTTP POST ->
  http://localhost:61420/code/SSORegister.a
  spx
 oauth_token=w6yxDlpNB8QK2Y6xpyKszT
  ZpVps=&
  oauth_token_secret=oHN1HvCFzaX/vI17fa
  CyiFiVzRk=&
  oauth_callback_confirmed=true
                     43
    B. ระบบเว็บไซตกลางส่ง “Request
                  ์
                    Token” กลับไปให้
Parameter           Description
 oauth_token        “Request Token” จากระบบขอมูลผู้ใช้
                                            ้
                        ่ ่
 oauth_token_secr เป็ นคาทีระบบขอมูลผู้ใช้ส่งมาพรอมกับ
                                ้                ้
 et                                    ่
                  “Request Token” เพือใช้ในการตรวจสอบ
                  “Request Token” โดยคานี้จะไมซากันในแตละ
                                          ่        ่ ้ ่
                  “Request Token”
 oauth_callback_c   เป็ น True ถ้าไดรับการยืนยันจากระบบเว็บไซต ์
                                    ้
 onfirmed           กลาง




                               44
                            ้
                Request ในขันตอน C.
 HTTP GET ->
  http://testopenid.ega.or.th/OAuth.ashx
 oauth_token=w6yxDlpNB8QK2Y6xpyKszT
  ZpVps=




                    45
         C. ให้ผู้ใช้ทาการยืนยันตัวตน
 ระบบบริการภาครัฐส่งผูใช้ไปยังระบบ
                      ้
                      ่
 เว็บไซตกลาง เพือทาการยืนยันตัวตน
          ์
              ี่ ู้
 (ในกรณีทผใช้ยังไมไดทาการลงชือเขาใช้
                        ่ ้            ่ ้
 กับระบบยืนยันตัวบุคคลกลาง) และให้ผูใช้    ้
 ตัดสิ นใจวาจะอนุ ญาติให้ระบบบริการ
            ่
 ภาครัฐสามารถเขาถึงขอมูลของผูใช้ได้
                    ้        ้     ้
                           ่     ้
 หรือไม่ parameter ทีใช้ในขันตอนนี้ม ี
                         ่
 แค่ oauth_token ซึงไดมาจากขันตอน
                               ้     ้
 B (Request Token)46
                          ้
             Response ในขันตอน D.

 HTTP GET ->
  http://localhost:61420/code/SSORegister.a
  spx
 oauth_verifier=piRunFM=&
  oauth_token=w6yxDlpNB8QK2Y6xpyKszT
  ZpVps=



                     47
D. ระบบเว็บไซตกลางส่งผูใช้กลับไปยัง
              ์       ้
                ระบบบริการภาครัฐ
Parameter         Description
 oauth_token                                   ้
                  “Request Token” จากขันตอน B (ในขันตอนนี้ ้
                  “Request Token” ไดรับการอนุ ญาตให้ใช้งานได้
                                       ้
                  จากระบบขอมูลผู้ใช้แลว)
                              ้            ้
 oauth_verifier         ่ ่
                  เป็ นคาทีระบบขอมูลผู้ใช้ส่งมาพรอมกับ
                                  ้                ้
                                                         ่
                  “Request Token” โดยคานี้จะมีความเชือมโยงกับ
                                             ่
                                                 ู
                  ระบบบริการภาครัฐ คานี้ถกใช้ในขันตอน E
                                         ่             ้
                      ่
                  เพือยืนยันวาระบบบริการภาครัฐทีจะขอ
                                ่                    ่
                  “Access Token” นั้นเป็ นระบบบริการภาครัฐ
                            ่
                  เดียวกับทีขอ “Request Token”




                            48
                             ้
                 Request ในขันตอน E.

 HTTP POST ->
  http://testopenid.ega.or.th/OAuth.ashx
 oauth_verifier=piRunFM%3D&
  oauth_token=w6yxDlpNB8QK2Y6xpyKszT
  ZpVps%3D&
  oauth_consumer_key=sampleconsumer&
  oauth_nonce=Y2FPEOhg&
  oauth_signature_method=HMAC-SHA1&
  oauth_signature=DLKewGmNI1%2BrmpU
                       49
  UHgsviQQ9Z6I%3D&
            E. แลก “Request Token” เป็ น
                       “Access Token”
Parameter           Description
                         ่
 oauth_consumer_ “key” ทีทางสรอ.ส่งให้
 key
 oauth_token                            ้
                    “Request Token” ในขันตอน D
 oauth_signature_      ี
                    วิธการเขารหัส Request (ตองใสคาเป็ น
                            ้               ้    ่
 method             HMAC-SHA1)

 oauth_signature      ่ ่ ้         ้
                    คาทีไดจากขันตอนการเขารหัส ตาม
                                              ้
                                                        ้
                    oauth_signature_method คาในขันตอนนีจะไม่
                                                    ่       ้
                                      ้               ่
                    เหมือนคาในขันตอน A (โดยทัวไป parameter
                              ่
                                ้ ่         ิ     ้
                    นี้จะถูกตังคาให้อัตโนมัตในขันตอนสราง  ้
                    Request ของแตละไลบรารี)
                                        ่       ่
 oauth_timestamp            ่
                    เวลาทีทาการ Request
 oauth_nonce                                          ่ ู     ้
                    เป็ นชุดของตัวหนังสื อภาษาอังกฤษทีถกสุ่มขึนมา
                            ้ 50
                    ใหไมซากันในแตละ Request ของแตละระบบ
                           ้
              Response ในขันตอน F.

 HTTP POST ->
  http://localhost:61420/code/SSORegister.a
  spx
 oauth_token=FpLQoLmK997T+i9lsaA33+b
  WIEY=&
  oauth_token_secret=kzvbxfPP+pCscwOcv
  YWpk3waRNw=


                     51
      F. ระบบเว็บไซตกลางส่ง “Access
                    ์
                      Token” กลับไปให้
Parameter          Description
 oauth_token                        ่ ้
                   “Access Token” ทีไดรับจากระบบเว็บไซตกลาง
                                                       ์
                        ่ ่
 oauth_token_secr เป็ นคาทีระบบขอมูลผู้ใช้ส่งมาพรอมกับ “Access
                                 ้               ้
 et                          ่
                  Token” เพือใช้ในการตรวจสอบ “Access
                  Token” โดยคานี้จะไมซากันในแตละ “Access
                               ่        ่ ้        ่
                  Token”




                              52
G. นา “Access Token” ไปแลกขอมูล
                           ้
                           ผู้ใช้
                                      ่
 ระบบบริการภาครัฐนา “Access Token” ทีได้
 ไปเขาถึงขอมูลของผูใช้ โดยทางสรอ.ไดปรับ
      ้       ้     ้                   ้
    ี                 ่
 วิธการเขาถึงขอมูลเพือให้ไดขอมูลกลับมาใน
          ้     ้          ้ ้
 รูปแบบของ xml โดยผูพัฒนาสามารถเขาถึง
                        ้             ้
 xml ผาน URL :
        ่
 “http://www.egov.go.th/XmlUserInfo.aspx?
                                ่
 AccessToken={Access Token ทีระบบบริการ
 ภาครัฐไดรับ}” โดย “Access Token” มีอายุ
            ้
 การใช้งาน 10 นาที

                    53
                    ่ ี่
             ไลบรารีทสรอ.เคยใช้
 ASP.NET -> DotNetOpenAuth
 PHP -> basic php library




                   54
                               ตัวอยาง XML
                                    ่
<? Xml version=“1.0” encoding="UTF-8"?>
<Member type="Citizen">
 <UserID>a4d8b6a0-37db-4f44-
 b598fb0e6550a31f</UserID>
 <UserName>TestVender3</UserName>
 <Title VerifiedLevel="Unverified"/>
 <FullName VerifiedLevel="Unverified">Vender3
 Test</FullName>
 <FirstName
 VerifiedLevel="Unverified">Vender3</FirstName>
 <LastName
 VerifiedLevel="Unverified">Test</LastName>
 <DateOfBirth VerifiedLevel="Unverified"/>
 <Gender VerifiedLevel="Unverified"/>
 <Identification>
    <Code VerifiedLevel="Unverified"/>
    <IssueBy VerifiedLevel="Unverified"/>
                          55
    <IssueDate VerifiedLevel="Unverified"/>
                            ตัวอยาง XML(ตอ)
                                    ่     ่
<Nationality VerifiedLevel="Unverified"/>
<Occupation VerifiedLevel="Unverified"/>
<Address>
   <HouseNumber VerifiedLevel="Unverified"/>
   <VillageName VerifiedLevel="Unverified"/>
   <Moo VerifiedLevel="Unverified"/>
   <Soi VerifiedLevel="Unverified"/>
   <Road VerifiedLevel="Unverified"/>
   <SubDistrict VerifiedLevel="Unverified"/>
   <District VerifiedLevel="Unverified"/>
   <Province VerifiedLevel="Unverified"/>
   <PostCode VerifiedLevel="Unverified"/>
   <GeoCode VerifiedLevel="Unverified"/>
</Address>               56
                         ตัวอยาง XML(ตอ)
                              ่       ่
   <ContactInfo>
       <Telephone VerifiedLevel="Unverified"/>
       <Mobilephone VerifiedLevel="Unverified"/>
        <EMail
  VerifiedLevel="Unverified">vender3@test.com</EMa
  il>
  </ContactInfo>
</Member>




                        57
                          การใช้งาน xml
 ทาการแกะขอมูลออกมาจาก xml
           ้
           ่ ้
 นาขอมูลทีไดไปใส่ฟอรมสมัครสมาชิก
     ้               ์
 ถาระบบ e-service ตองให้ผูใช้ใส่
   ้                ้      ้
 Username และ Password ทางเว็บไซดกลาง
                                   ์
 สามารถให้ขอมูล Username ได้ แตผูใช้ตอง
           ้                   ่ ้   ้
 กรอก Password เอง




                     58
                                      ้
                     ขอแนะนาในการติดตัง
                      ้
                            ้
 ทาการสารองขอมูลกอนการติดตัง
             ้    ่
                      ้ ่
 ทาเอกสารจดบันทึกวาไดเพิมหรือแกไขอะไรไปบาง
                   ่            ้        ้
 ทาการทดสอบระบบโดยตองทาการทดสอบอยางน้อย
                    ้             ่
 ดังนี้
                    ี ู
   เขาใช้งานในกรณีมผ้ใช้อยูที่ e-service และทา
        ้                   ่
    การ mapping ผู้ใช้แลว้
                     ี ู
   เขาใช้งานในกรณีมผ้ใช้อยูที่ e-service แตยัง
          ้                   ่              ่
    ไมไดทาการ mapping
              ่ ้
                       ่ ู
   เขาใช้งานในกรณีไมมีผ้ใช้อยูที่ e-service
            ้                   ่

                        59
คาถา
ม?
ขอบคุณ
ครับ



         60

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:5
posted:11/5/2012
language:Thai
pages:60