Blog AWS Indonesia

Solusi Open Banking dengan AWS untuk Lembaga Keuangan Bank

Pendahuluan

Selamat datang di seri blog Industri Jasa Keuangan. Di seri blog ini kita akan membahas berbagai topik aktual yang relevan dengan Industri Jasa Keuangan di Indonesia dan bagaimana teknologi AWS dapat memberikan solusi untuk topik tersebut. Di edisi perdana ini, kita akan membahas mengenai Open Banking. Open Banking adalah sebuah topik yang sangat populer bagi industri dan regulator jasa keuangan di berbagai belahan dunia pada beberapa tahun terakhir. Sejak regulasi Payments Services Directive 2 (PSD2) berlaku efektif di Uni Eropa pada tanggal 13 Januari 2018, regulator jasa keuangan di berbagai negara telah mengikuti inisiatif yang sama dengan meluncurkan program Open Banking di negara masing-masing, seperti USA, Jepang, Hong Kong, Singapura, India, Australia, New Zealand, dan lain-lain (sumber: Gilbert+Torbin – Open Banking Regimes Across the Globe)

Open Banking menghadirkan perubahan besar bagi industri jasa keuangan di mana pihak ketiga, misal perusahaan fintech (teknologi finansial), mendapatkan kesempatan akses ke data finansial konsumen dan menggunakan data tersebut untuk membangun layanan keuangan alternatif yang cepat, mudah, nyaman dan aman berbasis teknologi dan mobile. Di samping memberikan ancaman, Open Banking juga dapat memberikan peluang yang besar bagi pelaku jasa keuangan yang dapat memanfaatkan momentum ini dengan baik. Open Banking misalnya memberikan kesempatan kepada Bank untuk hadir lebih banyak dan lebih dekat kepada konsumen dengan melakukan integrasi ke berbagai aplikasi pihak ketiga sehingga konsumen akan merasakan kemudahan mengakses layanan perbankan yang dimilikinya. Open Banking juga memungkinkan Bank untuk memperbesar basis konsumen potensial karena Bank juga dapat mengakses data konsumen dari institusi keuangan yang lain (prinsip resiprokal) dan mendapat kesempatan untuk menawarkan produk dan jasa keuangan yang lebih menarik dan lebih relevan terhadap konsumen institusi keuangan lain apabila Bank mampu melakukan analisa yang akurat terhadap data konsumen tersebut. Open Banking juga memberikan sumber pendapatan baru bagi Bank dari layanan API yang digunakan pihak ketiga dengan prediksi kapitalisasi pasar mencapai USD 43 juta pada 2026 menurut Allied Market Research (sumber: Forbes – Open Banking Is Now Essential Banking: A New Decade’s Global Pressures And Best Responses, Part One)

Apa itu Open Banking?

Open Banking adalah mekanisme untuk menyediakan akses secara aman ke data nasabah, data transaksi dan data finansial lain yang dikelola institusi keuangan bank dan non-bank kepada penyedia layanan keuangan pihak ketiga melalui penggunaan teknologi Application Programming Interface (API). Akses ke data finansial ini harus mendapatkan persetujuan dari konsumen (customer consent) dan harus dilakukan dengan standar keamanan yang baik (sertifikat SSL/TLS X.509, OAuth 2.0, OpenID Connect, enkripsi AES-256, dll) dan tata kelola yang baik (Standard Governing Body, Standar Kontrak Open API, Standar Perlindungan Konsumen, Standar Akreditasi Pihak Ketiga Pengguna API, dll).

Secara umum suatu ekosistem Open Banking terdiri dari 3 entitas utama, yaitu:

  1. Penyedia API (Data Attribute Providers), yaitu entitas jasa keuangan yang menyediakan layanan keuangan dan menyimpan data konsumen serta menyediakan API bagi pihak ketiga untuk mengakses dan menggunakan data konsumen dan/atau menggunakan layanan keuangan yang disediakan penyedia API yang dilakukan berdasarkan persetujuan konsumen.
  2. Pengguna API (Third Party Provider – TPP), yaitu entitas pihak ketiga yang mengakses dan menggunakan data konsumen yang disimpan penyedia API dan/atau menggunakan layanan keuangan dari penyedia API yang dilakukan berdasarkan persetujuan konsumen.
  3. Konsumen, yaitu pemilik data yang disimpan oleh penyedia API dan sebagai pihak yang berwenang memberikan persetujuan akses terhadap data yang dimiliki.

Interaksi antara ketiga entitas Open Banking ini dapat digambarkan sebagai berikut:

Open Banking di Indonesia

