# SAML, আড়ালে: চিঠির ভেতরের স্বাক্ষর

Published: 2026-09-24

SAML আপনাকে প্রায় প্রতিটি কাজের অ্যাপে লগ ইন করায়, এবং এর স্বাক্ষর এটি যে XML-কে স্বাক্ষর করে তার ভিতরে থাকে। আড়ালে: অ্যাপ, ব্রাউজার এবং পরিচয় প্রদানকারীর মধ্যে লগইন ড্যান্স, একটি অ্যাসারশন কেমন দেখতে হয়, কেন ক্যানোনিকালাইজেশনকে প্রতিটি বাইটে সম্মত হতে হয়, এবং কেন একই ধরণের বাগ ক্লাস ২০১২ থেকে ২০২৫ সাল পর্যন্ত ফিরে আসছে। এটি ট্রেইল অফ বিটস-এর "SAML: A fractal of bad design" (হ্যাকার নিউজে ৩১২ পয়েন্ট) দ্বারা অনুপ্রাণিত।

Canonical: https://thedailydiff.dev/bn/video/2026-09-24-saml-under-the-hood/

## এই ভিডিওতে যা আছে

- SAML: যে লগইনটি নিজের ভেতর থেকে নিজেকে স্বাক্ষর করে
- 2002: চারটি XML ফর্ম্যাট, একটি কমিটি, একটি সম্পূর্ণ শিল্প
- লগইন ড্যান্স: অ্যাপ → পরিচয় প্রদানকারী → আপনার ব্রাউজারের মাধ্যমে ফিরে আসা
- অ্যাসারশন: স্বাক্ষরটি যা স্বাক্ষর করে তার ভিতরে থাকে
- ক্যানোনিকালাইজেশন: প্রতিটি বাইটে সম্মত হন, অথবা কেউ লগ ইন করতে পারবে না

## অধ্যায়

- 0:00 SAML: যে লগইনটি নিজের ভেতর থেকে নিজেকে স্বাক্ষর করে
- 0:34 2002: চারটি XML ফর্ম্যাট, একটি কমিটি, একটি সম্পূর্ণ শিল্প
- 0:46 লগইন ড্যান্স: অ্যাপ → পরিচয় প্রদানকারী → আপনার ব্রাউজারের মাধ্যমে ফিরে আসা
- 0:59 অ্যাসারশন: স্বাক্ষরটি যা স্বাক্ষর করে তার ভিতরে থাকে
- 1:10 ক্যানোনিকালাইজেশন: প্রতিটি বাইটে সম্মত হন, অথবা কেউ লগ ইন করতে পারবে না
- 1:32 2012: পরীক্ষক এবং পাঠক ভিন্ন ভিন্ন উপাদান দেখে
- 1:51 2018 এবং 2025: দুটি পার্সার, দুটি ভিন্ন উত্তর
- 2:08 কেন এটি ভাঙতে থাকে: একটি বাজে ডিজাইনের ফ্র্যাক্টাল
- 2:27 সোমবার: OIDC প্রথম, একটি রক্ষণাবেক্ষণ করা লাইব্রেরি, কঠোর আকার
- 2:43 আড়ালে রায়: REVERT

## অনুবাদিত প্রতিলিপি

মূল ইংরেজি বর্ণনা থেকে অনূদিত। উপলব্ধ অডিও এবং ক্যাপশন YouTube দ্বারা নিয়ন্ত্রিত।

### SAML: যে লগইনটি নিজের ভেতর থেকে নিজেকে স্বাক্ষর করে

0:00 SAML হলো সেই XML যা আপনাকে আপনার প্রায় প্রতিটি কাজের অ্যাপে লগ ইন করায়, এবং এর স্বাক্ষর এটি যে ডকুমেন্ট স্বাক্ষর করে তার ভিতরে থাকে, যেন একজন নোটারি তিনি যে খামটি সিল করছেন তার ভিতরে তার স্ট্যাম্পটি স্ট্যাপল করছেন। একটি কমিটি এটি লেখার দশ বছর পর, গবেষকরা চৌদ্দটি SAML ফ্রেমওয়ার্ক পরীক্ষা করে। এগারোটি ব্যর্থ হয়। আর এই সপ্তাহে ট্রেইল অফ বিটস-এর একটি পোস্ট এটিকে বাজে ডিজাইনের একটি ফ্র্যাক্টাল বলে হ্যাকার নিউজের প্রথম পৃষ্ঠায় স্থান করে নিয়েছে। তিন মিনিটের মধ্যে: কিভাবে লগইন ড্যান্স কাজ করে, কোথায় স্বাক্ষর লুকানো থাকে,

