科普 | API安全性的基礎知識
本文是一系列文章的第一篇,介紹和解釋了軟件編程,操作和保護參與者的應用程序編程接口(API)安全威脅,挑戰(zhàn)和解決方案。
API安全基礎
研究各種API安全性替代方案可能會引起混淆,即使是經(jīng)驗豐富的專家也是如此。本系列文章旨在幫助所有類型的讀者更好地了解保護API免受網(wǎng)絡安全風險的各種現(xiàn)代方法的利弊。該材料旨在幫助企業(yè)安全和軟件開發(fā)團隊開發(fā)和維護一致的保護理念。
目標讀者包括每天依賴和使用API的軟件開發(fā)人員以及可能對組織中的API安全負責的技術經(jīng)理。但是,目標讀者還包括技術人員,他們幾乎沒有使用API的經(jīng)驗,但是仍然對該重要問題的安全性感興趣。我們嘗試以每種類型的閱讀器都可以訪問的方式描述API安全性概念。
API簡介
網(wǎng)絡和Internet服務的典型用戶傾向于根據(jù)屏幕、鍵盤、監(jiān)視器等來考慮計算機接口。這些接口是系統(tǒng)與人類用戶交換信息的可見手段,并且近年來它們發(fā)展迅速。例如,蘋果公司的觸摸屏才出現(xiàn)在十年前,而一代年輕人幾乎不記得這種有用功能存在之前的世界是什么樣。
但是計算中還存在另一種類型的界面,對于日常用戶而言可能更隱藏。界面的另一種類型是軟件程序之間如何通信。多年以來,這個過程一直沒有得到很好的說明,因為程序員發(fā)明了所謂的進程間通信(IPC)協(xié)議。貝爾實驗室的早期操作系統(tǒng)Unix,現(xiàn)在作為Apple iOS和Android的基礎,使IPC設計更加容易,但它們是非標準的。
到2000年,業(yè)界決定將這些軟件到軟件的接口變得更加開放和標準。這樣的技術決定成為我們現(xiàn)在稱為應用程序編程接口或更常見的API的起源。認識到API提供了一個標準接口,通過該接口兩個軟件程序(通常也稱為進程)可以進行通信,共享消息或托管共享內(nèi)存。
更具體地說,API是使軟件服務可用于工作負載或應用程序以進行雙向通信和消息共享的接口。 API也通常用于在不同進程之間共享內(nèi)存。 API本質上是無狀態(tài)的,并且通常包含完成交易所需的所有信息,這與Web表單不同,Web表單可能需要多個交易來進行用戶注冊等過程。
API安全基礎
圖1.通用API模型
Unix操作系統(tǒng)IPC
大約半個世紀前,貝爾實驗室的研究人員肯·湯姆森(Ken Thomson)和丹尼斯·里奇(Dennis Ritchie)發(fā)起了一個項目,目的是構建一種在AT&T內(nèi)部使用的多任務操作系統(tǒng)。盡管起初目標相對溫和,但從那時起,他們生產(chǎn)的所謂的Unix軟件和相關的設計理念一直是幾乎所有成功的商業(yè)操作系統(tǒng)的技術基礎。 Linux和Android是直接派生產(chǎn)品,而iOS和Windows則受到Unix的巨大影響。
對于Unix操作系統(tǒng),一個重要的設計考慮因素是需要創(chuàng)建IPC機制,該機制允許在計算機程序之間進行數(shù)據(jù)共享和消息傳遞。湯普森和里奇受到當時計算機科學界正在設計的許多快速發(fā)展的技術概念的影響。這包括生產(chǎn)者-消費者模型的出現(xiàn)以及分布式計算的新方法。
可以將Unix IPC方法視為解決API現(xiàn)在所涵蓋的許多問題的早期嘗試。兩者都涉及模塊化,標準化和簡化在協(xié)作過程之間共享數(shù)據(jù)或消息的方式的需求。顯然,最大的不同是現(xiàn)代API受益于Internet帶來的大規(guī)模規(guī)模。最初的Unix工作是本地的和操作系統(tǒng)特定的。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀”爆發(fā)至今,五類新物種登上歷史舞臺
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關稅,能否乘機器人東風翻身?