Faits:
Faits:
A. A._, ressortissant yéménite né en 1948, se trouve en détention préventive depuis le 8 janvier 2004, sous l'inculpation de participation à une entreprise criminelle, dans le cadre d'une enquête ouverte par le Ministère public de la Confédération (MPC). Sa détention a été confirmée le lendemain par le Juge d'instruction fédéral (JIF).
A. A._, ressortissant yéménite né en 1948, se trouve en détention préventive depuis le 8 janvier 2004, sous l'inculpation de participation à une entreprise criminelle, dans le cadre d'une enquête ouverte par le Ministère public de la Confédération (MPC). Sa détention a été confirmée le lendemain par le Juge d'instruction fédéral (JIF).
B. Saisi d'une demande de mise en liberté formée le 29 octobre 2004, le JIF l'a rejetée le 5 novembre 2004: le numéro de téléphone portable de A._ figurait dans la mémoire d'un appareil appartenant à l'un des auteurs de l'attentat de Riyad le 12 mai 2003. Entre mai et juillet 2003, A._ avait eu des contacts avec B._, lui-même lié à des membres du réseau Al Qaida, afin de lui fournir un faux passeport; les deux hommes avaient communiqué par SMS le 9 mai 2003, ainsi que le jour des attentats de Riyad. Il ressortait des écoutes téléphoniques qu'il avait effectivement proposé un tel passeport, B._ ayant été arrêté au Yémen à mi-juillet 2003. Plus généralement, A._ était soupçonné de faire partie d'un réseau fournissant de faux documents à des requérants d'asile ou des membres d'organisations terroristes. Des commissions rogatoires étaient en cours au Yémen, et les confrontations - notamment avec un comparse nommé C._ - commencées le 21 octobre 2004, devaient se poursuivre, de sorte que le risque de collusion persistait. Le risque de fuite existait également compte tenu du statut précaire de l'intéressé en Suisse, de la gravité des charges et des relations du prévenu avec des réseaux internationaux. En l'état, le principe de la proportionnalité était respecté, mais la question pourrait être réexaminée si des difficultés devaient apparaître dans l'exécution des commissions rogatoires.
Par arrêt du 1er décembre 2004, la Cour des plaintes du Tribunal pénal fédéral a rejeté le recours formé contre cette décision. En dépit des dénégations de l'inculpé (il contestait l'échange de SMS avec B._), les charges étaient suffisantes. Le prévenu avait eu accès au dossier. Les risques de collusion et de fuite ont été confirmés.
Par arrêt du 1er décembre 2004, la Cour des plaintes du Tribunal pénal fédéral a rejeté le recours formé contre cette décision. En dépit des dénégations de l'inculpé (il contestait l'échange de SMS avec B._), les charges étaient suffisantes. Le prévenu avait eu accès au dossier. Les risques de collusion et de fuite ont été confirmés.
C. A._ forme recours contre ce dernier arrêt, dont il demande l'annulation, assortie de sa mise en liberté immédiate. Il requiert l'assistance judiciaire.
La Cour des plaintes n'a pas formulé d'observations. Le JIF conclut au rejet du recours en se référant à ses décisions et prises de position. Le MPC se réfère à ses observations du 15 novembre 2004 devant la Cour des plaintes.
Le recourant a répliqué, persistant dans ses motifs et conclusions.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. Selon l'art. 33 al. 3 let. a LTPF, jusqu'à l'entrée en vigueur de la révision totale de la loi fédérale d'organisation judiciaire du 16 décembre 1943, les arrêts de la Cour des plaintes relatifs aux mesures de contrainte sont sujets à recours, dans les trente jours, auprès du Tribunal fédéral.
La décision par laquelle le Tribunal pénal fédéral maintient la détention préventive ordonnée pour les besoins d'une procédure pénale conduite par le MPC, constitue une mesure de contrainte attaquable devant la première Cour de droit public du Tribunal fédéral selon l'<ref-law>, dans sa teneur du 23 mars 2004 (RO 2004 p. 2343). Le recours portant sur la détention préventive est ainsi recevable.
La décision par laquelle le Tribunal pénal fédéral maintient la détention préventive ordonnée pour les besoins d'une procédure pénale conduite par le MPC, constitue une mesure de contrainte attaquable devant la première Cour de droit public du Tribunal fédéral selon l'<ref-law>, dans sa teneur du 23 mars 2004 (RO 2004 p. 2343). Le recours portant sur la détention préventive est ainsi recevable.
2. Le recourant prétend qu'en dépit de la gravité des faits qui lui sont reprochés, les charges ne seraient pas suffisantes pour justifier un maintien en détention. Ni le JIF, ni le MPC ne lui auraient donné, dans le plus bref délai imposé par l'art. 6 par. 3 let. a CEDH, d'indications précises à ce sujet.
2.1 Le recourant n'est pas autorisé, dans le recours consacré à sa détention, à critiquer la manière dont l'instruction est menée; il ne saurait se plaindre, dans ce cadre, d'un accès insuffisant aux pièces du dossier, ou reprocher aux autorités de poursuite de n'avoir que tardivement formulé des charges précises à son encontre. Même si cela peut avoir une incidence sur les droits de la défense, il ne s'agit pas pour autant d'une mesure de contrainte comme le sont par exemple une détention ou un séquestre (cf. FF 2001 4030-4031; <ref-ruling> consid. 1 concernant l'art. 105bis al. 2 PPF; cf. aussi l'arrêt 1S.1/2004 du 9 juillet 2004, consid. 2).
2.2 Dans la mesure où l'argumentation du recourant peut être comprise comme se rapportant à la procédure de détention, elle apparaît mal fondée.
La décision du JIF indique en effet de manière détaillée en quoi consistent les soupçons, et sur quels éléments de fait ceux-ci reposent. Le recourant était dès lors à même de recourir en parfaite connaissance de cause. Il a encore eu l'occasion de répliquer aux arguments détaillés du JIF. Pour sa part, la Cour des plaintes s'est exprimée au sujet de l'accès au dossier, en estimant que le recourant avait eu connaissance de ses propres procès-verbaux d'auditions et de confrontations, des transcriptions des écoutes téléphoniques, des rapports de la police judiciaire ainsi que des extraits des déclarations qui le mettent en cause. Ces considérations ne sont pas contestées par le recourant. Celui-ci a donc eu connaissance, comme l'exigent les art. 5 par. 4 CEDH, 29 al. 2 et 31 Cst., de toutes les pièces sur lesquelles les autorités se sont fondées pour prononcer son maintien en détention (cf. JAAC 2002 n° 108 p. 1296).
La décision du JIF indique en effet de manière détaillée en quoi consistent les soupçons, et sur quels éléments de fait ceux-ci reposent. Le recourant était dès lors à même de recourir en parfaite connaissance de cause. Il a encore eu l'occasion de répliquer aux arguments détaillés du JIF. Pour sa part, la Cour des plaintes s'est exprimée au sujet de l'accès au dossier, en estimant que le recourant avait eu connaissance de ses propres procès-verbaux d'auditions et de confrontations, des transcriptions des écoutes téléphoniques, des rapports de la police judiciaire ainsi que des extraits des déclarations qui le mettent en cause. Ces considérations ne sont pas contestées par le recourant. Celui-ci a donc eu connaissance, comme l'exigent les art. 5 par. 4 CEDH, 29 al. 2 et 31 Cst., de toutes les pièces sur lesquelles les autorités se sont fondées pour prononcer son maintien en détention (cf. JAAC 2002 n° 108 p. 1296).
3. Selon l'art. 44 PPF, un mandat d'arrêt peut être délivré lorsqu'il existe un risque imminent de fuite (art. 44 ch. 1 PPF), ou qu'il y a nécessité d'assurer le résultat de l'instruction (risque d'altération des preuves ou de collusion, art. 44 ch. 2 PPF). Préalablement, il doit exister à l'encontre de l'inculpé des présomptions graves de culpabilité (charges suffisantes; art. 44 in initio). Cela correspond aux exigences de légalité, d'intérêt public et de proportionnalité découlant de la liberté personnelle (art. 10 al. 2, 31 al. 1 et 36 al. 1 Cst.) et de l'art. 5 CEDH.
3.1 L'intensité des charges susceptibles de justifier un maintien en détention préventive n'est pas la même aux divers stades de l'instruction pénale; si des soupçons encore peu précis peuvent être suffisants dans les premiers temps de l'enquête, la perspective d'une condamnation doit apparaître vraisemblable après l'accomplissement des actes d'instruction envisageables.
3.2 En l'occurrence, l'enquête n'en est certes plus à ses débuts; elle n'est pas pour autant achevée puisque, selon le JIF, de nombreuses investigations sont encore en cours. Il s'agit notamment de la suite des confrontations entre les prévenus, ainsi que des différentes commissions rogatoires, en particulier au Yémen. L'enquête se situe ainsi dans une phase intermédiaire, de sorte que si l'on ne saurait, à ce stade, se contenter de vagues indices, des preuves définitives ne sont pas non plus exigibles.
3.3 Le recourant conteste que les trois SMS reçus de B._, ainsi que la réponse à ces messages - qui pourrait résulter d'une erreur de manipulation - puissent constituer, après dix mois d'enquête, des éléments suffisants. Les écoutes téléphoniques ne donneraient pas non plus l'impression de conversations entre sympathisants d'un réseau terroriste. Le recourant n'offrait qu'une collaboration limitée à la confection de faux documents. Il n'avait d'ailleurs rien entrepris dans ce sens, entre la dernière conversation téléphonique et l'arrestation de B._. Le recourant se serait vu contraint de nier en bloc, compte tenu de l'attitude du MPC qui ne lui communiquerait les preuves et informations qu'au compte-gouttes.
3.4 Contrairement à ce que soutient le recourant, la Cour des plaintes a répondu de manière circonstanciée à ces objections. Les relations du recourant avec C._ et B._ constituent de sérieux indices. Il en va de même des SMS échangés les 9 et 12 mai 2003, soit trois jours avant et le jour même de l'attentat de Riyad, dans lequel B._ serait impliqué. La thèse d'une réponse accidentelle par SMS n'est guère plausible, dès lors qu'il y a eu ultérieurement des conversations téléphoniques entre le recourant et B._, portant sur les modalités de confection de faux documents destinés à faciliter la venue en Suisse de B._. Des documents officiels vierges et des tampons ont été retrouvés chez le recourant lors de son arrestation. Lors d'une confrontation, C._ a maintenu, en présence du recourant, que celui-ci connaissait l'implication de B._ dans des attentats. A ce stade de l'enquête, il existe des présomptions suffisantes de culpabilité, s'agissant d'une infraction à l'<ref-law>.
3.4 Contrairement à ce que soutient le recourant, la Cour des plaintes a répondu de manière circonstanciée à ces objections. Les relations du recourant avec C._ et B._ constituent de sérieux indices. Il en va de même des SMS échangés les 9 et 12 mai 2003, soit trois jours avant et le jour même de l'attentat de Riyad, dans lequel B._ serait impliqué. La thèse d'une réponse accidentelle par SMS n'est guère plausible, dès lors qu'il y a eu ultérieurement des conversations téléphoniques entre le recourant et B._, portant sur les modalités de confection de faux documents destinés à faciliter la venue en Suisse de B._. Des documents officiels vierges et des tampons ont été retrouvés chez le recourant lors de son arrestation. Lors d'une confrontation, C._ a maintenu, en présence du recourant, que celui-ci connaissait l'implication de B._ dans des attentats. A ce stade de l'enquête, il existe des présomptions suffisantes de culpabilité, s'agissant d'une infraction à l'<ref-law>.
4. Le recourant conteste le risque de collusion avec B._: ce dernier est détenu au Yémen, vraisemblablement pour longtemps compte tenu de charges qui pèsent sur lui, et les autorités répressives locales seraient à même d'empêcher toute collusion.
4.1 Le recourant perd de vue que le risque de fuite a lui aussi été affirmé par la Cour des plaintes: requérant d'asile débouté en première instance, il se voit reprocher des faits graves; ses chances de pouvoir demeurer régulièrement en Suisse sont faibles, de sorte qu'il est à craindre, en dépit de sa nombreuse famille qui se trouve en Suisse, qu'il ne prenne la fuite pour se soustraire à la procédure, en profitant de ses contacts dans divers pays et en utilisant, le cas échéant, de faux documents.
Or, le recourant ne conteste nullement l'arrêt attaqué sur ce point, et les considérations qui précèdent échappent d'ailleurs à toute critique. L'affirmation du risque de fuite pourrait dès lors dispenser d'examiner le risque de collusion. Il y a toutefois lieu de retenir à ce sujet ce qui suit.
4.2 Le maintien du prévenu en détention peut être justifié par les besoins de l'instruction en cours, par exemple lorsqu'il est à craindre que l'intéressé prenne contact avec des témoins ou d'autres prévenus pour tenter d'influencer leurs déclarations. Ce risque, inhérent à toute procédure pénale en cours, doit présenter une certaine vraisemblance. L'autorité doit ainsi indiquer, au moins dans les grandes lignes et sous réserve des opérations à conserver secrètes, quels actes d'instruction elle doit encore effectuer, et en quoi la libération du prévenu en compromettrait l'accomplissement (cf. <ref-ruling> consid. 2b p. 33/ 34, 116 Ia 149 consid. 5 p. 152).
4.3 La Cour des plaintes s'est également prononcée à ce sujet, en expliquant que des confrontations devaient encore avoir lieu, notamment avec C._, dont les déclarations apparaissent comme un élément à charge. De même, la commission rogatoire adressée au Yémen porte sur les rapports entre B._ et les inculpés en Suisse. L'un et l'autre de ces actes d'instruction pourraient être déterminants pour la suite de la procédure, et il est à craindre que le recourant, une fois remis en liberté, n'en profite pour tenter d'entrer en contact d'une manière ou d'une autre avec les personnes à entendre, même si celles-ci sont détenues, et obtenir d'elles des déclarations qui lui soient favorables. Le risque de collusion existe bel et bien.
4.3 La Cour des plaintes s'est également prononcée à ce sujet, en expliquant que des confrontations devaient encore avoir lieu, notamment avec C._, dont les déclarations apparaissent comme un élément à charge. De même, la commission rogatoire adressée au Yémen porte sur les rapports entre B._ et les inculpés en Suisse. L'un et l'autre de ces actes d'instruction pourraient être déterminants pour la suite de la procédure, et il est à craindre que le recourant, une fois remis en liberté, n'en profite pour tenter d'entrer en contact d'une manière ou d'une autre avec les personnes à entendre, même si celles-ci sont détenues, et obtenir d'elles des déclarations qui lui soient favorables. Le risque de collusion existe bel et bien.
5. Pour le surplus, le recourant ne prétend pas que l'enquête aurait connu des retards injustifiés, ou que la durée de la détention préventive de rapproche de la peine concrètement encourue. Le principe de la proportionnalité a au contraire fait l'objet d'une attention particulière de la part du MPC et du JIF. Ce dernier a considéré que la durée de la détention était "non négligeable", et qu'il conviendrait de réexaminer d'office les conditions de détention au cas où l'exécution des commissions rogatoires devrait apparaître problématique. Le MPC a lui aussi considéré que si l'instruction ne devait pas être close d'ici au 31 mars 2005, il y aurait lieu de s'interroger sur les conditions d'une libération provisoire, moyennant la notification préalable des charges retenues et l'instauration de mesures de contrôle.
5. Pour le surplus, le recourant ne prétend pas que l'enquête aurait connu des retards injustifiés, ou que la durée de la détention préventive de rapproche de la peine concrètement encourue. Le principe de la proportionnalité a au contraire fait l'objet d'une attention particulière de la part du MPC et du JIF. Ce dernier a considéré que la durée de la détention était "non négligeable", et qu'il conviendrait de réexaminer d'office les conditions de détention au cas où l'exécution des commissions rogatoires devrait apparaître problématique. Le MPC a lui aussi considéré que si l'instruction ne devait pas être close d'ici au 31 mars 2005, il y aurait lieu de s'interroger sur les conditions d'une libération provisoire, moyennant la notification préalable des charges retenues et l'instauration de mesures de contrôle.
6. Sur le vu de ce qui précède, le recours doit être rejeté. Le recourant a demandé l'assistance judiciaire, et les conditions en sont réunies. Me Wiedler Friedmann est désigné comme avocat d'office du recourant, rétribué par la caisse du Tribunal fédéral. Il n'est pas perçu d'émolument judiciaire.

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. La demande d'assistance judiciaire est admise. Me Ralph Wiedler Friedmann est désigné comme avocat d'office, et une indemnité de 1500 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral.
2. La demande d'assistance judiciaire est admise. Me Ralph Wiedler Friedmann est désigné comme avocat d'office, et une indemnité de 1500 fr. lui est allouée à titre d'honoraires, à payer par la caisse du Tribunal fédéral.
3. Il n'est pas perçu d'émolument judiciaire.
3. Il n'est pas perçu d'émolument judiciaire.
4. Le présent arrêt est communiqué en copie au mandataire du recourant, au Ministère public de la Confédération, à l'Office des juges d'instruction fédéraux et à la Cour des plaintes du Tribunal pénal fédéral.
Lausanne, le 27 janvier 2005
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le président: Le greffier: