Android শংসাপত্রের স্বচ্ছতা নীতি

এই নীতি সম্পর্কে যেকোন প্রশ্ন দয়া করে CT নীতি ফোরামে পাঠান: ct-policy@chromium.org

যখন একটি সংযোগের ট্রান্সপোর্ট লেয়ার সিকিউরিটি (TLS) শংসাপত্র একটি অ্যাপে যাচাই করা হয় যা শংসাপত্রের স্বচ্ছতা বেছে নেয় , তখন এটি Android শংসাপত্র স্বচ্ছতা (CT) নীতির সাথে সম্মতির জন্য মূল্যায়ন করা হয়। যে শংসাপত্রগুলির সাথে স্বাক্ষরিত শংসাপত্র টাইমস্ট্যাম্প (SCTs) রয়েছে যা এই নীতিকে সন্তুষ্ট করে সেগুলিকে CT অনুগত বলা হয়৷

CT কমপ্লায়েন্স একটি সার্টিফিকেট এবং সাথে থাকা SCT-এর সেট দ্বারা অর্জন করা হয় যা এই নীতিতে সংজ্ঞায়িত শংসাপত্রের বৈধতার সময় জনপ্রিয় TLS লাইব্রেরি (Android-এর অন্তর্নির্মিত Conscrypt সহ) দ্বারা প্রয়োগকৃত প্রযুক্তিগত প্রয়োজনীয়তার একটি সেট পূরণ করে।

সিটি লগ স্টেটস

অ্যান্ড্রয়েডে CT সম্মতি নির্ধারণ করা হয় CT লগ থেকে SCT মূল্যায়ন করে এবং নিশ্চিত করা হয় যে এই লগগুলি চেক করার সময় সঠিক অবস্থায় আছে। একটি সিটি লগ থাকা সম্ভাব্য অবস্থার সেট হল:

  • Pending
  • Qualified
  • Usable
  • ReadOnly
  • Retired
  • Rejected

Android-এ CT কমপ্লায়েন্সের প্রয়োজনীয়তা বোঝার জন্য, এই রাজ্যগুলির সংজ্ঞা, প্রতিটি রাজ্যে লগের প্রয়োজনীয়তা, সেইসাথে কীভাবে এই রাজ্যগুলি Android আচরণকে প্রভাবিত করে তা Chrome-এর ডকুমেন্টেশনের CT Log Lifecycle Explainer- এ বিশদভাবে বর্ণনা করা হয়েছে।

সিটি কমপ্লায়েন্ট সার্টিফিকেট

একটি TLS শংসাপত্র হল CT কমপ্লায়েন্ট যদি এটির সাথে SCT-এর একটি সেট থাকে যা পরে সংজ্ঞায়িত মানদণ্ডগুলির মধ্যে অন্তত একটিকে সন্তুষ্ট করে, Android এ SCTগুলি কীভাবে বিতরণ করা হয় তার উপর নির্ভর করে। অ্যান্ড্রয়েডের সিটি-এনফোর্সিং অ্যাপ্লিকেশানগুলিতে, সমস্ত সর্বজনীনভাবে-বিশ্বস্ত TLS শংসাপত্রগুলিকে সফলভাবে যাচাই করার জন্য CT অনুগত হতে হবে; যাইহোক, যে শংসাপত্রগুলি CT-এ লগ করা হয়নি বা অপর্যাপ্ত SCT আছে সেগুলিকে ভুল-ইস্যু করা বলে মনে করা হয় না৷

CT কমপ্লায়েন্সের জন্য একটি শংসাপত্রের মূল্যায়ন করার সময়, Android কতগুলি SCT উপস্থিত রয়েছে, SCT জারি করা CT লগ কে পরিচালনা করে এবং SCT ইস্যু করা CT লগটি কী অবস্থায় ছিল, শংসাপত্রটি যাচাই করার সময় এবং যে সময়ে CT লগ দ্বারা SCT তৈরি করা হয়েছিল, উভয়ই সহ বিভিন্ন বিষয় বিবেচনা করে৷

Android-এ SCTগুলি কীভাবে উপস্থাপন করা হয় তার উপর নির্ভর করে, নিম্নলিখিত মানদণ্ডগুলির মধ্যে একটি পূরণ করে CT সম্মতি অর্জন করা যেতে পারে:

এমবেডেড SCTs:

  1. একটি CT লগ থেকে কমপক্ষে একটি এমবেডেড SCT যা চেকের সময় Qualified , Usable , বা ReadOnly ছিল; এবং
  2. ন্যূনতম N স্বতন্ত্র CT লগ থেকে এমবেডেড SCT আছে যেগুলি চেকের সময় Qualified , Usable , ReadOnly , বা Retired ছিল, যেখানে N কে নিম্নলিখিত সারণীতে সংজ্ঞায়িত করা হয়েছে; এবং
  3. SCT-এর সন্তোষজনক প্রয়োজনীয়তার মধ্যে 2, Android দ্বারা স্বীকৃত স্বতন্ত্র CT লগ অপারেটর থেকে কমপক্ষে দুটি SCT জারি করা আবশ্যক; এবং
  4. SCT-এর সন্তোষজনক প্রয়োজনীয়তার মধ্যে 2, অন্তত একটি SCT অবশ্যই একটি লগ থেকে জারি করতে হবে যা Android দ্বারা RFC 6962-সঙ্গী হিসাবে স্বীকৃত৷
সার্টিফিকেট লাইফটাইম স্বতন্ত্র CT লগ থেকে SCT এর সংখ্যা
<= 180 দিন 2
> 180 দিন 3

