Yubikey

אחרי שהקשבתי לפרק בפודקסט Security now (פודקסט שווה במיוחד לכל מי שמתעניין באבטחת מחשבים), שדיבר על Yubkey, הזמנתי לי אחד מYubico, החברה החדשה שמייצרת אותם.
Yubikey, להלן יוביקי, הוא מתקן USB קטן שדומה לכרטיס זכרון (רק קצת יותר קטן), שמסוגל לייצר סיסמאות חד פעמיות בעזרתם ניתן לאמת את הזהות של מחזיק היוביקי.
הסיסמאות הן חד פעמיות, כך שגם אם מישהו מצותת לתעבורת הרשת שלכם או מתקין keylogger ומצליח לגנוב את הסיסמא, הוא לא יוכל לעשות איתה שום דבר כי היא טובה לפעם אחת בלבד.
את הסיסמא החד פעמית – One time password, להלן OTP (סחפ??) אפשר לאמת מול שרת של יוביקו (שלא צריך לדעת עליכם שום דבר), או בצורה מקומית בסעזרת API פתוח קוד שיוביקו מספקים (מאוכסן בגוגל קוד).
יוביקו מספקים גם שרת openid, שיאפשר לכם להזדהות באמצעות היוביקי שלכם מול כל שרות שתומך בopenid. מכיוון שאני מפעיל בעצמי את שרות הopenid שלי, אני מתכנן לשפצר לתוכו תמיכה ביוביקי.
מה שיפהפה ביוביקי הוא שהוא לא דורש אף תוכנה בצד הלקוח. איך קסם כזה יתכן, אתם שואלים?
פשוט מאוד, היוביקי מתפקד כמקלדת USB עם כפתור אחד. ברגע שאתם לוחצים על הכפתור, הוא משפריץ את הסיסמא החד פעמית (ששונה כמובן מלחיצה ללחיצה) לתוך שדה הטקסט שנמצא כרגע בפוקוס (אם יש כזה).
הסיסמא מורכבת מרצף אותיות אקראי למראה של 44 אותיות (!), כאשר 12 האותיות הראשונות לא משתנה ומהוות את המזהה אל היוביקי שלכם (מספר סידורי).
הנה כמה דוגמאות של סיסמאות שהיוביקי שלי הפיק:
[code]
fjjbrkcettntrcednnvjilthincecdnclchvelvlbjjh
fjjbrkcettnteinribhrhfbhktifvirfrevvcveubekd
fjjbrkcettntntjvkgtelfuilrddhujdrjlnnvkbkivv
[/code]
אפשר לראות שהמזהה שלי הוא fjjbrkcettnt, שהוא כמובן לא סוד גדול (ולמרות זאת אפשר לנחש שהמזהה שלי הוא לא בדיוק זה 🙂 )
היוביקי מחזיק מפתח סודי בתוכו, שמאפשר לו להצפין את המידע בתוך הסיסמא. הצד המוודא מפענח את הסיסמא ובודק שהתוכן שלה הגיוני (ושזו לא סיסמא שהוא כבר ראה בעבר סיסמא חדשה ממנה).
אני עדיין מנסה להבין איך להשתמש בAPI שיוביקו מספקים, זה לא אמור להיות מסובך אבל חסר לי פרט או שניים.

הצעצוע הנחמד הזה, שעוד יהיה לי שימושי בקרוב – עולה 35$ (עד עשר יחידות, מעבר לזה המחיר מתחיל לרדת).
ככה הוא נראה:
yubikey.JPG
וכה הוא נראה בתוך תקע USB, ליד DOK סטנדרטי של סאן-דיסק.
yubikey2.JPG

הניתוקים הן מהשפן

