近日有中国媒体报道,苹果的隔空投送(AirDrop)加密功能被一家中国网络技术公司破解。利用这一功能“传播不当信息”,今后会更容易被当局查出。
中国iPhone用户接收隔空投送的功能已经受到限制
(德国之声中文网)据澎湃新闻等中国媒体报道,北京一家公司突破了苹果AirDrop加密功能,对手机"隔空投送传播不当信息"的案件,能够快速锁定发送者的手机号与邮箱账号。
1月8日,北京市司法局微信公众号"京司观澜"发文称,有苹果手机用户因在北京地铁接收到"带有不当言论的视频"而报案。北京网神洞鉴司法鉴定所接受公安机关的委托对送检手机"隔空投送"功能记录进行提取、分析。
"通过从受害者的iPhone中深挖线索,层层剖析,北京网神洞鉴司法鉴定所最终出具了具有法律效力的司法鉴定意见书。详细分析了接受端和发送端的相关设备,有效帮助警方确定多名涉案嫌疑人。"
司法局认为,此案的司法鉴定突破了AirDrop匿名溯源的技术难题,提升了案件侦破的效率和准确性,"防止了不当言论的进一步传播和潜在的恶劣影响"。
北京司法局称有人在地铁“传播 不当信息”
中国用户"隔空投送"已受限
苹果的AirDrop允许用户在没有互联网连接的情况下,向附近的苹果设备发送内容,这些内容经过编码,其他人无法查看。该服务在2019年香港"返送中"抗议活动期间被参与者广泛使用。
2022年10月的北京四通桥抗议事件发生之后,有许多网民尝试在公共场所使用iPhone的隔空投送功能来传播抗议标语和图片。
数周后的2022年11月中旬,苹果公司对中国iPhone用户使用这一功能进行了限制。苹果公司在发布AirDrop功能更新后,在中国销售的iPhone的AirDrop被设定为默认关闭,用户无法设置对所有人长期开启,每次打开最长时间为10分钟,随后会自动关闭。由此iPhone的中国用户几乎不可能再收到来自陌生人的意外文件。
突破了什么?
对北京司法局发布的这一消息,有微博用户说:"全世界这么多人用苹果手机,好像是只有中国人被说用这种功能来做不好的事,就很奇怪。"
"一段视频音频,一张图片,甚至一句话就把某些人吓死了?这么不堪一击吗?"更有人嘲笑这是"捂嘴第一"、"管人这一块谁都比不过"。
有熟悉IT的人士在读了司法局讲述的技术难题被攻克的细节后指出,"这根本不是破解,是把所有人的手机号和邮箱都拿去用了。""我以为是怎么破解了,原来是把所有明文手机号数据给这个公司做了个字典。"
还有人直接支招:"最简单的规避方法是手机不插电话卡,或者使用非国区(中国之外)苹果ID。"
苹果公司没有在第一时间回应法新社有关这一消息的问询。北京司法局的贴文中没有提及是否有人因利用这一新技术的司法鉴定而被拘捕或治罪。
-->
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_rightside": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_duturandom": {
"html":`
`,
"script":[]
}
, "gg_square": {
"html":`
`,
"script":[]
}
, "gg_topbanner": {
"html":`
`,
"script":[]
}
, "gg_middlesquare": {
"html":`
`,
"script":[]
}
, "gg_dutu": {
"html":`
`,
"script":[]
}
, "gg_botline": {
"html":``,
"script":[]
}
, "gg_dututop": {
"html":`
`,
"script":[]
}
, "gg_shipintop": {
"html":`
`,
"script":[]
}
, "gg_inContent": {
"html":`
`,
"script":[]
}
, "gg_shipinrandom": {
"html":``,
"script":[]
}
, "gg_sideSticky": {
"html":`
`,
"script":[]
}
, "gg_bottombanner": {
"html":`
`,
"script":[{"type":"text/javascript","src":"//widgets.outbrain.com/outbrain.js","async":"async"}]
}
, "gg_marquee": {
"html":`
`,
"script":[]
}
}
const adEnv={
"gg_header": {
"html":``,
"script":[{"type":"text/javascript","exec":` var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; var pbjs = pbjs || {}; pbjs.que = pbjs.que || []; `},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-hb/adn.wnx2.js","async":""},{"type":"text/javascript","src":"https://adncdnend.azureedge.net/adn-video/WenxuecityPlayer.js","async":"async"}]
}
}
const wxcEnv = {
"base":{
"exe":[],
"src":[
{"src": "/news/js/recommendednews.js","defer":"true"},
{"src":"/js/wxcFunc.js","defer":"true"}
]
},
"func":{
"exe":[
//展示评论
'function showMoreComments(){let n = 8;for(let i=0;i
2){dom.hide();}}$("#showallcomment").show();$("#showlesscomment").hide();};hideComments();',
],
"src":[
//图片,搜索,QR code
{"src": "/news/js/view.js?v=05132024"},
//计数器
{"src":"//count.wenxuecity.com/service/count/script/do.php?type=news&id=125361401&n=0&out=jsval","defer":"true"},
]
}
}
function wxcCode(){
wxcEnv.base.exe.forEach(x=>{
let tag = buildAdcode(x);
document.head.append(tag);
})
wxcEnv.base.src.forEach(src => {
let tag = buildSrc(src)
document.head.append(tag);
});
wxcEnv.func.exe.forEach(x=>{
let tag = buildAdcode(x);
document.body.append(tag);
})
wxcEnv.func.src.forEach(src => {
let tag = buildSrc(src)
document.body.append(tag);
});
}
function adcode(){
let adkey = Object.keys(ads);
adkey.forEach(x=>{
let code = ads[x].html;
let div = document.getElementById(x);
if(div)div.innerHTML = code;
ads[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.body.append(tag);
}else{
let tag = buildSrc(s);
document.body.append(tag);
}
})
})
}
function baseCode(){
let baseKeys = Object.keys(adEnv);
baseKeys.forEach(x=>{
adEnv[x].script.forEach(s=>{
if(Object.keys(s).indexOf('src')===-1){
let tag = buildAdcode(s.exec);
document.head.append(tag);
}else{
let tag = buildSrc(s);
document.head.append(tag);
}
})
})
}
function buildAdcode(script){
let tag = document.createElement('script');
tag.innerHTML = script;
return tag;
}
function buildSrc(obj){
let keys = Object.keys(obj);
let tag = document.createElement("script");
keys.forEach(key=>{
tag.setAttribute(key, obj[key]);
})
return tag ;
}