Sebagai negara dengan potensi ekonomi digital yang sangat besar dan terus bertumbuh, Indonesia juga tidak ketinggalan turut mengadopsi penerapan Open Banking. Pada November 2019, Bank Indonesia sebagai regulator di bidang pembayaran nasional meluncurkan Blueprint Sistem Pembayaran Indonesia (BSPI) 2025 dengan 5 inisiatif program di dalamnya, di mana salah satu inisiatif tersebut adalah Open Banking. Otoritas Jasa Keuangan (OJK) sebagai regulator di bidang pengawasan industri jasa keuangan Indonesia juga merujuk kepada Open API sebagai standar konektivitas antara sistem elektronik Bank dengan sistem elektronik mitra Bank dalam POJK No. 12/POJK.03/2018 mengenai Perbankan Digital (Penjelasan Pasal 15 Ayat 3).

Bank Indonesia sudah memulai pelaksanaan program Open Banking dengan menerbitkan dokumen Consultative Paper Standar Open API dan Interlink Bank dengan FinTech pada Maret 2020 untuk memperoleh masukan dari pelaku industri jasa keuangan dan publik dalam penyusunan standar Open Banking. Pada saat artikel ini ditulis, Bank Indonesia belum mempublikasikan secara resmi spesifikasi lengkap API yang digunakan. Berdasarkan Consultative Paper Bank Indonesia, terdapat beberapa petunjuk spesifikasi teknis Open Banking Bank Indonesia sebagai berikut:

  1. API Open Banking yang dibuat meliputi: a. API informasi produk/layanan
    1. API pendaftaran produk/layanan
    2. API informasi akun
    3. API transaksi pembayaran
  2. Standar Open API Bank Indonesia akan dititikberatkan pada API transaksi pembayaran.
  3. Standar Open API yang dibuat akan mempertimbangkan praktik terbaik (best practices) dari beberapa negara seperti Inggris, Hong Kong, Jepang, Australia, India dan Singapura. Sebagai referensi, dokumentasi Open API untuk beberapa negara acuan yang disebutkan di atas dapat dilihat pada alamat berikut ini:
    1. Inggris: https://standards.openbanking.org.uk/api-specifications/
    2. Hong Kong: https://apidocs.hkma.gov.hk/
    3. Australia: https://consumerdatastandardsaustralia.github.io/standards/
    4. Singapura: https://www.mas.gov.sg/-/media/MAS/Smart-Financial-Centre/API/ABSMASAPIPlaybook.pdf
  4. Standar Teknis:
    1. Protokol: HTTPS dengan versi minimum TLS 1.2
    2. Tipe arsitektur: REST
    3. Format data: JSON dan XML
  5. Standar Keamanan:
    1. Otentikasi: sertifikat digital X.509, metode otentikasi dengan nama pengguna, kata sandi (password) dan two-factor authentication dan OpenID Connect untuk persetujuan pengguna.
    2. Otorisasi dengan OAuth 2.0 dengan prinsip menjamin keamanan akses, akses data diberikan sesuai kewenangan dalam batas waktu yang ditetapkan, menjamin prinsip tidak dapat diingkari (non-repudiation) dan pemberian akses data harus didahului persetujuan dari pemilik informasi.
    3. Integritas dan kerahasiaan data (enkripsi) dengan SHA-2 atau AES-256.
    4. Business Contingency Plan (BCP) untuk memastikan ketersediaan data dan layanan serta menjamin kesinambungan proses bisnis.
    5. Standar keamanan tambahan yang disarankan:
      1. ISO 27001 dan PCI DSS (Payment Card Industry – Data Security Standard)
      2. Metodologi secure programming
      3. Sistem deteksi fraud

Berdasarkan petunjuk Consultative Paper, tahapan penerapan program Open Banking diawali dengan tahap persiapan dan pengembangan Open API pada Triwulan IV 2020 kemudian dilanjutkan dengan tahap ujicoba mulai Triwulan I 2021 dan tahap implementasi penuh standar Open API ditargetkan akan dijalankan pada Triwulan II 2021.

Persetujuan Konsumen (customer consent)

Consultative Paper Bank Indonesia (halaman 15, poin no. 14) menyebutkan bahwa hal yang paling kritikal dan mendasar dalam Open Banking adalah akses dan pertukaran data transaksi konsumen yang hanya dapat dilakukan berdasarkan persetujuan konsumen (consumer consent). Untuk itu lembaga keuangan Bank sebagai entitas yang menyimpan data konsumen perlu mengimplementasikan mekanisme pengaturan persetujuan (consent management) dalam sistem Open Banking yang dibangun. Consent management mengatur 2 proses utama yaitu:

  1. Proses konsumen melakukan pemeriksaan bahwa identitas pihak ketiga adalah benar (otentikasi)
  2. Proses konsumen memberikan persetujuan kepada pihak ketiga untuk mengakses data konsumen (otorisasi)