אני מחובר לאינטרנט דרך תשתית הכבלים של HOT, ואף פעם זה לא עבד לי יותר מדי טוב.
הבעיה המרכזית שלי היא ניתוקים קצרים – דקה או שתיים בדרך כלל. כל פעם שהתלוננתי הגיע טכנאי חביב, חיבר מנחת שמעלה (??) את עוצמת הדציבלים בקו, או – אם כבר יש מנחת, הוציא אותו.
המשחק בעוצמות עזר בעיקר פסיכולוגית, כי אחריו הרגשתי שאין ניתוקים, עד שקלטתי שבעצם רק נדמה לי ויש גם יש.
במשך הזמן די התרגלתי לבעיה, אבל לאחרונה המצב החריף מאוד.
לפני כחצי שנה הגדרתי את הנתב שלי לשלוח לוגים למחשב בפרוטוקול syslog. מה שאומר שיש לי לוגים של חצי השנה האחרונה מהנתב, שמתלונן בקולניות כל פעם שהוא לא מקבל תגובה מהנתב של הISP (מה שאומר בעצם שהתנתקתי).
עם הזמן התחלתי להסתמך עליו כדי לזהות שאני מנותק, וראיתי עליה משמעותית בכמות הניתוקים.
כל פעם שהתלוננתי לHOT על ניתוק, הם שלחו אותו לבדוק את מצב הנוריות של המודם, שהיו בסדר בדרך כלל כי הניתוקים היו קצרים. ברגע שהבנתי את זה, התחלתי לבדוק בעצמי וראיתי שכל פעם שאני שם לב לניתוק, המודם יודע את זה – מה שאומר ללא ספק שזו בעיה של התשתית/המודם ולא של הנתב.
אני רוצה לציין שהשרות של HOT היה טוב, למרות חוסר היכולת שלהם לפתור את הבעיה, וכל פעם שהתלוננתי הם שלחו טכנאי שהחליף מודם, שיחק בעוצמות ובאופן כללי ניסה לעזור.
הטכנאים גם הגיעו בשעות שנוחות לי (שהן די מוזרות), ובדרך כלל הגיעו בזמן.

בכל אופן, אחד הטכנאים האחרונים שהגיע ניסה להבין מאיפה בדיוק מגיעה ההזנה, ולא כל כך מצא.
זה היה הפעם הראשונה שטכנאי שם לב לזה, וזה בהחלט שימח אותו לדעת שסוף סוף הגיע טכנאי שגם חושב לפני שהוא משחק בעוצמות.
אותו טכנאי החליט שהכי פשוט יהיה להתקין חיבור חדש לכל העסק, ולעקוף את המיסתורין של "מאיפה נכנס הכבל".
גישה מצויינת לדעתי, והחלטתי שאני נותן לHOT צ'אנס לתקן את הבעיה ככה לפני שאני עובר סופית לADSL.
לפני כשבוע הגיעו צמד טכנאים שהתקינו חיבור חדש, ובינתיים, לא שמתי לב לאף ניתוק, למרות שאני עדיין רואה ניתוקים קצרים בנתב, מה שאומר שהבדיקה של הנתב לא מאוד אמינה. (יש לה false positives).

היום התקשרתי להוט כדי לסגור את העניין, מבחינתי שבוע בלי ניתוקים מורגשים זה טוב מספיק.
קיבלתי מהם חודשיים זיכוי, אבל אני בהחלט אשקול לעבור לADSL, שלפחות על פי נסיון העבר שלי היה אמין הרבה יותר.

CoreAVC

בניגוד למה שחשבתי בפוסט הזה, ביצועי הניגון של סרטים ב1080p לא מספקים על המחשב שלי גם אם אני מוריד את האיכות עם הפרמטרים שציינתי שם.
החלטתי לנסות את הקודק CoreAVC של CoreCodecs. מה שמיוחד בקודק זה שהוא מסוגל להשתמש בכמה ליבות כדי לפענח וידאו h264, ולכן לנצל יותר טוב את הכוח של המחשב.
הקודק עולה כ15$, ואפשר לנסות אותו לשבועיים.
עקרונית הוא קודק לחלונות, אבל בחור בשם אלן ניסוטה יצר את coreavc-for-linux מעטפת דקה שמדמה בשביל הקודק את מה שהוא צריך מסביבת החלונות, ויצר פטץ' לMPlayer, Xine ועוד כמה נגנים שמאפשר להשתמש בקודק הזה.
לא פיתרון נקי, אבל בטוח יותר זול מלשדרג את המערכת שוב.

אם השם של coreavc-for-linux ושל coreavc נשמע מוכר, זה כי ממש לפני חודש כתבתי פה על כך שcorecodec שלחו לגוגל דרישת סגירה של הפרוייקט coreavc-for-linux, בגיבוי חוק הDMCA האמריקאי.
גוגל הורידו את הפרוייקט, וזכו לביקורת לא מעטה.
כבר כשזה קרה כתבתי שנראה שהחברה נסוגה, ואכן הפרוייקט חזר כמה ימים אחר כך, הפעם עם ברכת CoreCodecs, שביננו – רק מרוויחה מזה מהעבודה של אלן.

