根据澳洲当地媒体的报道,在澳大利亚墨尔本一名未成年人(青少年)因为从苹果服务器窃取数据而遭到逮捕,这名少年的律师表示,他之所以有如此行为是因为对苹果公司的热爱,希望在这家公司工作。
该青少年因为一年内多次访问苹果后端网络,而且下载了90GB的信息,这些信息涉及到安全文件和客户账户数据等等,目前他已经受到刑事指控。
在窃取数据的过程中,他开发了多个后门程序并规避警方的检测,直到警方发现蛛丝马迹之后突袭了他的家,发现了被盗文件和大量证据。据悉这些文件都放在叫做“hacky hack hack”的文件夹当中。
目前该青少年已经认罪,法庭宣判要等到下个月。苹果公司并未对这一事件进行回应。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数据
+关注
关注
8文章
7264浏览量
92380 -
苹果
+关注
关注
61文章
24557浏览量
204825 -
服务器
+关注
关注
13文章
9859浏览量
88407
发布评论请先 登录
相关推荐
热点推荐
看点:苹果不是美国最赚钱公司了 微软再裁员超过300人 我国植入式脑机接口启动临床入组
给大家带来一些行业资讯: 苹果不是美国最赚钱公司了 现在苹果公司已经不是美国最赚钱公司了;根据《财富》杂志发布的2025年美国500强排行榜榜单数据
鸿蒙应用元服务开发-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
苹果盘中跌超4% 苹果一夜蒸发约8000亿元
或者因为受到苹果公司在2024年第四季度中国市场表现不佳,iPhone销量同比下滑18.2%的不利影响,而且华尔街机构Jefferies和Loop Capital均下调苹果评级;Jefferies
苹果技术开发(上海)有限公司成立,注册资本3500万美元
近日,有公开信息显示,苹果技术开发(上海)有限公司已经正式成立。该公司注册资本为3500万美元,涵盖了多项业务领域,其中主要包括软件开发、大数据服务、
苹果最新消息:苹果补缴近110亿欧元欠税 苹果春季“廉价版”iPhone新机将量产
给大家带来两个苹果公司的新消息: 苹果补缴近110亿欧元欠税? 在爱尔兰;苹果公司持续八年时间的税务诉讼画下句号,苹果补缴近110亿欧元欠税 。 在2024年9月,欧洲法院裁定
谷歌和Meta秘密广告交易被欧洲监管机构调查
据外媒报道;欧洲监管机构认为Meta和谷歌的一个广告营销项目违反了谷歌公司制定的禁止向未成年人投放个性化广告的规则,目前已经被欧盟委员会(European Commission)官员调查。欧洲监管
巴西公司Gradiente诉苹果商标
据外媒报道,一家巴西公司Gradiente继续争夺着“iPhone”商标的所有权,在巴西市场和苹果公司继续展开法律拉锯战。 Gradiente在?2000 年在巴西市场推出名为“Gradiente
苹果CEO库克首次现身链博会 库克称没中国就没现在的苹果
第二届中国国际供应链促进博览会于11月26日至11月30日在北京中国国际展览中心(顺义馆)举行。在此次链博会上苹果CEO库克首次现身。 苹果公司首席执行官库克亮相第二届链博会;在苹果公司的展览牌上有
苹果最新消息:苹果要彻底封杀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亿美元的普通股,已发行股票数量较峰
评论