OCSP বা TLS এর মাধ্যমে SCT প্রদান করা হয়:

  1. একটি CT লগ থেকে কমপক্ষে দুটি SCT যা চেকের সময় Qualified , Usable , বা ReadOnly ছিল; এবং
  2. SCT-এর সন্তোষজনক প্রয়োজনীয়তার মধ্যে 1, Android দ্বারা স্বীকৃত স্বতন্ত্র CT লগ অপারেটর থেকে কমপক্ষে দুটি SCT জারি করা আবশ্যক; এবং
  3. SCT-এর সন্তোষজনক প্রয়োজনীয়তাগুলির মধ্যে 1, Android-এর দ্বারা RFC6962-সঙ্গী হিসাবে স্বীকৃত একটি CT লগ থেকে কমপক্ষে একটি SCT জারি করতে হবে৷

এমবেডেড SCT এবং OCSP বা TLS ব্যবহার করে বিতরণ করা উভয়ের জন্য, লগ অপারেটরের স্বতন্ত্রতা log_list.json- এর অপারেটর বিভাগের মধ্যে পৃথক এন্ট্রি থাকা হিসাবে সংজ্ঞায়িত করা হয়।

বিরল পরিস্থিতিতে যে একটি CT লগ তার জীবদ্দশায় অপারেটরকে পরিবর্তন করে, CT লগগুলিতে ঐচ্ছিকভাবে previous_operators একটি তালিকা থাকে, যার সাথে চূড়ান্ত টাইমস্ট্যাম্পটি থাকে যে এই লগটি পূর্ববর্তী অপারেটর দ্বারা পরিচালিত হয়েছিল। বিদ্যমান সার্টিফিকেট ভাঙতে লগ অপারেটর পরিবর্তন প্রতিরোধ করার জন্য, প্রতিটি SCT এর লগ অপারেটর SCT ইস্যু করার সময় অপারেটর হিসাবে নির্ধারিত হয়, previous_operators টাইমস্ট্যাম্পের সাথে SCT টাইমস্ট্যাম্প তুলনা করে, যদি উপস্থিত থাকে।

গুরুত্বপূর্ণ নোট

যতক্ষণ না হ্যান্ডশেকে উপস্থাপিত SCT-এর কিছু সংমিশ্রণ দ্বারা পূর্ববর্তী CT সম্মতির মানদণ্ডগুলির একটি পূরণ করা হয়, অতিরিক্ত SCT, SCT-এর স্থিতি নির্বিশেষে, একটি শংসাপত্রের CT কমপ্লায়েন্স স্থিতিকে ইতিবাচক বা নেতিবাচকভাবে প্রভাবিত করবে না।

একটি শংসাপত্রের CT কমপ্লায়েন্সে অবদান রাখার জন্য, লগের Retired টাইমস্ট্যাম্পের আগে একটি SCT জারি করা আবশ্যক, যদি একটি বিদ্যমান থাকে। CT লগ Retired টাইমস্ট্যাম্পের বিপরীতে CT সম্মতি মূল্যায়ন করতে উপস্থাপিত সমস্ত SCT-এর মধ্যে অ্যান্ড্রয়েড প্রাচীনতম SCT ব্যবহার করে৷ শংসাপত্র লগিং অনুরোধ জমা দেওয়ার প্রক্রিয়ার সময় একটি CT লগ অবসরপ্রাপ্ত হয়ে যায় এমন প্রান্তের ক্ষেত্রের জন্য এটি অ্যাকাউন্ট।

"এম্বেডেড SCT" মানে শংসাপত্রের মধ্যেই SignedCertificateTimestampList X.509v3 এক্সটেনশন ব্যবহার করে বিতরণ করা একটি SCT। অনেক TLS সার্ভার OCSP স্ট্যাপলিং বা TLS এক্সটেনশন সমর্থন করে না, তাই CA গুলিকে Android-এ সফল বৈধতা বা EV চিকিত্সা নিশ্চিত করার জন্য জারি করা শংসাপত্রগুলিতে SCT এম্বেড করার জন্য প্রস্তুত থাকতে হবে।

অ্যান্ড্রয়েডে সিটি লগগুলি কীভাবে যুক্ত করা হয়

কীভাবে CT লগগুলি Qualified হয়ে উঠতে পারে, সেইসাথে কোন পরিস্থিতিতে তাদের Retired হতে পারে তার মানদণ্ডগুলি Chrome CT লগ নীতিতে পাওয়া যাবে৷

সিটি এনফোর্সমেন্ট টাইমআউট

প্রতিদিন, Google একটি নতুন CT লগ তালিকা প্রকাশ করে যাতে একটি নতুন log_list_timestamp থাকে। দিনে একবার, Android ডিভাইসগুলি যাচাইকরণের উদ্দেশ্যে এই তালিকার সর্বশেষ সংস্করণটি ডাউনলোড করার চেষ্টা করবে৷ যে কোনো সময়ে, যদি ডিভাইসে কোনো লগ তালিকা পাওয়া না যায় বা লগ তালিকার টাইমস্ট্যাম্প 70 দিনের বেশি পুরানো হয়, তাহলে CT এনফোর্সমেন্ট অক্ষম করা হবে। এই টাইমআউট সিটি ইকোসিস্টেমকে একটি গুরুত্বপূর্ণ আশ্বাস প্রদান করে যে নতুন CT লগগুলি Qualified হওয়ার পরে একটি নির্দিষ্ট সময়ের মধ্যে নিরাপদে ব্যবহারযোগ্য-এ স্থানান্তর করতে সক্ষম হয়৷