למרות ההיסטוריה הלא נעימה הזו, החלטתי לנסות את CoreAVC.
ההתקנה לא טריויאלית על לינוקס בכלל, אבל מתועדת (עם כמה שגיאות) באתר הפרוייקט.
אחרי תלאות התקנה שכללו דיבוג של הקוד של הפרוייקט, גיליתי את הטעות שלי, והצלחתי להפעיל את הקודק שעובד יפה מאוד גם על המחשב החלש יחסית שיש לי בסלון.

מכיוון שהכל עובד, קניתי את הקודק.
זה לא הפיתרון הכי נקי בעולם, אבל הוא עובד והוא בטוח יותר זול מלשדרג את כל המערכת.

הגביע הקדוש בHD

המקרן הגיע אתמול.
במילה אחת, ואו.
בשתיים: שיט, ואו.

המקרן, HC4900 של מיצובישי (כן, הם עושים גם מקרנים) הוא מאסיבי יחסית למקרנים מדורות קודמים (XGA, 720p וכו'), ושוקל 5.6 ק"ג.
ככה הוא נראה, שמתי שם קופסא של No more heroes לשם הפרופורציות (וגם כי זה משחק מגניב).
חשוב לציין שהDevil ducky לא מגיע עם המקרן ;).
(אפשר להגדיל את כל התמונות בלחיצה).

נכון לכרגע העסק עדיין לא מותקן כמו שצריך, ויש בלאגן רציני של כבלי חשמל, אודיו ווידאו.
המקרן מונח על השולחן ומקרין על מסך נייד זמני שקיבלתי מאקטיבי – החנות שקניתי ממנה – עד שיגיע המסך שלי.
שימו לב שהוא מונח בגובה של בסיס המסך עליו הוא מקרין.
הדבר הזה מתאפשר תודות לתכונה בשם Lens shift, שמזיזה את העדשה ומשנה את התמונה בצורה כזו שלמרות שהמקרן לא מקרין ישר התמונה המוקרנת היא עדיין ריבועית.
המקרן הזה תומך בLens shift אנכי ואופקי, מה שאומר שאפשר לשים אותו בפינת החדר והוא עדיין יקרין תמונה מרובעת על המסך.
ברגע שאני אקבל את המסך, המתלה וכבל הHDMI באורך עשר מטר, אני אוכל לתלות את המקרן על התקרה, שם הוא ישאר עד שאני אעבור דירה.

הרזולוציה של המקרן היא 1920×1080, שהיא רזולוציה של HD מלא, כמו של סרטי Blue ray, והתמונה חדה במיוחד. אפשר לראות את זה בתמונה הבאה.
ניסיתי שהצילום יצא חד ככל האפשר כדי להעביר את החדות של התמונה המוקרנת.
התמונה קצת חתוכה בכלל בעיה בהגדרות של כרטיס המסך.

ואיך אפשר בלי להציג את הגביע הקדוש, הרי הוא מטריקס ב1920X1080?

ביצועים של פענוח וידאו 1080p בקידוד H264

