WebUSB : راهکار جدید گوگل برای تعامل بین وبسایتها
بر اساس خبر منتشر شده توسط وبسایت سافتپدیا، دو تن از توسعهدهندگان نرم افزاری شرکت گوگل به نامهای Reilly Grant و Ken Rockot نسخه غیررسمی (البته در حال حاضر) پروژه جدیدی را ارائه کردهاند که در قالب آن راهکاری برای برقراری ارتباط میان دستگاههای الکترونیکی مجهز به یواسبی با صفحات وب، تشریح شده است.
طرح WebUSB API در واقع رابط نرمافزاری ویژهای را عرضه میکند که برقراری ارتباط میان سرویسهای وب و دستگاههایی با توانایی استفاده از USB را امکانپذیر میسازد.
این رابط کاربری نرمافزاری، تنها به آدرسدهی درایورهای ذخیرهسازی یواسبی اقدام نکرده و تمامی دستگاههایی که قابلیت اتصال به درگاههای یواسبی را دارند (از صفحهکلید تا تجهیزات پیشرفته برپایه اینترنت اشیا) پشتیبانی خواهد کرد.
در نظر داشته باشید که WebUSB قرار نیست راهکاری عمومی برای ارتباط هر صفحه وب با دستگاههای یواسبی ایجاد کند بلکه نقش آن، بیشتر سادهسازی این فرایند است تا همهگیر کردن آن. توسعهدهندگان این راهکار نرمافزاری عنوان داشتهاند این API در واقع فناوری استانداردی را ایجاد خواهد کرد که شرکتهای عرضه کننده مرورگرها میتوانند آنرا در محصولات خود بهکاربسته و ارتباطاتی ساده را امکانپذیر سازند. با استفاده از این رابط نرمافزاری، توانایی برای ایجاد بستههای توسعه نرمافزاری جاوااسکریپت با پشتیبانی از پلتفرمهای مختلف نیز ایجاد خواهد شد.
امنیت و حریم خصوصی؛ نگرانیهای جدی و همیشگی
اگرچه اجرای این طرح در نگاه اول ساده بهنظر میرسد اما نگرانیهای زیادی در خصوص امنیت و حریم خصوصی کاربران وجود دارد. از آنجایی که دستگاههای یواسبی و رایانهها بهطور خودکار به یکدیگر اعتماد میکنند، توسعهدهندگان قصد دارند سیستمی ارائه دهند که شبیهسازی ویژهای از قابلیت بهاشتراکگذاری منابع و محتویات استفاده شده در مرورگرها (بهمنظور جلوگیری از دسترسی به منابع و کدهای صفحات) در صورت رویارویی با درخواست اطلاعات از دامینهایی بهجز آنچه در حال حاضر مورد استفاده قرار میگیرد را برعهده خواهد داشت.
در واقع، در صورت عدم پیشبینی نکات امنیتی، نفوذگران میتوانند با نوشتن کدهای مخرب از رابط نرمافزاری WebUSB بهمنظور اسکن کردن رایانه کاربران استفاده کنند. پروتکلهای امنیتی WebUSB با هر دستگاه مجهز به یواسبی به عنوان منبعی مستقل و متفاوت تعامل دارند و در قالب رابط نرمافزاری ویژه نیز نیاز به مشخص کردن این نکته خواهد بود که چه دستگاههایی، دسترسی به چه قسمتهایی خواهند داشت و در نهایت نیز هشداری بهمنظور تایید کاربر با هدف اجازه دادن به سایت بهمنظور حضور یک دستگاه در شبکه و امکان استفاده از آن صادر خواهد شد.
مثالی ساده از نحوه استفاده از WebUSB
بهمنظور تشریح هر چه بهتر این مفهوم جدید، بد نیست نگاهی به یک مثال ساده داشته باشیم. فرض کنید مالک سایت بهگونهای برنامهریزی کرده که پشتیبانی از پرینت سهبعدی با فشردن کلیدهای CTRL+Alt+P توسط کاربر، فراهم شود. در این صورت او تنها نیاز به استفاده از یک کدنویسی مخفی و کد عرضه شده توسط شرکت سازنده پرینتر سهبعدی خواهد داشت.
اگر مرورگر کاربر از WebUSB API پشتیبانی کند، کد جاوا اسکریپت موجود در چارچوب یادشده، هشداری را بهمنظور امکان دسترسی به پرینتر سهبعدی پیش روی کاربر قرار میدهد. از آنجایی که امکان تبادل فرامین جاوا اسکریپت میان سایت و چارچوب مشخص شده توسط شرکت سازنده پرینتر سهبعدی وجود دارد، میتوان دستورالعملها را از سایت به پرینتر ارسال کرد.
سایت میتواند تاییدیه دسترسی کاربر به رایانهاش را اخذ کند و حتی مشخص کند چه دستورالعملهایی بر روی رایانه او اجرا خواهند شد. این دقیقا راهکاری است که در قالب مجوزهای سیستمعامل اندروید هم شاهد هستیم.
بدنیست بدانید راهکار مورد استفاده بهمنظور طراحی WebUSB API بهگونهای است که دستگاههای مجهز به یواسبی بدون نیاز به فیرمویر خاصی میتوانند از این قابلیت استفاده کنند.
WebUSB API در حال حاضر در وبسایت WICG ( به آدرس https://wicg.github.io/webusb/) بهمنظور بررسی هر چه بیشتر توسعهدهندگان و سازندگان نرمافزاری و سختافزاری در دسترس قرار گرفته است.
منبع : آی تی ایران