Jadi pada prinsipnya consent management adalah mekanisme untuk mengatur proses otorisasi dan otentikasi. Dalam Consultative Paper, Bank Indonesia memberikan arahan terkait standar teknis untuk proses otentikasi dan otorisasi yaitu OpenID Connect untuk otentikasi dan OAuth 2.0 untuk proses otorisasi. OAuth 2.0 adalah protokol yang memungkinkan pengguna memberikan ijin kepada aplikasi pihak ketiga untuk mengakses data atau layanan dari aplikasi lain tanpa membuka credential pengguna kepada pihak ketiga. OpenID Connect adalah protokol otentikasi berdasarkan OAuth 2.0 yang memungkinkan aplikasi pihak ketiga melakukan otentikasi pengguna tanpa perlu menyimpan dan mengelola credential pengguna.

Berikut adalah alur interaksi untuk melakukan pengaturan persetujuan konsumen (consent management) dengan protokol OAuth 2.0 dan OpenID Connect:

 

Penjelasan mengenai diagram alur consent management adalah sebagai berikut:

  1. Konsumen/pemilik data melakukan transaksi di aplikasi pihak ketiga pengguna API.
  2. Aplikasi pihak ketiga memulai proses persetujuan konsumen dengan menghubungi Authorization Server penyedia API. Authorization Server adalah aplikasi/sistem di pihak penyedia API yang menyimpan akun dan identitas pemilik data. Nama lain dari Authorization Server adalah Identity Provider.
  3. Konsumen/pemilik data diarahkan ke halaman login pihak penyedia API.
  4. Konsumen/pemilik data melakukan login dengan credential konsumen di sistem pihak penyedia API. Authorization Server juga menampilkan form persetujuan dan meminta konsumen memberikan persetujuan berbagi data dengan aplikasi pihak ketiga.
  5. Setelah otentikasi konsumen sukses dan konfirmasi otorisasi untuk berbagi data diterima dari konsumen, data otorisasi konsumen disimpan oleh pihak penyedia API di database persetujuan konsumen (consent database) dan Authorization Server mengembalikan ke aplikasi pihak ketiga dengan memberikan authorization code. Authorization code adalah kode sementara yang bersifat jangka pendek (short lived) yang dipertukarkan aplikasi pihak ketiga dan Authorization Server untuk mendapatkan token akses ke data.
  6. Aplikasi pihak ketiga mengirimkan authorization code, client id dan client secret untuk meminta access token. Client id dan client secret adalah seperangkat credential (ID dan password) untuk mengidentifikasi aplikasi pihak ketiga terhadap Authorization Server. Client id dan client secret merupakan hasil dari proses onboarding atau pendaftaran aplikasi pihak ketiga, yang tidak kita bahas dalam blog ini dikarenakan belum ada petunjuk teknis di dalam Consultative Paper Bank Indonesia mengenai proses onboarding pihak ketiga. Selain menggunakan client id dan client secret, otentikasi aplikasi pihak ketiga juga bisa dilakukan dengan menggunakan Private Key JWT.
  7. Authorization Server melakukan verifikasi dan setelah verifikasi berhasil, Authorization Server memberikan access token dan ID token. Access token adalah kunci yang digunakan aplikasi pihak ketiga untuk berkomunikasi dengan Resource Server untuk mendapatkan data. ID token adalah kunci dalam format JWT (JSON Web Token) yang menyimpan informasi identitas konsumen, seperti user id, email, dll.
  8. Aplikasi pihak ketiga dapat menggunakan access token untuk meminta data dari Resource Server sesuai lingkup (scope) persetujuan yang diberikan konsumen. Resource Server dalam implementasi Open Banking adalah API Gateway yang disediakan pihak penyedia API.

Solusi Open Banking dengan AWS

Berikut adalah contoh arsitektur acuan (reference architecture) implementasi Open Banking di platform AWS untuk lembaga keuangan Bank.