התחלתי לבדוק איך המחשב בסלון מתמודד עם וידאו של 1920X1080 בקידוד H264 – זה וידאו Full HD שיש בBlueRay, וזה מה שאני ארצה להציג על המקרן (שמתמהמה קצת, אולי היום).
המחשב הוא פנטיום D במהירות שעון של 3Ghz, זכרון של 2GB וכרטיס מסך GeForce 8600 GT 512MB, לכאורה לא אמור להיות קובץ וידאו שיהיה מעבר לכוחותיו.
ניסיתי לנגן עליו עם mplayer קובץ דגימה של Matrix – שישים שניות סרט בקובץ של 70 מגה – והמחשב לא סחב אותו כמו שצריך:
הווידאו זז לאט, והסאונד יצא מסינכרון עם התמונה מהר מאוד.
מחשב שהיה פאר היצירה לפני שנתיים, לא סוחב היום משימה של ניגון וידאו. מי אומר שאין צורך במעבדים יותר חזקים?
לשם הבדיקה, ניסיתי את אותו קובץ במחשב החדש – פנטיום Core-DUO 3Ghz, זכרון 4GB וכרטיס מסך GeForce 9800 GT 512MB והוא סחב אותו יפה מאוד.
אז נראה על פניו שצריך מפלצת רצינית כדי לנגן את הקבצים האלו, יותר מהתפלצון שיש לי בסלון.
נסיון ראשון, הדרייבר של כרטיס המסך:
הבדיקה שלי היתה כשxorg, שרת הX (השרת שאחראי על מערכת החלונות והתצוגה) עבד עם הדרייבר הגנרי vesa ולא עם הדרייבר של NVidia כי היתה לי בעיה עם הדרייבר האחרון שלהם.
ניסיתי את הדרייבר nv, שהוא דרייבר פתוח קוד לכרטיסי NVIDIA שלא תומך בהאצת תלת מימד, ולא היה שיפור.
התקנתי את הדרייבר של NVIDIA במחשב בסלון (ונאלצתי להשתמש בגרסא קודמת שהתקנתי לפני כמה שבועות במחשב החדש), עדיין אין שיפור.
למרות שכרטיסי NVIDIA החדשים מגיעים עם תמיכה בפענוח קבצי וידאו בחומרה – טכנולוגיה בשם PureVideo, הדרייברים שלהם ללינוקס לא תומכים בזה, ולכן אף פרוייקט קוד פתוח ללינוקס לא משתמש ביכולת הזו של החומרה.
אז שימוש בחומרה הזו יורד מהפרק כדי להאיץ את העסק, לפחות עד שNVIDIA ישחררו דרייבר שתומך בזה.

נסיון שני, שדרוג של mplayer:
החבר'ה בערוץ הirc של mplayer נבהלו כשסיפרתי להם על איזו גרסא אני בודק:
[code]
[rsk] same mplayer version's?
[omry] hmm, sec
[rsk] also using svn generally speeds up things compared to RC2.
[rsk] especially if you are using a distro package
[omry] hmm, actually the mplayer on the slower box looks older :MPlayer 1.0rc1-4.1.2 (C) 2000-2006 MPlayer Team
[omry] compared to MPlayer dev-SVN-r25315 on the faster box
[rsk] that's ancient
[rsk] please burn it with fire
[omry] dispatching the nukes 🙂
[/code]

כדי להיות בטוח שאני מריץ את הגרסא הכי מהירה שאפשר, הסרתי את הגרסא המותקנת, הורדתי את הקוד העדכני מsvn, ובניתי אותו חיש מהר.
התקנתי, בדקתי, ועדיין העסק זז לאט מדי על המחשב בסלון.

נסון שלישי, שימוש בכמה ליבות:
זוכרים את עסק הביש שבו גוגל סגרה פרוייקט בגוגל קוד לפני כמה שבועות?
כל העסק הוא בדיוק מסביב לזה, CoreAVC הוא פרוייקט מסחרי שמאפשר שימוש בכמה ליבות כדי לפענח H264 בצורה מהירה. הפרוייקט לא תומך בלינוקס – אבל אנשים במצב דומה לשלי החליטו שהם גורמים לו לעבוד על לינוקס בדרכים עקלקלות.
בכל אופן, להתקין קוד סגור נוסף מעבר לדרייבר של NVIDIA זה דבר שהייתי רוצה להמנע ממנו, במיוחד לאור ההיסטוריה הבעייתית של של הפרוייקט.

נסיון רביעי, נגנים אחרים:
טוב, אז אולי mplayer לא כתוב הכי טוב, ונגן אחר יעשה עבודה יותר טובה.
xine בכלל לא ניגן את הקובץ.
VLC ניגן את הקובץ, אבל נראה שהוא מפיל פריימים בצורה שגורמת לווידאו להראות זוועה כשהמחשב לא סוחב אותו (מציג טוב על המחשב המהיר, קטסטרופה על האיטי).
טוב שיהיה mplayer.

נסיון חמישי ודי:
הרצתי את mplayer עם פרמטר -benchmark, והוא סיפר לי די מהר שהמחשב איטי מדי:

[code]
************************************************
**** Your system is too SLOW to play this! ****
************************************************

