The Layered Subset Difference Broadcast Encryption Scheme סכמת שידור LSD - PowerPoint PPT Presentation

paul
the layered subset difference broadcast encryption scheme lsd n.
Skip this Video
Loading SlideShow in 5 Seconds..
The Layered Subset Difference Broadcast Encryption Scheme סכמת שידור LSD PowerPoint Presentation
Download Presentation
The Layered Subset Difference Broadcast Encryption Scheme סכמת שידור LSD

play fullscreen
1 / 34
Download Presentation
The Layered Subset Difference Broadcast Encryption Scheme סכמת שידור LSD
445 Views
Download Presentation

The Layered Subset Difference Broadcast Encryption Scheme סכמת שידור LSD

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. The Layered Subset Difference Broadcast Encryption Schemeסכמת שידור LSD

  2. Introduction

  3. סכמה SD בשביל לסלק r משתמשים רעים אורך ההודעה - O(r) חישובי המשתמש - O[log(n)] זיכרון המשתמש - O[log2(n)] r – מספר משתמשים הרעים n – מספר משתמשים סכמה LSD בשביל לסלק r משתמשים רעים אורך ההודעה - O(r) חישובי המשתמש - O[log(n)] זיכרון המשתמש-O[log1+ε(n)] לכל ε > 0 r – מספר משתמשים הרעים n – מספר משתמשים השוואה

  4. סכמות שידור מוצפן מאפשרות לשדר מידע מוצפן לקבוצה גדולה של משתמשים כך שרק תת קבוצה מסוימת תוכל לפענח אותו. • מערכות TV (YES , ערוצי זהב) • הפצת מידע סודי על CD או DVD • Internet multicasting של ווידאו מוסיקה ופרסומים • הפצת קטלוגים מסחריים שימושים:

  5. דרישות המערכת • כל משתמש מקבל אוסף מפתחות סימטריים • מפתחות של משתמש הם רב שימושיים • מפתחות האלה יכולות להגדיר כל תת קבוצה של משתמשים טובים • מפתחות לא משתנים כאשר מישהו עוזב או נכנס למערכת • כל משתמש יכול לפענח הודעה לבד • כל אוסף של משתמשים רעים אינם יכולים לפענח הודעה

  6. רעיון מרכזי • רעיון מרכזי של כל סכמת שידור מוצפן הוא לייצג את המשתמשים הטובים כאיחוד של S תתי קבוצות • סכמות שונות נבדלות בבחירה של תתי קבוצות האלה • לכל קבוצה יש מפתח שונה • משתמש יודע את המפתח אם ורק אם הוא שייך לקבוצה • המרכז מצפין את המפתח של התוכנית S פעמים תחת המפתחות של כל תתי קבוצות האלה

  7. הגדרה • יהי i קדקוד כלשהו בעץ ו- j צאצא של i אזי Si,jזה אוסף העלים אשר צאצאים של i אבל לא צאצאים של j • אם i = j אז Si,j ריק • מבט אחר ל – Si,j : זה אוסף תתי עצים שיורדים ממסלול מ- i ל – j

  8. דוגמה i j Si,j

  9. סכמה SD מקורית

  10. אלגוריתם חלוקת מפתחות • בשלב אתחול מגדירים עץ בינארי עם N עלים שקשורים למשתמשים • לכל קודקוד נותנים Label בעל M ביטים אקראית • מכל קודקוד h שנמצא מתחת ל – i מפעילים את פונקציה חד כיוונית G שמרחיבה את Labelhל – 3M ביטים , כאשר M ביטים שמאליים נותנים לבן שמאלי j של h בתור Labeli,jנוסף , M ביטים ימניים לבן ימני k בתור Labeli,kנוסף ו- M ביטים האמצעים נותנים ל - h בתור מפתח לקבוצה Si,h • חוזרים רקורסיבית עם כל צאצא של i • חוזרים לאותו תהליך עבור כל קודקוד i שבעץ

  11. לכמה קבוצות Si,jמשתמש U שייך ? • U שייך לכל קבוצות Si,jאשר i אב קדמון של U ו- j הוא במרחק 1 ממסלול מ- i ל- j • כמה זוגות (i,j) כאלה קיימים ל- U מסוים • בוחרים את i ב- O[log(n)] פעמים , ולכל i בוחרים את j גם ב- O[log(n)] פעמים : סה"כ מקבלים O[log2(n)] קבוצות Si,j • U צריך לדעת Labels של כל אחת מהקבוצות האלה , כי הוא שייך לכל הקבוצות האלה

  12. אלגוריתם סילוק משתמשים רעים • כל עוד קיימים לפחות 2 קודקודים מסומנים בצע : • בחר תת עץ קטן ביותר שמכיל אותם וסמן את שורשיו ב- V • אסף לכיסוי קבוצות Sk,lו- Sp,qכאשר k הוא בן שמאלי של V ו- l הוא קודקוד מסומן בתת עץ ששורשיו k ו- p הוא בן ימני של V ו- q הוא קודקוד מסומן בתת עץ ששורשיו p • מחק מהעץ כל קודקודים מתחת ל- V וסמן את V • חזור לתהליך עד שהשאר קודקוד אחד מסומן • אם נשארנו עם שורש של כל עץ מסומן אז סיימנו אחרת אוסף לכיסוי קבוצה Sr,vכאשר r זה שורש של העץ ו- v זה קודקוד מסומן היחיד שנשאר וסיים

  13. הרצת אלגוריתם מסומנים כיסוי

  14. סיכום • בכל שלב אנו בוחרים לכל היותר 2 קבוצות ומקטינים את מספר הקודקודים מסומנים ב- 1 • יש r שלבים כאשר r זה מספר המשתמשים הרעים • לכן בשלב הלפני האחרון בחרנו לכל היותר 2r-2 קבוצות ובשלב האחרון בחרנו לכל היותר קבוצה אחת לכן סה"כ 2r-1 קבוצות ז"א אורך ההודעה O(r) • כל משתמש צריך לזכור O[log2(n)]Labels

  15. סכמה LSD בסיסית

  16. Lemma • אם i,k,j קודקודים שמופיעים בסדר הזה על המסלול כלשהו מ- שורש ל- עלה אזי Si,jיכול להיות מוגדר כ- איחוד זר באופן הבא : Si,j = Si,k + Sk,j i k j Si,k Sk,j

  17. רעיון מרכזי • אנו נאלץ את קודקודים i ו- j להיות ברמות מסוימות של העץ וכך נקבל קבוצות Si,jמיוחדות • נגדיר רמות מסוימות בעץ שנמצאים בגבהים k*log½(n) לכל k = 1…log½(n) כ- רמות מיוחדות וגם שורש נמצא ברמה מיוחדת • לכן ישנם log½(n) רמות מיוחדות שמרוחקים במרחק log½(n) אחד מהשני • אוסף של רמות שנמצאים בין הרמות מיוחדות שכנים (כולל) נקרא שיכבה

  18. הגדרה • Si,jהיא קבוצה מיוחדת אם היא לא ריקה ו- או ש- i נמצא ברמה מיוחדת או ש- i ו- j נמצאים באותה שיכבה • אנו נחליף כל קבוצה Si,j של סכמה SD בשתי קבוצות מיוחדות כך ש- Si,j = Si,k + Sk,j ו- Si,k , Sk,j הם קבוצות מיוחדות • אנו יכולים לעשות זאת אודות הלמה הבאה

  19. Lemma • כל קבוצה לא ריקה Si,j היא קבוצה מיוחדת או איחוד זר של שתי קבוצות מיוחדות • Si,j אינה מיוחדת , אבל Si,j = Si,k + Sk,j • Si,k ו- Sk,j מיוחדות , כי i ו- k באותה שיכבה ו- k ברמה מיוחדת רמה מיוחדת i רמה מיוחדת k j

  20. Lemma • כל משתמש צריך לדעת O[log3/2(n)]Labels הוכחה • לכמה קבוצות מיוחדות Si,j משתמש u יכול להיות שייך ? • לקבוצות מיוחדות Si,j כך ש- i הוא אב קדמון של u ו- j הוא במרחק 1 ממסלול מ- i ל- u • בכל רמה של העץ קיים i ו- j כזה יחיד , כי קיים רק מסלול אחד משורש ל- u ו- i הוא קודקוד כלשהו במסלול הזה • בשביל לספור קבוצות מיוחדות Si,j ש- u שייך אליהם נתבונן בשני מקרים של קבוצה מיוחדת :

  21. המשך ההוכחה • i,j באותה שיכבה: בכל שיכבה יש log½(n) רמות , לכן מספר זוגות קודקודים (i,j) ששייכים לשכבה אחת הוא O[(log½(n))2] = O[log(n)] ויש סה"כ log½(n) שכבות ולכן מספר קבוצות מיוחדות Si,j מהצורה הזאת הוא O[log3/2(n)] • i ברמה מיוחדת: לכל i כזה אפשר לבחור O[log(n)]j - ים מתחתיו ויש סה"כ log½(n) רמות מיוחדות כלומר i - ים כאלה לכן מספר קבוצות מיוחדות Si,j מהצורה הזאת הוא גם O[log3/2(n)]

  22. סיכום • בחירה של מרחק s = log½(n) בין רמות מיוחדות היא בחירה אופטימאלית , כי לכל s מספר קבוצות מיוחדות Si,j שכוללות את u הוא O[s2×(log(n)/s)+(log(n)×log(n)/s)] ואם עושים נגזרת לפי s ומשווים ל- 0 אז מקבלים s = log½(n) ונגזרת שנייה היא חיובית לכן עבור s כזה מספר הקבוצות מיוחדות הוא מינימאלי • משתמש u צריך לדעת Labels של כל הקבוצות מיוחדות Si,j שהוא שייך אליהם והוכחנו שישנם O[log3/2(n)] קבוצות כאלה • בסכמה SD מספר קבוצות Si,j בכיסוי היה לכל היותר 2r-1 וכל אחת מהן בסכמה LSD מוחלפת לכל היותר בשתי קבוצות מיוחדות , לכן מספר קבוצות בכיסוי LSD הוא לכל היותר 4r-2 ז"א אורך הודעה גם O(r)

  23. סכמה LSD כללית

  24. Lemma • יהיו i , k1 , k2 , …… , kd-1 , j קודקודים שמופיעים בסדר הזה (לוו דווקא ברצף הזה) על המסלול כלשהו משורש לעלה אזי Si,j = Si,k1 + Sk1,k2 + … + Skd-1,j • אנו נציג כל קבוצת SDSi,jכאיחוד של לכל היותר d קבוצות LSD

  25. רעיון מרכזי • סכמה שלנו צריכה לעמוד בשני תנאים הבאים : • קבוצות Si,j הם קבוצות כך ש- j הוא צאצא של I , נובע לפי Lemma האחרונה • אם משתמש יודע Lable של Si,j אז הוא גם צריך לדעת Lables של כל קבוצות Si,k כאשר k הוא בין i ל- j נניח שמשתמש (כחול) יודע Lable של Si,j אבל לא יודע Lable של Si,k אזי בשביל לסלק שני משתמשים (אדומים) משתמש (כחול) צריך לדעת Lable של Si,k והוא לא יודע אותו (מהנחה) אז הוא לא יוכל לפענח את ההודעה i k j

  26. מימוש של סכמה • אנו נציג כל רמה בעץ ע"י מספר בעל d ספרות בבסיס b = log1/d(n) : שורש הוא ברמה 00...0 , בנים שלו הם ברמה 01...0 וכך הלה • אנו נגדיר קבוצות מיוחדות Si,j שלנו בצורה הבאה : • נניח ש- i הוא ברמה xa0 כאשר a היא ספרה הכי ימנית ששונה מ- 0 ו- x הוא רצף שרירותי של ספרות ו- 0 הוא רצף של אפסים • אזי j יכול להיות רק מהצורה x+100 או מהצורה xby כאשר b>a ו- y הוא רצף שרירותי באותו גודל כמו 0

  27. דוגמא • אנו נציג קבוצה S825917,864563 כאיחוד של 4 קבוצות מיוחדות בבסיס 10 , שמו לב כאן d = 6 לכן ההצגה צריכה להיות עד 6 קבוצות מיוחדות • 825917 → 825920 → 826000 → 830000 → 864563 • i k1 k2 k3 j • אזי Si,j = Si,k1 + Sk1,k2 + Sk2,k3 + Sk3,j • 3 קבוצות ראשונות הם מהצורה ראשונה וקבוצה אחרונה מהצורה שנייה • נשים לב שסכמה LSD בסיסית היא מקרה פרטי של LSD כללית עבור d = 2 וכל רמה שמסתיימת ב- 0 היא רמה מיוחדת לכן יש log½(n) רמות מיוחדות

  28. סיכום • בשביל לספור כמה קבוצות מיוחדות משתמש צריך לזכור אנו נספור בכמה אפשרויות ניתן ליצור קבוצה מיוחדת • מיקום של ספרה a ניתן לבחור ב- d אפשרויות ולכל אפשרות כזאת ניתן לבחור d – 1 ספרות של x ו- y ב- bd-1 אפשרויות ונשאר לבחור שתי ספרות a ≤ b ב- b2/2 אפשרויות , ובגלל ש- b = log1/d(n) נקבל בסה"כ O[d×bd+1] = O[d×log1+1/d(n)] אפשרויות אבל d הוא קבוע לכן בסה"כ נקבל O[d×log1+1/d(n)] = O[log1+ε(n)] עבור כל ε > 0 וזה חסם על כמות Labels כל משתמש צריך לזכור • בגלל שחילקנו כל קבוצת SD ל- d קבוצות LSD ובסכמה SD היו O[2r-1] קבוצות בכיסוי לכן כאן נקבל O[d×(2r-1)] = O(r) קבוצות לכן אורך הודעה נשאר O(r) • הוכיחו שסכמה הזאת נותנת תוצאה אופטימאלית

  29. הכללה : עצי IE

  30. רעיון מרכזי • בסכמות שידור רגילות סיבוכיות שלהם תלויה בגודל של קבוצת משתמשים רעים • בעצי IE סיבוכיות תלויה בכמות תנאיי ההכלה ודחייה (Inclusion Exclusion – IE) • כל קודקוד בעץ או שלא מסומן או מסומן ב- "+" או "-" • שורש של העץ מסומן תמיד • במסלול כלשהו משורש לעלה סימנים מתחלפים , אם יש שני סימנים עוקבים זהים אזי התחתון מתבטל • עצי IE זו שיטה נוחה להציג תתי קבוצות של משתמשים אם מייחסים משתמשים לעלים של העץ לפי כלל מסוים (לפי מיקום הגיאוגראפי , סוג של המינוי , סוג של כרטיס , התמחות , ...)

  31. דוגמא + - - + - + + -

  32. אלגוריתם סילוק משתמשים רעים • כל עוד קיימים קודקודים מסומנים ב- "+" בצע : • מצא קודקוד i כזה הכי נמוך בעץ • אם קודקודים של תת עץ מתחת ל- i לא מסומנים אזי : א. אם i הוא שורש של העץ אז סיימנו ב. אחרת אסף לכיסוי קבוצה Sparent(i),sibling(i) • אם קודקודים של תת עץ מתחת ל- i מסומנים אזי בצע אלגוריתם סילוק משתמשים רעים של סכמה SD או LSD לתת עץ ששורשיו i • מחק כל סימנים של תת עץ הזה כולל סימן "+" של i • חזור לתהליך עד שהשאר "+" אחד שבשורש

  33. כמה קבוצות Si,j ישנם בכיסוי ? • לכל קודקוד i מסומן ב- "+" או שאנו מוסיפים קבוצה אחת (אם i הוא מסומן יחיד בתת עץ שלו) או מוסיפים לכל היותר 2riקבוצות (בסכמה SD) או 4ri(בסכמה LSD) , כאשר riזה מספר קודקודים מסומנים ב- "-" בתת עץ של i • לכן מספר קבוצות Si,jבכיסוי הוא O[2M+P] (אם משתמשים ב- SD) כאשר M זה מספר קודקודים מסומנים ב- "-" בעץ כולו ו- P זה מספר קודקודים מסומנים ב- "+" בעץ וחסם הזה הוא בעצם חסם על אורך ההודעה שמשדרים • אם משתמשים באלגוריתם סילוק משתמשים רעים של סכמה LSD אזי אורך הודעה הוא O[4M+P] , כי כל קבוצת SD מוחלפת בשתי קבוצות LSD

  34. The End