0:27 এবং কেন সবাই যে সমাধানটিতে একমত তা একটি ভিন্ন প্রোটোকল। এটি The Daily Diff, আড়ালে।

### 2002: চারটি XML ফর্ম্যাট, একটি কমিটি, একটি সম্পূর্ণ শিল্প

0:34 দুই হাজার দুই সাল। ওসিস-এর একটি নিরাপত্তা কমিটি চারটি বিক্রেতা XML ফর্ম্যাটকে একত্রিত করে একটিতে রূপান্তর করে। বিশ্ববিদ্যালয়গুলো প্রথমে এটি গ্রহণ করে, তারপর Okta এর উপর ভিত্তি করে একটি কোম্পানি তৈরি করে, যা কমিটির কোনো ডকুমেন্ট থেকে এত দ্রুত রাজস্ব উৎপন্ন হওয়ার দ্রুততম উদাহরণ। আপনি অ্যাপটি খুলুন।

### লগইন ড্যান্স: অ্যাপ → পরিচয় প্রদানকারী → আপনার ব্রাউজারের মাধ্যমে ফিরে আসা

0:46 এটি জানে না আপনি কে, তাই এটি আপনার ব্রাউজারকে পরিচয় প্রদানকারীর কাছে পাঠিয়ে দেয়, ধরুন আপনার কোম্পানির Okta। আপনি সেখানে লগ ইন করেন। Okta আপনার ব্রাউজারকে একটি স্বাক্ষরিত XML ডকুমেন্ট দেয় যা বলে আপনি কে, এবং ব্রাউজার এটি ফেরত পোস্ট করে।

### অ্যাসারশন: স্বাক্ষরটি যা স্বাক্ষর করে তার ভিতরে থাকে

0:59 সেই ডকুমেন্টটি হলো অ্যাসারশন। এটি ব্যবহারকারীর নাম দেয়, এবং স্বাক্ষর এর ভিতরে থাকে, এর আইডি দ্বারা অ্যাসারশনের দিকে নির্দেশ করে। এবং পুরো বিষয়টি আপনার ব্রাউজারের মাধ্যমে চলে, অর্থাৎ, ব্যবহারকারীর মাধ্যমে। এটি পরীক্ষা করার জন্য, অ্যাপটি

### ক্যানোনিকালাইজেশন: প্রতিটি বাইটে সম্মত হন, অথবা কেউ লগ ইন করতে পারবে না

1:11 স্বাক্ষরিত হওয়া সঠিক বাইটগুলো পুনরায় তৈরি করে। এটি স্বাক্ষরটি আবার কেটে ফেলে, হোয়াইটস্পেস এবং অ্যাট্রিবিউটের ক্রমকে স্বাভাবিক করে, এবং ফলাফলের হ্যাশ করে। এটিই ক্যানোনিকালাইজেশন, এবং যদি দুটি পক্ষ একটি একক বাইট নিয়েও ভিন্নমত পোষণ করে, কেউ লগ ইন করতে পারবে না। একটি JSON ওয়েব টোকেন এটি ভিন্নভাবে করে। হেডার, পেলোড এবং স্বাক্ষর ডট দিয়ে একে অপরের পাশে থাকে। আগে কিছু কেটে ফেলার দরকার নেই।

### 2012: পরীক্ষক এবং পাঠক ভিন্ন ভিন্ন উপাদান দেখে