Possible reasons, problems, workarounds:
– Most common: broken/buggy _audio_ driver
– Try -ao sdl or use the OSS emulation of ALSA.
– Experiment with different values for -autosync, 30 is a good start.
– Slow video output
– Try a different -vo driver (-vo help for a list) or try -framedrop!
– Slow CPU
– Don't try to play a big DVD/DivX on a slow CPU! Try some of the lavdopts,
e.g. -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all.
– Broken file
– Try various combinations of -nobps -ni -forceidx -mc 0.
– Slow media (NFS/SMB mounts, DVD, VCD etc)
– Try -cache 8192.
– Are you using -cache to play a non-interleaved AVI file?
– Try -nocache.
[/code]
יופי של הודעת שגיאה.
כדי לשלול בעיה של קול או דרייבר תצוגה איטי, הרצתי את mplayer עם
[code]
mplayer -benchmark -vo null -ao null file.mkv
[/code]
מה שמריץ את הווידאו בלי סאונד ובלי תצוגה – פענוח בלבד – לא היה שיפור.

ניסיתי את ההצעה השניה:
[code]
mplayer -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all file.mkv
[/code]
פה כבר היה שיפור אדיר – הסרט רץ חלק
לא הרגשתי ירידה באיכות, למרות שאמורה להיות איזו שהיא פגיעה באיכות.

אז נראה שככה אני אריץ את הסרטים מהרזולוציה הזו לעת עתה, המפתחים של mplayer טוענים שהם משפרים את הביצועים שלו בפענוח h264 על בסיס כמעט יומי, גם בהיבט של מיקבול (שימוש בכמה ליבות) וגם בהיבט של שיוף ביטים (פענוח יותר מהיר על כל ליבה). אני אבדוק מדי פעם אם הם שיפרו מספיק כדי שאני אוכל לוותר על הפרמטר הזה.

רבולוציה ברזולוציה גבוהה

בסוף 2001 קניתי מקרן אחורי 53" של סוני, בסכום אסטרונומי במונחים של היום.
בהתחלה המקרן הוציא וואו מעוברים ושבים, והייתי מרוצה מהתמונה שלו – למרות זווית הצפיה המוגבלת, וכושר ההפרדה הנמוך של המקרן במונחים של היום.
אני לא סגור על הרזולוציה האמיתית שלו, אבל אני חושד שהיא בסביבות ה640X480 פיקסלים – לא מרשים בכלל במונחים של היום.
sony-53jpg.JPG
היום, עם סרטים באיכות HD של 1200X720, או אפילו 1920X1080, היא לא ממש מתאימה, ומזה זמן רב חשבתי לשדרג, אבל לא היה ברור לי מה אני עושה עם הפיל בסלון.
חבר קנה מקרן של היטאצ'י, ברזולוציה טבעית של 1024X768, והתמונה אצלו היתה מעולה וחדה, כשראיתי את זה, החלטתי שהזמן לתקדם הגיע ואני מוכר את הטלוויזיה.
בהתחלה חשבתי להציע אותה פה בבלוג, אבל לא הרגשתי בנוח למכור דבר כזה לאחד מקוראי היקרים, אז בחרתי לפרסם ביד שניה.
בהתחלה במחיר של 3000, מה שלא גרר אפילו טלפון אחד, אחר כך ב2000, מה שעדיין לא גרר אף טלפון, ובסוף ב1500, שלאחריו פתאום אנשים התחילו להתקשר.
עצוב למכור בסכום כזה מקרן אחורי שעלה כל כך הרבה לפני פחות משבע שנים, אבל זה מה שיש – עם השוק של היום – אפשר לקנות טלוויזיות הרבה יותר טובות במחירים די נמוכים.
היום מסרתי את הטלוויזיה לקונה, ואם הכל ילך לפי התוכנית – מחר אני אהיה הבעלים המאושר של Mitsubishi HC4900, שהוא מקרן קדמי ברזולוציה טבעית של 1080p, או במחשבית 1920X1080.
בהתחלה רציתי ללכת על מקרן 720p איכותי, אבל ההפרש במחיר בין מקרני 720p האיכותיים למקרן הזה הוא רק כ10%, אז כבר החלטתי לקנות משהו שיהיה יותר Future proof.
אני מקווה שעד סוף השבוע הכל יהיה מותקן, ואני אוכל לצפות בסרטים על מסך בגודל של כ240X135 ס"מ, שזה משהו כמו 108 אינצ'.
הרזולוציה שלו כל כך גבוהה, שהוא מתחרה רציני למסך החדש שקניתי למחשב העבודה/משחקים שלי, ואני מתפתה לנסות לשחק על המקרן, גם אם זה אומר לנייד את המחשב הראשי לסלון בשביל הבדיקה.

בינתיים התחלתי להוריד סרטים ב1080p, רק 8 ג'יגה לסרט, שווה כל ביט! 🙂