Penjelasan mengenai komponen utama dari arsitektur di atas adalah sebagai berikut:

  1. Konsumen/pemilik data menggunakan aplikasi dari pihak ketiga pengguna API.
  2. Pihak ketiga membangun aplikasi yang mengakses API yang disediakan oleh pihak penyedia API (lembaga keuangan bank).
  3. Penyedia API melakukan otentikasi terhadap pihak ketiga pengguna API dengan memvalidasi sertifikat SSL yang dimiliki pihak ketiga (Mutual Authentication TLS) menggunakan Reverse Proxy.
  4. Setelah validasi Mutual Authentication TLS berhasil, penyedia API akan memberikan token akses kepada aplikasi pengguna API melalui aplikasi Identity Provider.
  5. AWS Cloud HSM menjalankan proses kriptografi SSL/TLS (SSL/TLS offload) dengan algoritma AES-256 untuk membentuk koneksi yang aman antara penyedia API dan pihak ketiga pengguna API.
  6. Setelah pihak ketiga pengguna API berhasil di-otentikasi dan koneksi terenkripsi terbentuk antara penyedia API dan pengguna API, Amazon API Gateway menyediakan akses bagi aplikasi pihak ketiga pengguna API untuk menggunakan layanan API pihak penyedia API dengan metode REST dan format data JSON.
  7. AWS Web Application Firewall (WAF) yang terintegrasi dengan API Gateway memberikan proteksi terhadap ancaman keamanan pada layer aplikasi (HTTP), seperti SQL Injection dan cross-site scripting (XSS) attack.
  8. Proses bisnis layanan keuangan disediakan oleh aplikasi yang di-implementasi-kan dengan berbagai teknologi, seperti Amazon EC2 (server/VM), Amazon ECS (container), Amazon EKS (Kubernetes) dan AWS Lambda (serverless).
  9. Aplikasi proses bisnis yang memerlukan akses ke system legacy di on-premise akan mengakses Data Center on-premise menggunakan AWS Direct Connect.
  10. Data transaksi disimpan di database Amazon Aurora dengan fitur high-availability di beberapa Availability Zone (Multi-AZ) dan data persetujuan konsumen (consumer consent) disimpan di database Amazon QLDB (Quantum Ledger Data Base) yang menyediakan penyimpanan data yang immutable (tidak dapat dirubah) untuk menjamin prinsip tidak dapat diingkari (non repudiation).
  11. Data konsumen dan transaksi dapat diolah lebih lanjut untuk mendapatkan analisa dan informasi yang lebih dalam (insight) dengan sistem Analytics yang akan dibahas pada seri selanjutnya blog ini, misalnya untuk proses analisa kredit, pemantauan budget keuangan, dan lain-lain.
  12. Pihak ketiga pengguna API yang sedang dalam tahap pengembangan (development) akan mengakses aplikasi proses bisnis bank yang terdapat di lingkungan developer sandbox yang terpisah dari lingkungan Production.
  13. Amazon SQS dan Amazon SNS menyediakan fungsi integrasi antara berbagai aplikasi yang terlibat dalam proses bisnis layanan keuangan yang disediakan melalui API.
  14. Amazon CloudWatch melakukan pemantauan berbagai metrik aplikasi dan infrastruktur, seperti utilisasi CPU, memori, dan lain-lain, serta melakukan penyimpanan dan pemantauan berbagai data log. Amazon CloudTrail melakukan pemantauan akses terhadap berbagai layanan AWS yang dilakukan oleh aplikasi Open Banking. Semua data log disimpan di layanan penyimpanan Amazon S3 dan dapat dilakukan analisa dengan menggunakan layanan Amazon Elastisearch.
  15. Penggunaan beberapa VPC (virtual network) dan subnet untuk memberikan isolasi terhadap berbagai bagian infrastruktur dan aplikasi, misal pemisahan antara aplikasi front-end dan back-end, pemisahan aplikasi antara aplikasi dan database, yang akan meningkatkan keamanan dikarenakan kontrol akses yang lebih detail (granular) dan lebih tepat (precise) dan radius pengamanan (blast radius) yang lebih kecil.
  16. Amazon PrivateLink memberikan koneksi yang cepat dan aman antara VPC (virtual network) dan berbagai layanan AWS yang digunakan.
  17. AWS Shield memberikan proteksi terhadap serangan keamanan Distributed Denial of Service (DDoS).
  18. Amazon GuardDuty melakukan pemantauan terhadap berbagai aktivitas yang tidak sah (unauthorized) dan mengancam keamanan (malicious).
  19. AWS Config melakukan pemantauan konfigurasi berbagai komponen infrastrukctur sesuai standar yang ditetapkan.

Mengapa AWS?

AWS adalah platform ideal untuk membangun sistem Open Banking bagi lembaga keuangan bank dikarenakan beberapa pertimbangan di bawah ini, namun tidak terbatas hanya pada item-item di bawah ini:

1. Kemampuan teknis

