Netflix သည် FreeBSD kernel အတွက် TLS အကောင်အထည်ဖော်မှုဆိုင်ရာ ပြင်ဆင်မှုများကို ထုတ်ပြန်ခဲ့သည်။

Netflix ကုမ္ပဏီ အကြံပြုထားသည်။ TCP sockets များအတွက် ကုဒ်ဝှက်ခြင်းစွမ်းဆောင်ရည်ကို သိသာထင်ရှားစွာ တိုးမြှင့်ပေးနိုင်သော TLS (KTLS) ၏ FreeBSD kernel-level အကောင်အထည်ဖော်မှုကို စမ်းသပ်ရန်အတွက်။ write၊ aio_write နှင့် sendfile လုပ်ဆောင်ချက်များကို အသုံးပြု၍ socket သို့ ပေးပို့သော TLS 1.0 နှင့် 1.2 ပရိုတိုကောများကို အသုံးပြု၍ ပို့လွှတ်သော ဒေတာများ၏ ကုဒ်ဝှက်ခြင်းကို အရှိန်မြှင့်ပေးသည်။

Kernel အဆင့်သော့လဲလှယ်ခြင်းကို ပံ့ပိုးမထားပါ။ ချိတ်ဆက်မှုကို အသုံးပြုသူနေရာ၌ ဦးစွာတည်ဆောက်ပြီး ညှိနှိုင်းရပါမည်။ sockets များအတွက် ချိတ်ဆက်မှုညှိနှိုင်းရေးလုပ်ငန်းစဉ်အတွင်း ရရှိသော session key ကို kernel သို့လွှဲပြောင်းရန်၊ အသက်သွင်းပြီးနောက် TCP_TXTLS_ENABLE ရွေးချယ်ခွင့်ကို ထည့်သွင်းခဲ့ပြီး၊ ၎င်းကို အသက်သွင်းပြီးနောက် socket သို့ပေးပို့သည့်ဒေတာအားလုံးကို သတ်မှတ်ထားသောသော့ကိုအသုံးပြု၍ TLS ဖရိန်များတွင် ထုပ်ပိုးမည်ဖြစ်သည်။ ဝန်ဆောင်မှုစာတိုများ ပေးပို့ရန်၊ ဥပမာအားဖြင့် ချိတ်ဆက်မှုတစ်ခုကို ညှိနှိုင်းရန်၊ သင်သည် TLS_SET_RECORD_TYPE မှတ်တမ်းအမျိုးအစားဖြင့် sendmsg လုပ်ဆောင်ချက်ကို အသုံးပြုသင့်သည်။

TLS frames များကို စာဝှက်ခြင်း၏ အဓိကနည်းလမ်းနှစ်ခုကို ပံ့ပိုးထားသည်- software နှင့် ifnet (ကွန်ရက်ကတ်များ၏ ဟာ့ဒ်ဝဲအရှိန်မြှင့်ခြင်းကို အသုံးပြု)။ နည်းလမ်းကို အသုံးပြု၍ ရွေးချယ်ဆောင်ရွက်သည်။
socket ရွေးချယ်မှုများ TCP_TXTLS_MODE။ ဆော့ဖ်ဝဲလ်နည်းလမ်းသည် ကုဒ်ဝှက်ခြင်းအတွက် မတူညီသော backend များကို ချိတ်ဆက်နိုင်စေပါသည်။ ဥပမာအနေဖြင့်၊ OpenCrypto မူဘောင်ကိုအခြေခံ၍အကောင်အထည်ဖော်ထားသော AES-GCM အတွက် ပံ့ပိုးမှုဖြင့် ktls_ocf.ko နောက်ခံကို ထုတ်ဝေလိုက်ပါပြီ။ kern.ipc.tls.* ဌာနခွဲအတွင်း စီမံခန့်ခွဲမှုအတွက် sysctls အများအပြားကို ကမ်းလှမ်းထားသည်။ kernel ကိုတည်ဆောက်သောအခါ၊ TLS ပံ့ပိုးမှုကို KERN_TLS ရွေးချယ်မှုကို အသုံးပြု၍ ဖွင့်ထားသည်။

source: opennet.ru

မှတ်ချက် Add