1:32 এখানেই সমস্যা। যে কোডটি স্বাক্ষর পরীক্ষা করে এবং যে কোডটি ব্যবহারকারীর নাম পড়ে তা প্রায়শই দুটি ভিন্ন অংশ হয়। ২০১২ সালে, On Breaking SAML নামক একটি গবেষণাপত্র দেখায় যে আপনি স্বাক্ষরিত অ্যাসারশনটি এমন জায়গায় সরাতে পারেন যেখানে পাঠক এটি উপেক্ষা করে, এবং দ্বিতীয় একটি অ্যাসারশন সেখানে রাখতে পারেন যেখানে সে দেখে। Salesforce এবং Shibboleth তাদের মধ্যে ছিল যারা এর শিকার হয়েছিল। ২০১৮ সালে, Duo দেখিয়েছিল যে একটি ব্যবহারকারীর নামের ভিতরে একটি মন্তব্য কিছু লাইব্রেরিকে নামের অর্ধেক পড়তে বাধ্য করতে পারে, যখন স্বাক্ষর তখনও ঠিক থাকে।

### 2018 এবং 2025: দুটি পার্সার, দুটি ভিন্ন উত্তর

1:55 ২০২৫ সালে, GitHub রুবি SAML-এর ভিতরে দুটি XML পার্সারকে একই ডকুমেন্ট নিয়ে ভিন্নমত পোষণ করতে দেখে। একই বাগ, নতুন দশক। ট্রেইল অফ বিটস এটিকে একটি ফ্র্যাক্টাল বলে, কারণ আপনি যে স্তরেই জুম ইন করেন না কেন একই ত্রুটি থাকে। এটি XML-এর উপর নির্মিত, স্বাক্ষরটি খামের মধ্যে থাকে,

### কেন এটি ভাঙতে থাকে: একটি বাজে ডিজাইনের ফ্র্যাক্টাল

2:12 এবং বাস্তব লগইনগুলো সম্ভবত স্পেসিফিকেশনের এক দশমাংশ ব্যবহার করে। এবং হ্যাকার নিউজের শীর্ষ উত্তরটি আসে ক্রেতার কাছ থেকে। যদি আপনার SAML সমর্থন না থাকে, আমি এমন একটি পণ্য খুঁজে পাব যা আছে। দুটিই সত্য, যা সমস্যা। সুতরাং, সোমবার। প্রথমে OpenID Connect SHIP IT, Fly এবং Tailscale SAML ছাড়াই প্রতিষ্ঠানের কাছে বিক্রি করে।

### সোমবার: OIDC প্রথম, একটি রক্ষণাবেক্ষণ করা লাইব্রেরি, কঠোর আকার

2:31 যদি একজন গ্রাহক এটি চাপিয়ে দেয়, একটি রক্ষণাবেক্ষণ করা লাইব্রেরি ব্যবহার করুন, এটি প্যাচ করে রাখুন, এবং এমন বার্তা প্রত্যাখ্যান করুন যা Okta বা Google-এর পাঠানো বার্তার মতো দেখতে নয়। নিজের স্বাক্ষর চেক কখনই লিখবেন না। আড়ালে রায়।

### আড়ালে রায়: REVERT

2:43 REVERT। প্রায় পঁচিশ বছর, একটি বাগ ক্লাস যা কখনও মরে না, এবং সবাই যে সমাধানটিতে একমত তা একটি ভিন্ন প্রোটোকল। গত শনিবার আমি পাসকিগুলো খুলেছিলাম, তাই মন্তব্যে আমাকে বলুন এরপর কী খুলব। এবং আজকের জন্য এই পর্যন্তই। আমি Axrisi থেকে নিকো। দায়িত্বের সাথে একত্রিত করুন। SHIP IT।

## উৎস

- [Trail of Bits, "SAML: A fractal of bad design" (Matt Schwager, Sep 21, 2026)](https://blog.trailofbits.com/2026/09/21/saml-a-fractal-of-bad-design/) — blog.trailofbits.com
- [Hacker News thread](https://news.ycombinator.com/item?id=49806335) — news.ycombinator.com
- [Somorovsky et al., "On Breaking SAML: Be Whoever You Want to Be", USENIX Security 2012](https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/somorovsky) — www.usenix.org
- [Duo Labs, SAML vulnerabilities affecting multiple implementations (2018): https://duo.com/blog/duo-finds-saml-vulnerabilities-affecting-multiple-implementations · CERT VU#475445](https://www.kb.cert.org/vuls/id/475445) — www.kb.cert.org
- [GitHub Security Lab, "Sign in as anyone: Bypassing SAML SSO authentication with parser differentials" (Mar 12, 2025)](https://github.blog/security/sign-in-as-anyone-bypassing-saml-sso-authentication-with-parser-differentials/) — github.blog