Arsitektur acuan solusi Open Banking dengan AWS di atas mendemonstrasikan kemampuan AWS dalam memenuhi semua standar teknis Open Banking yang ditetapkan Bank Indonesia, seperti HTTPS, REST, JSON, OAuth 2.0, OpenID Connect, enkripsi AES-256, arsitektur multi-AZ dan multi-region untuk business continuity (BCP), bahkan lebih dari itu AWS juga memenuhi semua standar keamanan yang disarankan, seperti ISO 27001, PCI DSS, metode secure programming dengan Amazon CodeGuru dan sistem deteksi fraud dengan Amazon Fraud Detector.

2. Kecepatan

Open Banking adalah program kepatuhan (regulatory) yang mempunyai jadwal implementasi yang ketat dan juga sanksi kepatuhan apabila bank tidak memenuhi jadwal tersebut. Di samping sebagai program kepatuhan, Open Banking juga menimbulkan implikasi kompetisi bisnis yang ketat dengan pihak ketiga setelah akses ke data finansial nasabah dibuka untuk pihak ketiga tersebut. Dengan demikian, bank membutuhkan kecepatan penyediaan teknologi yang tinggi dan juga ketersediaan teknologi yang lengkap untuk berinovasi dalam sistem Open Banking yang akan dibangun. Platform AWS mempunyai lebih dari 175 layanan teknologi yang saling terintegrasi dengan baik, mulai dari layanan Compute, Database, Storage, Security, Container, Serverless, hingga Analytics dan AI/ML, yang dapat diaktifkan dan siap digunakan hanya dalam hitungan menit.

3. Keamanan

Membuka akses pihak eksternal ke data finansial yang tersimpan di sistem legacy membutuhkan proteksi keamanan yang sangat tinggi. Dengan menempatkan aplikasi Open Banking di AWS, AWS memberikan berbagai lapisan proteksi keamanan yang dapat menyaring traffic dari pihak ketiga sebelum mencapai sistem legacy di Data Center on-premise Bank, seperti AWS Shield yang dapat memitigasi serangan DDoS terbesar sepanjang sejarah sebesar 2.3 Tbps, AWS WAF yang dapat memfilter traffic web yang mengancam keamanan, seperti SQL Injection, Cross Site Scripting, penggunaan beberapa VPC (Virtual Private Cloud) dan subnet untuk mengisolasi akses dan infiltrasi apabila terjadi pelanggaran keamanan.

4. Skalabilitas dan Efisiensi Biaya

Open Banking adalah layanan yang digunakan secara langsung oleh konsumen (customer-facing) dan membutuhkan response time yang cepat untuk menjamin customer experience yang baik untuk penggunanya. Jumlah pengguna, data dan sumber data yang diakses oleh sistem Open Banking juga akan berkembang dengan pesat sejalan dengan perkembangan bisnis. Dengan demikian, Bank memerlukan infrastruktur teknologi yang mampu berkembang sesuai dengan kebutuhan bisnis (scalable). Di lain pihak, Bank baru memulai monetisasi layanan API sehingga diperlukan investasi yang efisien dan terukur sesuai dengan volume permintaan bisnis. AWS menyediakan solusi infrastruktur teknologi yang scalable dan tangguh dengan metode pembayaran sesuai penggunaan (pay as you go) yang sangat efisien.

Kesimpulan

Open Banking adalah sebuah perubahan besar di industri jasa keuangan dan merupakan langkah awal menuju ekonomi Open Data di berbagai industri yang lain (telekomunikasi, energi, utilitas, dll). Open Banking memberikan konsumen kendali yang lebih besar terhadap data yang dimiliki dan akan mendorong inovasi yang lebih cepat dan lebih bermanfaat untuk konsumen. Dalam tulisan ini, penulis menunjukkan bagaimana Bank dapat membangun solusi Open Banking dengan menggunakan teknologi Amazon Web Services (AWS). Arsitektur acuan yang disampaikan dalam tulisan ini akan membantu Bank untuk memulai pengembangan solusi Open Banking dengan memperhatikan aspek-aspek fundamental seperti standar teknis API, standar keamanan dan proses persetujuan konsumen.

TAGS:
Stefanus Pinarta

Stefanus Pinarta

Stefanus Pinarta adalah Enterprise Solutions Architect yang bekerja di Amazon Web Services (AWS) yang berbasis di Jakarta, Indonesia. Dengan pengalaman lebih dari 15 tahun di industri jasa keuangan, Stefanus ingin membantu lembaga keuangan di Indonesia untuk melakukan transformasi digital secara masif dengan menggunakan teknologi cloud computing AWS. Stefanus dapat dihubungi di alamat email: pinars@amazon.com