根據澳洲當地媒體的報道,在澳大利亞墨爾本一名未成年人(青少年)因為從蘋果服務器竊取數據而遭到逮捕,這名少年的律師表示,他之所以有如此行為是因為對蘋果公司的熱愛,希望在這家公司工作。
該青少年因為一年內多次訪問蘋果后端網絡,而且下載了90GB的信息,這些信息涉及到安全文件和客戶賬戶數據等等,目前他已經受到刑事指控。
在竊取數據的過程中,他開發了多個后門程序并規避警方的檢測,直到警方發現蛛絲馬跡之后突襲了他的家,發現了被盜文件和大量證據。據悉這些文件都放在叫做“hacky hack hack”的文件夾當中。
目前該青少年已經認罪,法庭宣判要等到下個月。蘋果公司并未對這一事件進行回應。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
數據
+關注
關注
8文章
7237瀏覽量
90896 -
蘋果
+關注
關注
61文章
24523瀏覽量
202814 -
服務器
+關注
關注
12文章
9646瀏覽量
87150
發布評論請先 登錄
相關推薦
熱點推薦
鴻蒙應用元服務開發-Account Kit未成年人模式訂閱和處理用戶信息變更
一、概述
通過訂閱用戶信息變更,您可以接收有關用戶及其賬戶的重要更新。當用戶取消元服務的授權信息、注銷華為賬號時,華為賬號服務器會發送通知到元服務,元服務可以根據通知消息進行自身業務處理。
二、用戶信息變更事件介紹
三、訂閱用戶信息變更
訂閱步驟如下:
1.登錄華為開發者聯盟,選擇“管理中心 > API服務 > API庫”。
2.在App Services找到RISC。
3.點擊啟用按鈕,選擇您的項目,點擊確定。
4.點擊訂閱通知按鈕,在彈窗中配置回調地址及訂閱范圍。
說明
回調地址:在開啟訂閱通知后,若華為用戶信息存在變更,會通過發送消息到該地址。
訂閱范圍:訂閱的用戶信息變更事件,詳見用戶信息變更事件介紹。
四、處理通知消息
華為賬號服務器向元服務投遞消息。元服務接收到消息后需要先對消息頭中的令牌進行驗簽,確保消息的完整有效性后解析并獲取用戶信息變更事件詳情。具體步驟如下:
1.驗證消息頭中的令牌簽名。
您可通過任何JWT庫(例如:jwt.io)對其進行解析與驗證。
無論使用哪種庫,您均需完成如下操作:
調用接口(https://risc.cloud.huawei.com/v1beta/public/risc/.well-known/risc-configuration),獲取發行者標識(issuer)與簽名密鑰證書URI(jwks_uri)。
通過依賴的JWT庫,對消息頭中的令牌進行解析,獲取簽名的KeyId。
通過簽名的KeyId,從簽名密鑰證書URI中獲取到JWT簽名的公鑰。
校驗JWT簽名中的aud與訂閱用戶信息變更中提供的Client ID一致。
校驗JWT簽名中的issuer與發行者標識(issuer)一致。
具體驗簽邏輯,請參考如下示例代碼:
Maven依賴配置
<dependencies>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.9.3</version> <!--此處替換為您項目需要的版本-->
</dependency>
<dependency>
<groupId>com.auth0</groupId>
<artifactId>jwks-rsa</artifactId>
<version>0.21.2</version> <!--此處替換為您項目需要的版本-->
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-impl</artifactId>
<version>0.11.5</version> <!--此處替換為您項目需要的版本-->
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt-jackson</artifactId>
<version>0.11.5</version> <!--此處替換為您項目需要的版本-->
</dependency>
</dependencies>
Java驗簽代碼示例
import com.auth0.jwk.JwkProvider;
import com.auth0.jwk.UrlJwkProvider;
import com.github.benmanes.caffeine.cache.CacheLoader;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.LoadingCache;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Header;
import io.jsonwebtoken.IncorrectClaimException;
import io.jsonwebtoken.JwsHeader;
import io.jsonwebtoken.Jwt;
import io.jsonwebtoken.JwtParser;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SigningKeyResolver;
import io.jsonwebtoken.security.SignatureException;
import org.checkerframework.checker.nullness.qual.NonNull;
import org.checkerframework.checker.nullness.qual.Nullable;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.Key;
import java.security.PublicKey;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
public class RiscDemo {
public static void main(String[] args) {
// 消息請求頭中Authorization: Bearer <token>中的<token>
String token = \"
<token>
\";
// Client ID
String clientId = \"
<Client ID>
\";
Jwt<?, Object> jwt = validateSecurityEventToken(token, clientId);
if (Objects.isNull(jwt)) {
// 驗簽失敗,進行自己邏輯處理
} else {
// 驗簽成功,進行自己邏輯處理
}
}
/**
* 對Authorization頭域中的token進行驗簽
*
* @param token 消息請求頭中Authorization: Bearer <token>中的<token>
* @param clientId Client ID
*
* @Return 返回為null,則表示驗簽失敗,否則表示驗證成功
*/
public static <H extends Header<H>, B> Jwt<H, B> validateSecurityEventToken(String token, String clientId) {
Jwt<H, B> jwt = null;
try {
/**
* 公開配置信息地址:https://risc.cloud.huawei.com/v1beta/public/risc/.well-known/risc-configuration
* 公開配置信息中的issuer值
*/
String issuer = \"id.cloud.huawei.com\";
// 公開配置信息中的jwks_uri值
String jwksUri = \"https://risc.cloud.huawei.com/v1beta/public/risc/certs\";
// 獲取公鑰信息
JwkProvider huaweiCerts = new UrlJwkProvider(new URL(jwksUri), null, null);
LoadingCache<String, PublicKey> cache = Caffeine.newBuilder()
.expireAfterWrite(1, TimeUnit.DAYS)
.build(new CacheLoader<String, PublicKey>() {
@Override
public @Nullable PublicKey load(@NonNull String key) throws Exception {
return huaweiCerts.get(key).getPublicKey();
}
});
SigningKeyResolver signingKeyResolver = new SigningKeyResolver() {
private PublicKey getPublicKey(JwsHeader<?> jwsHeader) {
try {
return cache.get(jwsHeader.getKeyId());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public Key resolveSigningKey(JwsHeader jwsHeader, Claims claims) {
return getPublicKey(jwsHeader);
}
@Override
public Key resolveSigningKey(JwsHeader jwsHeader, String s) {
return getPublicKey(jwsHeader);
}
};
// 驗證并解析消息內容
JwtParser parser = Jwts.parserBuilder()
.requireIssuer(issuer)
.requireAudience(clientId)
.setAllowedClockSkewSeconds(60)
.setSigningKeyResolver(signingKeyResolver)
.build();
jwt = parser.parse(token);
} catch (IncorrectClaimException e) {
// 消息的claim無效,針對異常進行處理(如:日志記錄)
e.printStackTrace();
} catch (SignatureException e) {
// 驗簽失敗,針對異常進行處理(如:日志記錄)
e.printStackTrace();
} catch (MalformedURLException e) {
// 無效的jwksUri,檢查傳入的jwksUri是否與https://risc.cloud.huawei.com/v1beta/public/risc/.well-known/risc-configuration返回jwks_uri一致
e.printStackTrace();
} catch (Exception e) {
// 其他異常,業務自行處理
e.printStackTrace();
}
return jwt;
}
}
2.處理消息體。
消息體格式如下
{
\"aud\": \"<
開發者Client ID
>\",
\"iss\": \"id.cloud.huawei.com\",
\"iat\": 1727619834,
\"jti\": \"6672ed7d5c5e4c3c92f343ecac40f326\",
\"events\": {
\"https://schemas.openid.net/secevent/risc/event-type/account-purged\": {
\"subject\": {
\"sub\": \"<
觸發事件用戶的UnionID
>\",
\"subject_type\": \"iss_sub\",
\"extra\": \"<
觸發事件用戶的OpenID
>\",
\"iss\": \"id.cloud.huawei.com\"
}
}
}
}
其中,各字段含義如下:
本文主要引用參考HarmonyOS官方網站
發表于 04-16 17:43
鴻蒙應用元服務開發-Account Kit概述
。Account Kit提供的SampleCode示例工程體現了Account Kit提供的登錄、授權頭像昵稱、快速驗證手機號、收貨地址、發票抬頭、未成年人模式等特性,可參考該工程進行應用的相關內容開發。
一
發表于 03-31 12:08
蘋果最新消息:蘋果補繳近110億歐元欠稅 蘋果春季“廉價版”iPhone新機將量產
給大家帶來兩個蘋果公司的新消息: 蘋果補繳近110億歐元欠稅? 在愛爾蘭;蘋果公司持續八年時間的稅務訴訟畫下句號,蘋果補繳近110億歐元欠稅 。 在2024年9月,歐洲法院裁定
谷歌和Meta秘密廣告交易被歐洲監管機構調查
據外媒報道;歐洲監管機構認為Meta和谷歌的一個廣告營銷項目違反了谷歌公司制定的禁止向未成年人投放個性化廣告的規則,目前已經被歐盟委員會(European Commission)官員調查。歐洲監管
巴西公司Gradiente訴蘋果商標
據外媒報道,一家巴西公司Gradiente繼續爭奪著“iPhone”商標的所有權,在巴西市場和蘋果公司繼續展開法律拉鋸戰。 Gradiente在?2000 年在巴西市場推出名為“Gradiente
蘋果最新消息:蘋果要徹底封殺3.5mm接口 罕見!蘋果首次曝光中國開發者收入
蘋果公司的一舉一動都牽動了很多從業者的心;蘋果公司從iPhone7手機開始正式取消了3.5mm耳機孔。蘋果雖然取消了3.5mm耳機孔但是還是有配套的Lightning轉3.5耳機轉接頭銷售,現在多國
蘋果新財季成績單出爐 蘋果大中華區營收仍在下降
蘋果2024 財年第四季度業績數據已經公布。蘋果公司的營收實現6%的增長達到949.3億美元,財務業績表現還是不錯。在2024財年第4財季,蘋果公司實現營收949.3億美元,同比增長6
蘋果大動作 蘋果將收購全球星20%股份 蘋果同意收購Pixelmator
蘋果公司近期動作頻頻,我們來看看蘋果公司近期想收購的兩家公司,一個是衛星通訊公司Globalstar(全球星);一個是軟件開發公司Pixel
蘋果正式推送iOS 18.1版更新
今日,蘋果公司正式發布了iOS 18.1正式版更新,為海外iPhone用戶解鎖了多項創新功能。其中,尤為引人注目的Apple Intelligence系統已正式登陸iPhone 15 Pro及iPhone 16全系等高端機型,這標志著蘋果公司在人工智能領域取得了重要進展。
蘋果十年砸7000億回購股票
數據統計分析顯示;蘋果公司長期以來一直持續堅持回購自家股份;近10年來蘋果公司的股票數量持續下降;自2013年以來,蘋果公司共計回購了價值7006.1億美元的普通股,已發行股票數量較峰
蘋果公司新專利曝光,通過心跳數據解鎖設備
蘋果公司再次引領科技潮流,最新曝光的專利揭示了其探索利用心跳數據解鎖iPhone等設備的創新構想——Heart ID。這一技術突破,標志著蘋果在生物識別領域的又一次大膽嘗試,繼Touch ID指紋解鎖與Face ID面部識別之后
蘋果大中華區營收下滑 蘋果中國市場銷售額猛降
蘋果公司取得了非常不錯的經營成績,特別是在消費電子市場降溫的大背景下,日前蘋果公布截至6月29日的2024財年第三財季財報統計數據,蘋果公司實現營收857.77億美元,同比增長4.9%
蘋果最新消息 韋德布什上調蘋果目標價 庫克:將繼續在AI技術上投資
我們來看看蘋果公司近期最新消息: 就在全球資本動蕩之際,投行D.A.Davidson將蘋果公司目標價上調至260美元;而此前給出的目標價只有230美元;說明韋德布什投行很看好蘋果公司;特別是蘋
蘋果公司深耕中國市場,Vision Pro頭顯引領未來科技潮流
在全球科技巨頭的版圖中,中國市場始終占據著舉足輕重的地位,尤其是對于以創新和技術為驅動力的蘋果公司而言,中國不僅是其高端產品的重要熱銷地,更是其營銷策略中不可或缺的一環。近年來,從庫克多次親自訪華,到為各大城市旗艦店的開幕站臺,蘋果公司以實際行動傳遞著對中國市場的高度重視
蘋果公司澄清舊機型AI功能支持謠言,強調技術普惠性
在數字時代的浪潮中,人工智能技術(AI)已經深入滲透到我們生活的方方面面。近日,針對市場上流傳的關于蘋果舊機型不支持AI功能的傳聞,蘋果公司官方給予了明確的回應,明確指出所有兼容最新iOS系統的設備均能享受AI帶來的便利,這并非一種營銷策略,而是
評論